Hardware Architecture 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 hardware selections with the SkySQL DBaaS API for SkySQL.
Select SkySQL topologies are available on both AMD64 and ARM64 hardware architectures.
Prices and available instance sizes differ depending on hardware architectures.
You may find that your workload has better price/performance depending on your choice of hardware architecture.
Hardware architectures used for SkySQL topologies are supported by MariaDB Engineering Policy.
Nodes running in AWS with a ARM64 hardware architecture use AWS Graviton processors.
Available Hardware Architectures
Hardware architecture choices are specific to the topology, region, and instance size.
Architecture | Description |
---|---|
| Instances using the AMD64 hardware architecture, which is also known as x86_ |
| Instances using the ARM64 hardware architecture. In AWS, ARM64 instances use AWS Graviton processors. |
REST Client
A REST client can use the SkySQL DBaaS API to query hardware architecture selections and choose a hardware architecture for a new service.
Query Options with REST Client
A REST client can query the SkySQL DBaaS API for the hardware architecture selections for a specific cloud provider and topology.
To see the available hardware architectures for a cloud provider and topology, use curl
to call the /provisioning/v1/cpu-architectures
API endpoint:
$ curl -sS --location \
--header "Authorization: Bearer ${SKYSQL_API_KEY}" \
'https://api.mariadb.com/provisioning/v1/cpu-architectures?provider=gcp&topology=es-single' \
| jq .
[
{
"id": "c6746b68-6f6e-45cf-aaf3-046b267dd956",
"name": "amd64",
"display_name": "AMD64"
}
]
For the hardware architecture 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 architecture
attribute.
Select Option with REST Client
A hardware architecture is selected during service launch. When using a REST client, select a hardware architecture by calling the /provisioning/v1/services
API endpoint with the architecture
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 hardware architecture for a new service. When using Terraform, select a hardware architecture using the architecture
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
}