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 a disk |
Cluster | A cluster consists of multiple shards, with each shard composed of one Primary node and multiple Replica nodes. - You can choose to use or not use cluster mode depending on your needs to configure Redis for specific purposes. |
Shard | A unit for partitioning cluster datasets, composed of multiple nodes, each having a Primary and multiple Replicas. - Shard addition: Add a shard to the selected cluster if the load increases. - Shard deletion: Delete unnecessary shards from the selected cluster. |
Node | A VM (Virtual Machine) running Redis OSS with the role of Primary or Replica. - Node type: Select the appropriate node type considering data size and load during cluster creation. - Node lifecycle and status values: Understand node status values to determine current status. - Node addition: Add a Replica node to the selected cluster if read load increases. - Node deletion: Delete unnecessary nodes from the selected cluster. |
High availability | Provides an environment that can sustain service by automatically handling node failures. - If the Primary node fails, the Replica node with the most recent data is automatically promoted to Primary (Automatic Failover), and a new Replica node is created to maintain the number of Replicas (Auto Healing). - If a Replica node fails, it is automatically replaced with a new node to maintain the number of Replicas. |
Promotion | When using high availability: - The user cannot request promotion, and it is automatically performed when deemed necessary by the service. When not using high availability: - Manually promote a Replica node to Primary. |
Read/Write-only Endpoint provision | - If cluster mode is not used, a Read/Write Primary endpoint for Redis connection and a read-only endpoint are provided. - If cluster mode is used, a read-only endpoint is not provided, and endpoints for each node are provided. |
Cache only
The Redis service provided by MemStore stores all data in memory, not on disk, and can be used for caching purposes only.
Cluster
A cluster is a collection of one or more nodes and is an automatically managed configuration unit. The cluster consists of multiple shards with several nodes, and each node has the role of Primary or Replica. Shards or Replica nodes can be added or deleted as needed.
Cluster lifecycle and status values
The Cluster lifecycle and status values are as follows.
- When using cluster mode
- When not using cluster mode
When using cluster mode, the state of each shard and its nodes are dependent on the state of the cluster, sharing the same state.
Cluster/Shard/Node lifecycle diagram when using cluster mode
Status | Description |
---|---|
Init | Initial state before the cluster creation process begins. |
Creating | Resources are being created. |
Running | Running. |
Modifying | The cluster is being modified, such as adding/deleting shards or nodes. |
Deleting | Resources are being deleted. |
Lifecycle diagram when not using cluster mode
Status | Description |
---|---|
Init | Initial state right after the cluster is created, preparing to start the creation process. |
Provisioning | All nodes in the cluster are preparing the necessary resources. |
Replicating | The roles of the nodes in the cluster are being configured, and the endpoints are being created. |
Running | The service is configured and running properly, and is available for connection. |
ScalingIn | Specific Replica nodes are being deleted. |
SwitchingOver | A specific Replica node is being promoted to Primary. |
ScalingOut | A new node is being created and assigned the role of Replica. |
Recovering | When a node failure occurs in a high-availability cluster, appropriate automatic recovery actions are being performed. |
Terminating | The cluster is being deleted. |
Terminated | Cluster deletion has been completed. |
Warning | A temporary error has occurred in a specific state, which can be restored to a normal state when the issue is resolved. |
Failed | A permanent error has occurred, resulting in an abnormal state that cannot be restored to normal. Only deletion is possible. |
Shard
A shard is a group of nodes used in cluster mode, and it partitions the cluster's data to allocate it across different shards.
A cluster can have a minimum of 1 shard and a maximum of 12 shards, and each shard can consist of a minimum of 2 nodes and a maximum of 5 nodes when using cluster mode.
Node
A node is a VM (Virtual Machine) included in the cluster. When nodes are created or deleted, the required tasks are performed, and the state is automatically changed. Each node in the cluster is assigned the role of Primary or Replica. When not using cluster mode, up to 6 nodes can be configured.
Role | Description |
---|---|
Primary | The node generally used by the user for read/write purposes. |
Replica | Read-only node used to reduce the load on the Primary. |
Node types
Users can select a node type considering data size and load during node creation. More diverse and specialized node types will be supported in the future.
Node type | vCPU (units) | 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 instance type may take several minutes to tens of minutes to transition to the Running state after initial creation.
If the remaining CPU credits are insufficient, tasks with CPU load may not function properly, so caution is required.
Node lifecycle and status values
The lifecycle and status values of nodes are as follows:
-
When using cluster mode
- Nodes have the same lifecycle as the cluster. Refer to the Cluster lifecycle and status values.
-
When not using cluster mode
Node lifecycle diagram
Status | Description |
---|---|
Init | State when the creation of each node configured during cluster creation begins. |
Provisioning | State when creating the operational server to launch the service has started. - This stage may take several minutes. |
Starting | Waiting for service installation and launch after the server creation is complete. |
Running | The service is running properly and available for connection. |
Terminating | State when the user has requested node deletion, and the node is being deleted. |
Terminated | The node has been deleted. - Once in the Terminated state, the user can no longer view information related to the node. |
Warning | Temporary error in a specific state. - Can return to the normal state when the issue is resolved. |
Failed | Abnormal state due to a permanent error. - Cannot return to the normal state and only deletion is possible. |
High availability
The MemStore service provides a high availability feature for user convenience and stable operation. When using high availability, the service automatically takes action in the event of a node failure, providing an environment where the service can continue uninterrupted.
When creating a cluster, if cluster mode is enabled, high availability is used by default, and the setting cannot be changed. If cluster mode is not used, high availability can be enabled during cluster creation and modified during operation. You can check the high availability status in the cluster's detail information tab. Even when using high availability, nodes can be added or deleted, and newly added nodes will be automatically included in the high availability scope.
Node failures
Node failures are resolved as follows depending on the node's role:
Category | Description |
---|---|
Primary node failure | When the Primary node fails, the most up-to-date Replica node is automatically promoted to Primary (Automatic Failover), and a new Replica node is created to maintain the number of Replicas (Auto Healing). |
Replica node failure | When a Replica node fails, it is automatically replaced with a new node to maintain the number of Replicas. |
Promotion
When using cluster mode or the high availability feature, users cannot request promotion, and the service automatically performs promotion as needed in the event of node failure. When high availability is not enabled, a manual promotion feature is provided. If a Primary node fails, users can use the promotion feature to promote a Replica node to Primary.
Read/Write-only endpoint provision
When creating a cluster, a read-only endpoint that clients can connect to is provided.
The address is accessible from the private network (Subnet) selected by the user and is automatically configured with access permissions and security settings for safe connection.
When using cluster mode, a read-only endpoint is not provided, and connections can be made through the endpoints of individual nodes.
Backup
The information of a created cluster can be backed up and used for restoration.
Currently, backups are primarily available for clusters that do not use cluster mode.
Backup status values
Status | Description |
---|---|
Available | The backup is complete and is in a state where it can be used for restoration, copying, or exporting. |
Pending | The backup request has been accepted but has not yet started. |
Creating | The backup is in progress or a new backup is being copied from the original backup. |
Restoring | Being used for provisioning. |
Copying | Being copied to create another backup. |
Exporting | Being exported to the user's object storage. |
Error | An error occurred during the backup process. |
Deleting | The backup is being deleted. |
Parameter application status
Status | Description |
---|---|
Pending | The parameter is waiting to be applied. |
Applying | The parameter is currently being applied to the cluster. |
In-Sync | The parameter has been successfully applied to the cluster. |
Error-Sync | The parameter failed to apply to the cluster. You can retry applying the parameter, and the status will change to Applying during the retry. |
Suspended | When applying parameters sequentially, if the previous cluster fails to apply, the next operation is put on hold. When the status changes from Pending to Suspended , you can retry applying the parameter, and the status will change to Applying during the retry. |