Key Concepts
MemStore is a managed cache database service that allows you to easily utilize Redis OSS without the need for separate installation processes. The key concepts of the MemStore service are as follows:
Key concept | Description |
---|---|
Cache Only | A cache service that stores all data in memory without using disk storage |
Cluster | A group of multiple shards, each consisting of one Primary node and multiple Replica nodes - You can choose to enable or disable cluster mode based on your use case |
Shard | A unit that partitions the dataset within a cluster, composed of multiple nodes. Each node plays the role of either a Primary or Replica. - Add shard: Add a shard when the selected cluster experiences increased load - Delete shard: Remove unnecessary shards from the selected cluster |
Node | A virtual machine (VM) with Redis OSS installed that serves as a Primary or Replica - Node types: Select a suitable node type based on data size and load when creating a cluster - Node lifecycle and status: Understand node conditions based on status - Add node: Add a Replica node to reduce read load in a selected cluster - Delete node: Remove unnecessary nodes from a selected cluster |
High availability | Ensures service continuity by automatically responding to node failures - If a Primary node fails, the Replica with the most up-to-date data is automatically promoted to Primary (Automatic Failover), and a new Replica is created to maintain the desired Replica count (Auto Healing) - If a Replica node fails, it is automatically replaced with a new node |
Promotion | When high availability is enabled: - Promotion is automatic and cannot be requested manually When high availability is disabled: - Replica nodes can be manually promoted to Primary |
Read/write-only endpoint provision | When cluster mode is disabled: Provides a Primary endpoint for read/write access and a read-only endpoint When cluster mode is enabled: Does not provide a read-only endpoint; instead, each node provides an individual endpoint |
Cache Only
Redis in MemStore is used as a cache only, storing all data in memory and not on disk.
Cluster
A cluster is a group of one or more nodes that are automatically managed. A cluster consists of multiple shards and nodes, with each node functioning as either a Primary or a Replica. Shards and Replica nodes can be added or deleted as needed.
Cluster lifecycle and status values
- When using cluster mode
- When not using cluster mode
When using cluster mode, shard and node states are dependent on the cluster's state and share the same status.
Lifecycle diagram for cluster/shard/node in cluster mode
Status | Description |
---|---|
Init | Initial state before cluster creation begins |
Creating | Resources are being created |
Running | Cluster is running normally |
Modifying | Cluster configuration is being changed (e.g., adding/removing shards or nodes) |
Deleting | Cluster is being deleted |
Failed | A permanent failure has occurred. Cluster cannot be recovered and can only be deleted. |
Lifecycle diagram for non-cluster mode
Status | Description |
---|---|
Init | Initial state immediately after cluster creation |
Provisioning | Nodes are preparing required resources |
Replicating | Node roles are being configured and endpoints are being generated |
Running | Service is fully operational and accessible |
ScalingIn | Replica node is being deleted |
SwitchingOver | A Replica node is being promoted to Primary |
ScalingOut | New nodes are being added as Replicas |
Recovering | Auto-recovery actions are being performed for a failed node in an HA cluster |
Modifying | Security group change is in progress |
Terminating | Cluster deletion is in progress |
Terminated | Cluster has been deleted |
Warning | Temporary issue occurred; will return to normal once resolved |
Failed | A permanent failure occurred. Cluster cannot be recovered and must be deleted. |
Shard
A shard is a group of nodes in cluster mode that stores a partition of the overall dataset.
Clusters can have 1 to 12 shards. Each shard must have between 2 and 5 nodes when using cluster mode.
Node
A node is a VM that belongs to a cluster. When created or deleted, nodes automatically execute required operations and update their status. Each node is assigned a role of either Primary or Replica. When cluster mode is disabled, a maximum of 6 nodes can be added.
Role | Description |
---|---|
Primary | Read/write node used for client operations |
Replica | Read-only node used to offload traffic from the Primary |
Node types
Choose a node type based on data volume and load. More specialized types may be supported in the future.
Node type | vCPU | Memory (GB) |
---|---|---|
m2a.large | 2 | 8 |
m2a.xlarge | 4 | 16 |
m2a.2xlarge | 8 | 32 |
m2a.4xlarge | 16 | 64 |
m2a.8xlarge | 32 | 128 |
m2a.12xlarge | 48 | 192 |
m2a.16xlarge | 64 | 256 |
m2a.24xlarge | 96 | 384 |
r2a.large | 2 | 16 |
r2a.xlarge | 4 | 32 |
r2a.2xlarge | 8 | 64 |
r2a.4xlarge | 16 | 128 |
r2a.8xlarge | 32 | 256 |
r2a.12xlarge | 48 | 384 |
r2a.16xlarge | 64 | 512 |
r2a.24xlarge | 96 | 768 |
t1i.small | 2 | 2 |
t1i.medium | 2 | 4 |
t1i.large | 2 | 8 |
t1i.xlarge | 4 | 16 |
t1i.2xlarge | 8 | 32 |
t1i
instances may take several minutes to transition to Running
after initial creation.
Also, if CPU credits are insufficient, workloads may not function properly.
Node lifecycle and status values
-
When using cluster mode:
- Node lifecycle follows the cluster status. See Cluster lifecycle and status.
-
When not using cluster mode:
Node lifecycle diagram
Status | Description |
---|---|
Init | Node creation process starts |
Provisioning | Infrastructure provisioning is in progress |
Starting | Service installation and startup preparation |
Running | Node is running and accessible |
Modifying | Security group modification is in progress |
Terminating | Node is being deleted upon request |
Terminated | Node has been deleted and is no longer accessible |
Warning | Temporary issue occurred; will recover automatically |
Failed | A permanent failure occurred; node must be deleted |
High availability
MemStore supports high availability (HA) for improved reliability and seamless service. When enabled, HA automatically recovers from node failures.
- When using cluster mode: HA is always enabled and cannot be disabled.
- When not using cluster mode: You can enable or disable HA at cluster creation or during operations.
- HA-enabled clusters automatically include newly added nodes in the HA configuration.
Node failures
Case | Description |
---|---|
Primary node failure | The most up-to-date Replica is automatically promoted to Primary (Automatic Failover), and a new Replica is created (Auto Healing). |
Replica node failure | The failed Replica is automatically replaced to maintain Replica count. |
Promote node
- When using cluster mode or HA: Promotion is handled automatically and cannot be triggered manually.
- When HA is disabled: You can manually promote a Replica to become the Primary if needed.
Read/write-only endpoint provision
When a cluster is created, it provides a read-only endpoint for client access.
This endpoint is accessible from the selected private subnet and comes with secure access control and firewall rules.
When using cluster mode, read-only endpoints are not provided. Use each node's endpoint instead.
Backup
You can back up a cluster and restore it when needed.
Currently, backup is supported only when cluster mode is disabled.
Backup status values
Status | Description |
---|---|
Available | Backup is complete and ready for restore, copy, or export |
Pending | Backup request has been accepted but not yet started |
Creating | Backup is in progress or being copied from another backup |
Restoring | Backup is being used for provisioning |
Copying | Backup is being copied to create another backup |
Exporting | Backup is being exported to the user’s Object Storage |
Error | An error occurred during the backup process |
Deleting | Backup is being deleted |
Parameter application status
Status | Description |
---|---|
Pending | Waiting to apply parameters |
Applying | Parameters are being applied to the cluster |
In-Sync | Parameters have been successfully applied |
Error-Sync | Parameter application failed. You can retry, which will change the status to Applying . |
Suspended | Waiting due to a failure in a previous sequential application. You can retry, which will change the status to Applying . |