Updated on 2024-01-23 GMT+08:00

What Is DCS?

Huawei Cloud Distributed Cache Service (DCS) is an online, distributed, fast in-memory cache service compatible with Redis. It is reliable, scalable, usable out of the box, and easy to manage, meeting your requirements for high read/write performance and fast data access.

  • Usability out of the box

    DCS provides single-node, master/standby, read/write splitting, Proxy Cluster, and Redis Cluster instances with specifications ranging from 128 MB to 2048 GB. DCS instances can be created with just a few clicks on the console, without requiring you to prepare servers.

    DCS Redis 4.0, 5.0, and 6.0 instances are containerized and can be created within seconds.

  • Security and reliability

    Instance data storage and access are securely protected through HUAWEI CLOUD security management services, including Identity and Access Management (IAM), Virtual Private Cloud (VPC), Cloud Eye, and Cloud Trace Service (CTS).

    Master/Standby and cluster instances can be deployed within an availability zone (AZ) or across AZs.

  • Auto scaling

    DCS instances can be scaled up or down online, helping you control costs based on service requirements.

  • Easy management

    A web-based console is provided for you to perform various operations, such as restarting instances, modifying configuration parameters, and backing up and restoring data. RESTful application programming interfaces (APIs) are also provided for automatic instance management.

  • Online migration

    You can create a data migration task on the console to import backup files or migrate data online.

DCS for Redis

DCS for Redis supports Redis 4.0/5.0/6.0.
  • DCS for Redis 3.0 is no longer provided. You can use DCS for Redis 4.0, 5.0, or 6.0 instead.
  • DCS Redis 6.0 instances are supported only in some regions.

Redis is a storage system that supports multiple types of data structures, including key-value pairs. It can be used in such scenarios as data caching, event publishing/subscribing, and high-speed queuing, as described in Application Scenarios. Redis is written in ANSI C, supporting direct read/write of strings, hashes, lists, sets, sorted sets, and streams. Redis works with an in-memory dataset which can be persisted on disk.

DCS Redis instances can be customized based on your requirements.

  • DCS for Redis 4.0/5.0/6.0 basic
    Table 1 DCS for Redis 4.0/5.0/6.0 basic

    Instance type

    DCS for Redis provides the following types of instances to suit different service scenarios:

    • Single-node: Suitable for caching temporary data in low reliability scenarios. Single-node instances support highly concurrent read/write operations, but do not support data persistence. Data will be deleted after instances are restarted.
    • Master/standby: Each master/standby instance runs on two nodes (one master and one standby). The standby node replicates data synchronously from the master node. If the master node fails, the standby node automatically becomes the master node. You can split read and write operations by writing to the master node and reading from the standby node. This improves the overall cache read/write performance.
    • Proxy Cluster: In addition to the native Redis cluster, a Proxy Cluster instance has proxies and load balancers. Load balancers implement load balancing. Different requests are distributed to different proxies to achieve high-concurrency. Each shard in the cluster has a master node and a standby node. If the master node is faulty, the standby node on the same shard is promoted to the master role to take over services.
    • Redis Cluster: Each Redis Cluster instance consists of multiple shards and each shard includes a master node and multiple replicas (or no replica at all). Shards are not visible to you. If the master node fails, a replica on the same shard takes over services. You can split read and write operations by writing to the master node and reading from the replicas. This improves the overall cache read/write performance.
    • Read/write splitting: A read/write splitting instance has proxies and load balancers in addition to the master/standby architecture. Load balancers implement load balancing, and different requests are distributed to different proxies. Proxies distinguish between read and write requests, and sends them to master nodes or standby nodes, respectively.

    Instance specifications

    DCS for Redis provides instances of different specifications, ranging from 128 MB to 1024 GB.

    Open-source compatibility

    DCS instances are compatible with open-source Redis 4.0/5.0/6.0.

    Underlying architecture

    Containerized deployment on physical machines. 100,000 QPS at a single node for a Redis 4.0/5.0 instance, 150,000 QPS for a single-node Redis 6.0 basic edition instance, and 170,000 QPS for a master/standby Redis 6.0 basic edition instance.

    High availability (HA) and disaster recovery (DR)

    All instances except single-node ones can be deployed across AZs within a region with physically isolated power supplies and networks.

    For more information about open-source Redis, visit https://redis.io/.

  • DCS for Redis 6.0 professional edition

    DCS for Redis 6.0 professional edition features multithreading-based high performance.

    Multithreading-based high performance is achieved based on the open-source KeyDB, which is a Redis fork that delivers high performance. KeyDB focuses on multithreading, memory efficiency, and high throughput, and provides features found only in Redis Enterprise. KeyDB is fully compatible with the Redis protocol, modules, and scripts, and guarantees the atomicity of scripts and transactions. The development of KeyDB keeps pace with that of Redis, so KeyDB provides a superset of Redis functionality and can replace existing Redis deployments. Given the same hardware, KeyDB handles twice as many queries per second as Redis does with 60% lower latency.

    In versions earlier than Redis 6.0, a slow query often causes other queries to be delayed due to the single thread model. To address performance issues, the new edition has made a series of optimization based on a multi-thread model. Multi-thread concurrency has been improved for I/O and backend event processing; access to cached data is further accelerated through fair spinlock; expired keys can be removed twice as faster thanks to optimized algorithms; support for subkey expires also improves the read/write performance of big keys. As a result, the new edition is suitable in scenarios requiring high single-node performance, such as trending topics and livestreaming events on the Internet.
    Table 2 DCS for Redis 6.0 professional edition

    Instance type

    DCS for Redis 6.0 professional edition includes performance and storage sub-editions. Only master/standby instances are available. The professional (storage) edition uses memory and SSD disks.

    Each master/standby instance runs on two nodes (one master and one standby). The standby node replicates data synchronously from the master node. If the master node fails, the standby node automatically becomes the master node. You can split read and write operations by writing to the master node and reading from the standby node. This improves the overall cache read/write performance.

    Instance specifications

    8 GB, 16 GB, 32 GB, 64 GB

    Open-source compatibility

    DCS for Redis 6.0 professional edition is based on KeyDB and is fully compatible with open-source Redis 6.0.

    Underlying architecture

    Deployed on VMs. 400,000 QPS at a single node.

    HA and DR

    All instances except single-node ones can be deployed across AZs within a region with physically isolated power supplies and networks.

    For more information about KeyDB, visit https://keydb.dev/.

DCS for Memcached (Discontinued)

DCS for Memcached is no longer provided. You can use DCS Redis instances instead.

Memcached is an in-memory key-value caching system that supports read/write of simple strings. It is often used to cache backend database data to alleviate load on these databases and accelerate web applications. For details about its application scenarios, see Memcached (Discontinued) Application Scenarios.

In addition to full compatibility with Memcached, DCS for Memcached provides the hot standby and data persistence.

Table 3 DCS Memcached instance configuration

Instance type

DCS for Memcached provides the following two types of instances to suit different service scenarios:

Single-node: Suitable for caching temporary data in low reliability scenarios. Single-node instances support highly concurrent read/write operations, but do not support data persistence. Data will be deleted after instances are restarted.

Master/Standby: Each master/standby instance runs on two nodes (one master and one standby). The standby node replicates data synchronously from the master node, but does not support read/write operations. If the master node fails, the standby node automatically becomes the master node.

Memory

Specification of single-node or master/standby DCS Memcached instances: 2 GB, 4 GB, 8 GB, 16 GB, 32 GB, and 64 GB.

HA and DR

Master/Standby DCS Memcached instances can be deployed across AZs in the same region with physically isolated power supplies and networks.

For more information about open-source Memcached, visit https://memcached.org/.

DCS Video Introduction

Watch the following video to learn more about DCS.

Distributed Cache Service