This topic describes how to select the configuration for an ApsaraDB RDS instance based on your business requirements when you create the instance.

Purchase consultation

If you want to consult more about the selection of RDS instance configuration, scan the following Quick Response (QR) code by using your DingTalk. After you join the chat group, you can obtain professional advice from experts.

QR code for purchase consultation

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.

Note If the RDS instance runs MySQL 8.0, you must also select a default storage engine.
  • RDS editions

    ApsaraDB RDS offers four editions: Basic Edition, High-availability Edition, Cluster Edition, and Enterprise Edition. The following figure and table provide more details.

    Edition Description Scenario
    Basic Edition Your database system consists of only one primary RDS instance, and computing is separated from storage. This edition is cost-effective.

    For more information, see RDS Basic Edition.

    • Personal learning
    • Small-sized websites
    • Development and test environments for small- and medium-sized enterprises
    High-availability Edition Your database system consists of one primary RDS instance and one secondary RDS instance. These instances work in the high-availability architecture. This edition is suitable for more than 80% of the actual business scenarios.

    For more information, see High-availability Edition.

    • Production databases for large- and medium-sized enterprises
    • Databases in industries such as the Internet, Internet of Things (IoT), online retail, logistics, and gaming
    Cluster Edition Your database system consists of one primary RDS instance, one secondary RDS instance, and up to seven read-only RDS instances. The primary and secondary RDS instances work in the high availability architecture. The read-only RDS instances are used to increase the read capability. This edition is developed based on the AlwaysOn technology. It is supported only for SQL Server. By default, if you select the Cluster Edition, your database system consists of only one primary RDS instance and one secondary RDS instance. You can create read-only RDS instances later based on your business requirements.

    For more information, see Cluster Edition.

    Production databases for large- and medium-sized enterprises, such as online retailers, automobile companies, and ERP providers
    Enterprise Edition Your database system consists of one primary RDS instance and two secondary RDS instances. Data is synchronously replicated from the primary RDS instance to the secondary RDS instances. This allows you to ensure data consistency and finance-grade reliability.

    For more information, see Enterprise Edition.

    • Important databases in the finance, securities, and insurance industries that require high data security
    • Important production databases for large-sized enterprises
    PolarDB for MySQL PolarDB for MySQL delivers faster scaling, larger storage capacity, and lower replication latency.

    For more information, see Overview.

    • Production databases for large- and medium-sized enterprises
    • Databases in industries such as the Internet, IoT, online retail, logistics, and gaming
    • Important databases in the finance, securities, and insurance industries that require high data security
  • Storage types

    ApsaraDB RDS provides three storage types: local SSD, enhanced SSD, and standard SSD. All of these storage types meet the reliability, persistence, and read/write performance requirements that are specified in Alibaba Cloud service level agreement (SLA). The following list describes these storage types:

    • Local SSD

      This is a recommended storage type. A local SSD resides on the same server as the database engine. You can store data on local SSDs to reduce I/O latency.

    • Standard SSD

      A standard SSD is an elastic block storage device that is designed based on a distributed storage architecture. You can store data on standard SSDs to separate computing from storage.

    • Enhanced SSD
      This is also a recommended storage type. This new SSD product is designed by Alibaba Cloud based on the next-generation distributed block storage architecture. It integrates 25 Gigabit Ethernet and remote direct memory access (RDMA) technologies to provide super high performance at low latency. An enhanced SSD can process up to 1 million random read/write requests per second. Supported enhanced SSDs come in the following three performance levels (PLs):
      • PL1: An enhanced SSD of PL1 is a regular enhanced SSD.
      • PL2: An enhanced SSD of PL2 delivers input/output operations per second (IOPS) and throughput that are twice as high as those delivered by an enhanced SSD of PL1.
      • PL3: An enhanced SSD of PL3 delivers IOPS that is 20 times as high as the IOPS delivered by an enhanced SSD of PL1. It also delivers throughput that is 11 times as high as the throughput delivered by an enhanced SSD of PL1. Enhanced SSDs of PL3 are ideal for workloads that require high I/O performance in processing concurrent requests and stable read/write latency.
      For more information about PLs, see Block Storage performance.
  • Instance families

    ApsaraDB RDS offers a wide range of instance families based on the number of CPU cores, memory capacity, number of connections, and input/output operations per second (IOPS). Each instance family includes multiple instance types. The following figure and table provide more details.

    Instance family Description Scenario
    Shared instance family (entry-level) (supported only for SQL Server)
    • A shared instance exclusively occupies the allocated memory resources, but shares CPU and storage resources with the other shared instances that are deployed on the same physical host.
    • CPU resources are highly reused among shared instances that are deployed on the same physical host. This maximizes cost-effectiveness.
    • Shared instances may compete for resources.
    • Users pursue high cost-effectiveness to reduce costs.
    • Users require high availability but are not demanding for stability.
    General-purpose instance family (entry-level)
    • A general-purpose instance exclusively occupies the allocated memory resources, but shares CPU and storage resources with the other general-purpose instances that are deployed on the same physical host.
    • CPU resources are moderately reused among general-purpose instances that are deployed on the same physical host. This increases cost-effectiveness.
    • The storage capacity of a general-purpose instance is independent of the number of CPU cores and memory capacity. You can flexibly configure the storage capacity based on your business requirements.
    Users are not demanding for performance or stability.
    Dedicated instance family (enterprise-level)
    • A dedicated instance exclusively occupies the allocated CPU and memory resources. Its performance remains stable and is not affected by the other instances that are deployed on the same physical host.
    • The top configuration of the dedicated instance family is dedicated host. A dedicated host instance occupies all the resources on the physical host where it is deployed.
    Users use databases as core systems in sectors such as finance, e-commerce, government affairs, and large- and medium-sized Internet services.
    Dedicated cluster instance family
    • You can log on to and perform operations and maintenance (O&M) operations on the hosts in a dedicated cluster.
    • A dedicated cluster instance exclusively occupies all the resources on the virtual or physical host where it is deployed.
    • You can create more than one RDS instance on a host based on your business requirements.
    Dedicated cluster instances benefit from the flexible resource scheduling that is delivered by ApsaraDB RDS and can meet your requirements for regulatory compliance, high performance, and security. For more information, see What is ApsaraDB for MyBase?
    • Users have manageable hosts and want to migrate their O&M systems to the cloud.
    • Users want to allocate resources based on a proper overcommit ratio to reduce the overall expenditure.
  • Storage engines

    If the RDS instance runs MySQL 8.0, you can select one of the following two storage engines:

    • InnoDB: the default storage engine that is provided by open source MySQL. The InnoDB storage engine used for ApsaraDB RDS has been reinforced by Alibaba Cloud.
    • X-Engine: the storage engine that is developed by Alibaba Cloud. X-Engine is compatible with InnoDB. X-Engine performs better than InnoDB in terms of disk space usage and cost-effectiveness. Therefore, X-Engine is more suitable for scenarios such as data archiving than InnoDB. For more information, see X-Engine overview.

Select configuration for an RDS instance

Perform the following steps to select configuration for an RDS instance:

  1. Select an RDS edition.

    If the RDS instance is used for medium- and large-sized enterprises or for industries such as Internet, Internet of Things (IoT), online retail, logistics, and gaming, we recommend that you select the High-availability Edition. This edition adopts the high-availability architecture that consists of one primary instance and one secondary instance.

    If the RDS instance is used for crucial databases in large-sized enterprises or for financial, securities, and insurance industries that require high data security, we recommend that you select the Enterprise Edition (MySQL) or the Cluster Edition (SQL Server).

    Select an RDS edition
  2. Select a storage type.

    We recommend that you select a local SSD or an enhanced SSD 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 and standard or enhanced SSDs, see Features.

    The maximum IOPS of a standard or enhanced SSD varies based on the instance type and the storage capacity. The following table lists the formulas that are used to calculate the maximum IOPS of a standard or enhanced SSD.

    Storage type ESSD Standard SSD
    PL PL3 PL2 PL1 None

    Formula

    (The storage capacity is measured in the unit of GB.)

    min{1800 + 50 × Storage capacity, 1000000, Maximum IOPS for the instance type} min{1800 + 50 × Storage capacity, 100000, Maximum IOPS for the instance type} min{1800 + 50 × Storage capacity, 50000, Maximum IOPS for the instance type} min{1800 + 30 × Storage capacity, 25000, Maximum IOPS for the instance type}
    Select a storage type
  3. Select an instance type.

    The specifications of an RDS instance type include the number of CPU cores, memory capacity, maximum number of connections, and maximum IOPS. When you create an RDS instance, you must select an instance level: entry level or enterprise level. Then, you can select an instance type based on your business requirements. The entry level provides the shared and general-purpose instance families, and the enterprise level provides the dedicated instance family.

    Select an instance type
    Note If you select the standard or enhanced SSD storage type, the IOPS becomes N/A in the ApsaraDB RDS console. This is because ApsaraDB RDS must calculate the IOPS based on the selected storage type. For more information, see Select a storage type in this section.
  4. Select a storage engine.

    If the RDS instance runs MySQL, we recommend that you select X-Engine as the storage engine. X-Engine costs about 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 select configuration for an RDS instance, we recommend that you continue to monitor the performance of the RDS instance for a specific period of time. This allows you to check whether the configuration of the RDS instance is suitable.

For example, if you find that the memory usage is high, we recommend that you log on to the RDS instance to troubleshoot the issue. If no exceptions occur, you can modify the configuration of the RDS instance. If exceptions occur, you can modify the allocation of memory capacity on the RDS instance. For more information, see the following topics:

Create an RDS instance

References