This topic describes how to select the configuration for an ApsaraDB RDS instance based on your business requirements when you create the instance.
Introduction to RDS editions, storage types, instance families, and storage engines
Before you create an RDS instance, you must select the most cost-effective, stable configuration based on factors such as performance, prices, and workload. The RDS edition, storage type, and instance family that you select affect one another. For more information, see Create an ApsaraDB RDS for MySQL instance.
If you want to create an RDS instance that runs MySQL 8.0, you must select a default storage engine.
RDS editions
ApsaraDB RDS provides the following RDS editions: RDS Basic Edition, RDS High-availability Edition, and RDS Cluster Edition. The following table describes the RDS editions.
RDS edition
Description
Scenario
The database system consists of only a primary RDS instance. Computing is separated from storage.
Read-only RDS instances are not supported.
Personal learning
Microsites
Development and testing environments for small and medium-sized enterprises
The database system consists of a primary RDS instance and a secondary RDS instance. These instances work in high availability (HA) mode and support automatic failover. The secondary RDS instance cannot be directly accessed.
You can create read-only RDS instances to increase the read capability of your database system. For more information, see Create a MySQL read-only instance.
Production databases for large and medium-sized enterprises
Databases that are used in industries such as the Internet, IoT, e-commerce, logistics, and gaming
The database system consists of a primary RDS instance and multiple secondary RDS instance. These instances work in HA mode and support automatic failover. The secondary RDS instances can be accessed. This increases the read capability of your database system.
You can create multiple secondary RDS instances to increase the read capability of your database system.
Production databases for large and medium-sized enterprises
Databases that are used in industries such as Internet-based new retail and automobile manufacturing, and databases that are used for Enterprise Resource Planning (ERP) systems
Storage types
ApsaraDB RDS provides three storage types: Premium Local SSD, standard SSD, and enterprise SSD (ESSD). All storage types meet the reliability, persistence, and read/write performance requirements that are specified in Alibaba Cloud service level agreement (SLA). The following table describes the storage types.
Storage type
Best for
Supported engines
I/O latency
ESSD (recommended)
General-purpose workloads requiring high reliability and fast scaling
MySQL, PostgreSQL, SQL Server, MariaDB
100–200 µs
Premium ESSD
Workloads with burst traffic, large buffer pools, or cold data that can be archived
MySQL, PostgreSQL
100–200 µs
Premium Local SSD
I/O-intensive workloads requiring the lowest possible latency (flash sales, high-frequency trading)
MySQL only
10–50 µs
Standard SSD (phased out)
—
MySQL, PostgreSQL, SQL Server, MariaDB
—
Instance families
ApsaraDB RDS provides various instance families based on the number of cores, memory capacity, number of connections, and IOPS. Each instance family includes multiple instance types. The following table describes the instance families.
Instance family
Best for
Performance guarantee
Supported databases
Dedicated host
Mission-critical systems where database performance cannot be compromised (finance, e-commerce, government, large- to medium-sized internet businesses)
Highest — exclusively uses all resources of a physical server
RDS for MySQL with Premium Local SSDs only
Dedicated
Production workloads that require consistent, predictable performance
High — dedicated CPU, memory, and storage; other instances on the same server cannot affect your performance
MySQL, PostgreSQL, SQL Server, MariaDB
General-purpose
Workloads that can tolerate occasional performance variation in exchange for lower cost
Moderate — CPU is shared; performance may drop when the physical server is under high load
—
Shared
Non-production or cost-sensitive workloads with low performance requirements
Low — CPU is shared at a higher multiplexing rate than general-purpose; resource contention is possible
SQL Server only
Storage engines
If you want to create an RDS instance that runs MySQL 8.0, you can select one of the following storage engines:
InnoDB: the default storage engine provided by open source MySQL. The InnoDB storage engine that is used for ApsaraDB RDS is reinforced by Alibaba Cloud.
X-Engine: the storage engine developed by Alibaba Cloud. X-Engine is compatible with InnoDB. X-Engine outperforms InnoDB in terms of disk space usage and cost-effectiveness. X-Engine is more suitable for scenarios such as data archiving than InnoDB. For more information, see Introduction to X-Engine.
Select configuration for an RDS instance
Perform the following steps to select a suitable configuration for an RDS instance:
Select an RDS edition.
We recommend that you select RDS High-availability Edition. If you select RDS High-availability Edition, your database system consists of a primary RDS instance and a secondary RDS instance to ensure high availability. RDS High-availability Edition is suitable for medium-sized enterprises and large-sized enterprises and for industries such as Internet, Internet of Things (IoT), online retail, logistics, and gaming.
RDS Cluster Edition is suitable for core databases of large-sized enterprises and for finance, securities, and insurance industries that require high data security.
Select a storage type.
We recommend that you select a local SSD or an ESSD of a suitable performance level (PL) based on the IOPS and throughput requirements of your business. For more information about the differences between local SSDs, standard SSDs, and ESSDs, see Features.
The maximum IOPS of a standard SSD or an ESSD varies based on the instance type and the storage capacity. The following table lists the formulas that you can use to calculate the maximum IOPS of an RDS instance that uses standard SSDs or ESSDs.
Storage type
Formula for actual maximum IOPS (Storage capacity unit: GB)
Premium ESSD
With I/O performance burst enabled
min{Maximum IOPS for the instance type, 1000000}With I/O performance burst disabled
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 50000}ESSD
PL3
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 1000000}PL2
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 100000}PL1
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 50000}Standard SSD
min{Maximum IOPS for the instance type, 1800 + 30 × Storage capacity, 25000}
Select an instance type.
The specifications of an instance type include the number of cores, memory capacity, maximum number of connections, and maximum IOPS. When you create an RDS instance, you can select one of the following instance type levels: entry level or enterprise level. Then, you can select an instance type based on your business requirements. The entry level provides the shared instance family and the general-purpose instance family. The enterprise level provides the dedicated instance family.
NoteIf you select the standard SSD or ESSD storage type, the IOPS becomes N/A in the ApsaraDB RDS console. This is because ApsaraDB RDS calculates the IOPS based on the selected storage type. For more information, see Select a storage type in this section.
Select a storage engine.
If you want to create an RDS instance that runs MySQL, we recommend that you select X-Engine. X-Engine costs approximately 50% less than InnoDB but delivers comparable performance. For more information, see Usage notes.
Check and modify the configuration of an RDS instance
After you create and start to use an RDS instance, we recommend that you continue to monitor the performance of the RDS instance for a specific period of time. This way, you can check whether the configuration of the RDS instance is suitable.
For example, if the memory usage is high, we recommend that you log on to the RDS instance to identify the causes of high memory usage. If no exceptions occur, you can modify the configuration of the RDS instance. If exceptions occur, you can modify the allocation of memory on the RDS instance. For more information, see the following topics:
Create an ApsaraDB RDS instance
For more information about how to create an RDS instance, see the following topics: