This topic describes how to configure an ApsaraDB for 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, price, 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 for RDS offers four editions: Basic Edition, High-availability Edition, Cluster Edition, and Enterprise Edition. The following table describes these RDS editions.

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

    For more information, see 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 instance and one secondary instance. These instances work in the high-availability architecture. This edition is suitable for more than 80% of the actual business scenarios.
    • 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 instance, one secondary instance, and up to seven read-only instances that 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, when you purchase the Cluster Edition, your database system consists of only a primary instance and a secondary instance. You must purchase read-only instances later based on your business requirements.

    For more information, see Cluster Edition (AlwaysOn 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 instance and two secondary instances. Data is synchronously replicated from the primary instance to the secondary instances. This allows you to ensure data consistency and finance-level 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
  • Storage types

    ApsaraDB for RDS provides three storage types: local SSD, enhanced SSD (ESSD), 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 table 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 for 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 table describes these instance families.

    Family Description Scenario
    Shared instance family

    (Not supported)

    • A shared instance exclusively occupies the memory resources allocated to it, but shares CPU and storage resources with the other shared instances that are deployed on the same server.
    • CPU resources are highly reused among shared instances that are deployed on the same server to maximize CPU cost-effectiveness.
    • Shared instances may compete for resources.
    • Users pursue cost-effectiveness.
    • Users prefer high availability to stability.
    General-purpose instance family
    • A general-purpose instance exclusively occupies the memory resources allocated to it, but shares CPU and storage resources with the other general-purpose instances that are deployed on the same server.
    • CPU resources are moderately reused among general-purpose instances that are deployed on the same server to increase CPU cost-effectiveness.
    • The storage capacity of a general-purpose instance is independent of CPU cores and memory capacity. You can flexibly configure the storage capacity based on your business requirements.
    Users are less concerned with performance and stability.
    Dedicated instance family A dedicated instance exclusively occupies the CPU and memory resources allocated to it. Its performance remains stable for a long term and is not affected by the other instances that are deployed on the same server.

    The top configuration of this instance family is dedicated host. A dedicated host instance occupies all of the resources on the server where it resides.

    Users are engaged in database-centered businesses, such as finance, e-commerce, governmental affairs, and large- and medium-sized Internet services.
  • 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 for 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 low 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.

Procedure

Perform the following steps to configure 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 finance, 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
    Performance level PL3 PL2 PL1 N/A

    Maximum IOPS

    (Storage capacity measured in GB)

    min{1800 + 50 × Storage capacity, 1000000} min{1800 + 50 × Storage capacity, 100000} min{1800 + 50 × Storage capacity, 50000} min{1800 + 30 × Storage capacity, 25000}
    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 for RDS console. This is because ApsaraDB for RDS must calculate the IOPS based on the selected storage type. For more information, see Step 2 in this section.
  4. Select a storage engine.

    If the RDS instance runs MySQL, we recommend that you select X-Engine as the default 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 have configured 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