Service Type Selections with the SkySQL DBaaS API
This page is part of MariaDB's Documentation.
The parent of this page is: Launch-Time Selections for the SkySQL DBaaS API
Topics on this page:
Overview
This reference page details how to select service types with the SkySQL DBaaS API for SkySQL.
SkySQL offers databases for Transactions (OLTP and general purpose) and Analytics (OLAP, ad hoc queries and large data) workloads.
Available Service Types
Service Type | Description |
---|---|
| Database services for analytical workloads (OLAP, ad hoc queries and large data) |
| Database services for transactional workloads (OLTP and general purpose) |
REST Client
A REST client can use the SkySQL DBaaS API to query service type selections and choose a service type for a new service.
Query Options with REST Client
A REST client can query the SkySQL DBaaS API for the service type selections.
To see the available service types, use curl
to call the /provisioning/v1/service-types
API endpoint:
$ curl -sS --location \
--header "Authorization: Bearer ${SKYSQL_API_KEY}" \
'https://api.mariadb.com/provisioning/v1/service-types' \
| jq .
[
{
"id": "605de6a4-f247-4bb8-9ca7-20b01895a08c",
"name": "transactional",
"display_name": "Transactions processing",
"description": "Deploy a cloud database for transaction processing with persistent storage, replication, read load balancing and read/write splitting all configured out of the box and ready to go.",
"short_description": "MariaDB Platform for Transactions",
"order": 100
},
{
"id": "4cf4419d-968a-4b10-8529-b4c5a90b9636",
"name": "analytical",
"display_name": "Interactive analytics",
"description": "<p>Deploy a cloud data warehouse for ad hoc, interactive analytics on billions of rows with data stored in a columnar format on low-cost object storage and massively parallel processing architecture.</p>",
"short_description": "MariaDB Platform for Analytics",
"order": 200
}
]
For the service type that you would like to select, extract the name
attribute from the output and provide that value to the /provisioning/v1/services
API endpoint as the service_type
attribute.
Select Option with REST Client
A service type is selected during service launch. When using a REST client, select a service type by calling the /provisioning/v1/services
API endpoint with the service_type
attribute set.
For example, prepare a request body containing the desired service options in a file called request-service.json
:
$ cat > request-service.json <<EOF
{
"service_type": "transactional",
"topology": "es-single",
"provider": "gcp",
"region": "us-central1",
"architecture": "amd64",
"size": "sky-2x8",
"storage": 100,
"nodes": 1,
"version": "10.6.11-6-1",
"name": "skysql-nr-quickstart",
"ssl_enabled": true
}
EOF
Then use curl
to call the /provisioning/v1/services
API endpoint to create (launch) a new database service and save the response to the response-service.json
file:
$ curl -sS --location --request POST \
--header "Authorization: Bearer ${SKYSQL_API_KEY}" \
--header "Accept: application/json" \
--header "Content-type: application/json" \
--data '@request-service.json' \
https://api.mariadb.com/provisioning/v1/services \
| tee response-service.json | jq .
Upon success, the command will return JSON with details about the new service.
Terraform
Terraform can use the SkySQL Terraform provider to choose a service type for a new service.
When using Terraform, select a service type using the service_type
attribute for the skysql_service
resource:
# Create a service
resource "skysql_service" "default" {
service_type = "transactional"
topology = "es-single"
cloud_provider = "gcp"
region = "us-central1"
architecture = "amd64"
size = "sky-2x8"
storage = 100
nodes = 1
version = "10.6.11-6-1"
name = "skysql-nr-quickstart"
ssl_enabled = true
deletion_protection = true
wait_for_creation = true
wait_for_deletion = true
wait_for_update = true
is_active = true
}