When you create an ApsaraDB for Redis instance, you must select the most cost-effective and stable instance type that can suit your performance, price, scenario, and workload needs. This topic describes the instance types, engine versions, architectures, and storage mediums of ApsaraDB for Redis to help you select instances.
Selection procedure
In most cases, you select instance types and specifications based on your performance, price, scenario, and workload needs. For example, you may want to use instances as high-speed caches or in-memory databases. The following table describes the recommended selection procedure.
When you select an instance, you can use the price calculator to obtain the prices of different instance specifications. For more information, see Price calculator.
Operation | Description |
ApsaraDB for Redis is available in Community Edition and Enhanced Edition (Tair). Enhanced Edition (Tair) is developed based on Tair to provide higher performance, more data modules, and more flexible storage methods. Tair is an internal service of Alibaba Cloud. | |
We recommend that you select a cloud disk-based instance. | |
ApsaraDB for Redis provides instances that use the standard architecture, cluster architecture, or read/write splitting architecture. You can select an architecture that suits your business data volume and your requirements for read and write capabilities and business performance. | |
An ApsaraDB for Redis instance may fail due to unexpected reasons, such as a device failure or a power failure in a data center. In this case, disaster recovery can help ensure data consistency and service availability. ApsaraDB for Redis provides a variety of disaster recovery solutions to meet the requirements of different business scenarios. | |
We recommend that you use the latest major version that is bundled with more features. | |
We recommend that you estimate the size of memory that is required. This reduces costs and prevents your business from being affected by frequent specification changes. | |
After you perform the preceding operations, you can create an ApsaraDB for Redis instance by using the ApsaraDB for Redis console or by calling an API operation of ApsaraDB for Redis. | |
After you create and start to use an ApsaraDB for Redis instance, monitor the performance of the instance when your business is running as expected. This allows you to check whether the instance meets your expectations. |
Select Community Edition or Enhanced Edition (Tair)
ApsaraDB for Redis is available in Community Edition and Enhanced Edition (Tair). Enhanced Edition (Tair) is an in-memory enterprise-grade database service that is developed based on Tair. Tair is an internal service of Alibaba Cloud. Enhanced Edition (Tair) provides a variety of series of instances based on storage mediums such as dynamic random-access memory (DRAM), non-volatile memory (NVM), and enhanced SSDs (ESSDs) to meet your requirements for low-latency access, persistence, and reduced overall costs. Enhanced Edition (Tair) provides you with higher performance, more data modules, and more flexible storage methods. This meets your business requirements in different scenarios.
Enhanced Edition (Tair) supports all features of Community Edition. In addition, Enhanced Edition (Tair) provides advanced features, such as point-in-time data restoration by using data flashback, proxy query cache, and Global Distributed Cache. For more information about the comparison between Community Edition and Enhanced Edition (Tair), see Comparison between ApsaraDB for Redis Enhanced Edition (Tair) and ApsaraDB for Redis Community Edition.
For more information about the commands and parameters supported by each series type, see Overview and Configure instance parameters.
Edition | Series type | Feature | Scenario |
Enhanced Edition (Tair) |
| Performance-centric business scenarios | |
| Data caching and storage scenarios that require high performance and high data persistence, and can bear high costs | ||
| Data storage scenarios that require a large capacity and low costs, involve only infrequent data access, and can bear high access latency | ||
Community Edition | N/A | Community Edition instances are compatible with open source Redis and provide high performance. | Standard Redis usage and data migration scenarios |
Select cloud disk-based or local disk-based instances
The following table compares cloud disk-based instances and local disk-based instances.
Item | Cloud disk-based instance (recommended) | Local disk-based instance |
Architecture | Uses the new-generation Tair management architecture. Note This architecture serves as a basis for subsequent development. | Uses the conventional Tair management architecture that comes with a complete set of features. |
Scalability |
|
|
Select a deployment architecture
ApsaraDB for Redis instances support three deployment architectures. You can select an architecture that suits your business data volume and your requirements for read and write capabilities and business performance.
The following table describes the high availability (HA) architectures. The standard and cluster architectures also support standalone instances without HA that are suitable for tests and cache-only use cases.
Architecture | Description | Scenario |
Standard instances adopt a master-replica architecture. The master node serves your workloads, whereas the replica node stays in hot standby mode to ensure HA. If the master node fails, the system switches the workloads to the replica node within 30 seconds after the failure occurs. This ensures the HA of your instance. |
| |
|
| |
|
Note Data synchronization to read replicas has a latency. Therefore, in scenarios that require high data consistency, we recommend that you use cluster instances instead of read/write splitting instances. |
Cluster instances are available in the following connection modes:
Proxy mode: Proxy nodes forward requests from clients to the data shards in the instance. This mode provides features such as load balancing, read/write splitting, failover, proxy query cache, and persistent connections. The proxy query cache feature is supported only for DRAM-based instances. For more information, see Features of proxy nodes.
Direct connection mode: You can bypass proxy nodes and directly connect to backend data shards of your instance in a similar manner as you connect to an open source Redis cluster. Compared with the proxy mode, the direct connection mode reduces the routing time and accelerates the response of ApsaraDB for Redis.
Select a disaster recovery solution
Disaster recovery solution | Protection level | Description |
★★★☆☆ | The master node and the replica node are deployed on different machines in the same zone. If the master node fails, the HA system performs a failover to prevent service interruption caused by a single point of failure (SPOF). | |
★★★★☆ | The master node and the replica node are deployed in two different zones of the same region. If the zone in which the master node resides is disconnected due to force majeure factors such as an outage or network failure, the HA system performs a failover to ensure continuous availability of the entire instance. | |
★★★★★ | In the architecture of Global Distributed Cache, a distributed instance consists of multiple child instances that synchronize data among each other in real time by using synchronization channels. The channel manager monitors the health status of child instances and handles exceptions that occur on child instances, such as a switchover between the primary and secondary databases. Global Distributed Cache is suitable for scenarios such as geo-disaster recovery, active geo-redundancy, nearby application access, and load balancing. For more information, see Overview. |
Select a major version
You can select a major version based on your business requirements. Each major version is maintained on a long-term basis. We recommend that you use a newer major version to support more features. For more information, see New features and compatibility changes of major versions of Redis.
You must consider the following limits when you select a major version.
Instance and its creation method | Supported instance edition and series type | Supported engine version | Supported architecture |
Local disk-based instance | ApsaraDB for Redis Community Edition | 5.0 4.0 | Cluster architecture Standard architecture Read/write splitting architecture |
Enhanced Edition (Tair) DRAM-based instances | 5.0 | Cluster architecture Standard architecture Read/write splitting architecture | |
Cloud disk-based instance | ApsaraDB for Redis Community Edition | 7.0 6.0 5.0 | Standard architecture Cluster architecture Read/write splitting architecture |
Enhanced Edition (Tair) DRAM-based instances | 6.0 5.0 | Standard architecture Cluster architecture Read/write splitting architecture | |
Enhanced Edition (Tair) persistent memory-optimized instances | 6.0 | Standard architecture Cluster architecture Read/write splitting architecture | |
Enhanced Edition (Tair) ESSD-based instances | 4.0 | Standard architecture |
Estimate the memory size
To create an ApsaraDB for Redis instance, you must estimate the size of memory required based on the following factors and select the most suitable memory specifications. This reduces costs, prevents your business from being affected by frequent specification changes, and allows you to migrate your business to the cloud at a faster pace.
When you determine the memory size of an ApsaraDB for Redis instance, you must first consider the volume of the business data to be stored. In addition, you must take into account the memory required for the operation of the instance itself, such as the memory occupied by the process metadata, replication buffer, and fragments.
For self-managed Redis databases, you must consider the memory overhead caused by the write-time replication of forks and advanced features such as whitelist configuration, audit logging, large key management, and hotkey management. If you use ApsaraDB for Redis instances, the preceding memory overhead is borne by Alibaba Cloud and is not included in the memory size of the purchased instance.
The data types, lengths, and quantity of keys.
NoteIf a key, such as a key of the hash type, contains elements, you must consider the quantity and lengths of these elements.
The lengths of values.
The expiration time and eviction policy of each key.
The access model. For example, if the access model involves a large number of client connections, Lua scripts, or transactions, you must reserve memory for them.
Medium- and long-term business growth.
Create an ApsaraDB for Redis instance
After you perform the preceding operations, you can create an ApsaraDB for Redis instance by using the ApsaraDB for Redis console or by calling an API operation of ApsaraDB for Redis. For more information, see the following topics:
ApsaraDB for Redis console: Create an ApsaraDB for Redis instance
API operation: CreateInstance
Check and adjust the instance capabilities
ApsaraDB for Redis supports a variety of metrics. After you create and start to use an ApsaraDB for Redis instance, we recommend that you monitor the performance of the instance when your business is running as expected. This allows you to check whether the instance meets your expectations. For more information, see View performance monitoring data.
You can also use the Redis-benchmark tool to perform a performance stress test. For more information, see Redis-benchmark instructions.
For example, if the performance monitoring data of an ApsaraDB for Redis instance indicates high memory usage, you must check whether an anomaly exists. If no anomaly exists, upgrade the instance specifications. For more information, see Change the configurations of an instance. For more information about how to troubleshoot performance issues for ApsaraDB for Redis instances, see the following topics: