Help Center > > Service Overview> What Is DCS?

What Is DCS?

Updated at: Jan 26, 2022 GMT+08:00

HUAWEI CLOUD Distributed Cache Service (DCS) is an online, distributed, in-memory cache service compatible with Redis and Memcached. 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, Proxy Cluster, Redis Cluster, and read/write splitting instances with specifications ranging from 128 MB to 1024 GB. DCS instances can be created with just a few clicks on the console, without requiring you to prepare servers.

    DCS Redis 4.0, 6.0, and 5.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.

For details on how to select a cache engine, see Comparing Redis and Memcached.

DCS for Redis

DCS for Redis supports Redis 3.0, 4.0, 5.0, and 6.0.

  • HUAWEI CLOUD DCS for Redis 3.0, 4.0, and 5.0

    DCS for Redis 3.0 is no longer provided. You can use DCS for Redis 4.0 or 5.0 instead.

    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.

    Table 1 DCS Redis instance configurations

    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 3.0, 4.0, 5.0, and 6.0.

    Underlying architecture

    Standard Redis based on VMs: supports up to 100,000 queries per second (QPS) at a single node.

    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/.

  • HUAWEI CLOUD DCS for Redis 6.0 (OBT)

    Redis 6.0 is in OBT. You can go to the page for creating an instance on the DCS console, and click Apply Now to apply for the OBT permission, as shown in the following figure.

    HUAWEI CLOUD DCS for Redis now 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. Active-replication simplifies hot standby failover, allowing you to easily allocate write operations on replicas and use simple TCP-based load balancing or failover. The high performance of KeyDB allows you to achieve more with less hardware, reducing operation costs and complexity.

    In KeyDB, I/O and event loops run on multiple threads. KeyDB supports features such as subkey expires, multiple masters, nested hashes, and CRON for Lua scripts, which are not available in Redis.

    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.

    DCS Redis instances can be customized based on your requirements.
    Table 2 DCS Redis instance configurations

    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

    Range from 4 GB to 8 GB, 16 GB, 32 GB, and 64 GB.

    Open-source compatibility

    KeyDB 6.0.16

    Underlying architecture

    Standard Redis based on VMs: supports up to 300,000 queries per second (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/.

    Currently, DCS for Redis 6.0 supports only the master/standby instance type.

DCS for Memcached (Unavailable Soon)

DCS for Memcached is about to become unavailable and is no longer sold in some regions. You can use DCS for Redis 4.0 or 5.0 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 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

Did you find this page helpful?

Submit successfully!

Thank you for your feedback. Your feedback helps make our documentation better.

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel