Following the launch of the Amazon ElastiCache for Redis fully managed memory caching service, AWS recently announced the official launch of Amazon MemoryDB for Redis, a highly persistent, Redis-compatible in-memory database. According to AWS, MemoryDB enables developers to cost-effectively build applications with microsecond read performance, single-digit millisecond write performance, and extremely high persistence and availability.
According to AWS, Amazon MemoryDB for Redis has the following features.
- Ultra-fast performance. MemoryDB stores entire data sets in memory to provide microsecond read latency, single-digit millisecond write latency, and high throughput. It can handle over 13 trillion requests per day and supports a peak of 160 million requests per second.
- Multi-AZ durability. memoryDB uses distributed transaction logging to ensure data persistence, consistency, and recoverability. memoryDB stores data across multiple AZs, so it enables fast database recovery and restart. For workloads that require low latency and high throughput, developers can use MemoryDB as a single primary database service, without having to treat it as a managed cache and additional relational or non-relational database for increased reliability.
- Scalability: MemoryDB supports operations such as write scaling by sharding and read scaling by adding replicas. The cluster will remain online and support read and write operations during resizing operations. Developers can scale a MemoryDB cluster of up to 500 nodes to meet changing application requirements.
- Fully Managed. Developers can use the AWS Management Console to view over 35 key operational metrics about the cluster, such as compute, memory, storage, throughput, active connections, etc. MemoryDB also automatically keeps developers’ clusters up-to-date with constant updates. MemoryDB also automatically keeps developers’ clusters up to date through constant updates.
- Secure. MemoryDB runs in Amazon VPC, allowing developers to isolate the database in their own virtual network and connect to their local IT infrastructure using industry-standard encrypted IPsec VPNs. Alternatively, developers can encrypt data at rest through AWS Key Management Service (KMS).
In addition, MemoryDB uses Redis Access Control Lists (ACLs) to control authentication and authorization for clusters. ACLs enable developers to define different permissions for different users in the same cluster.
AWS explains the difference between MemoryDB, which can be the primary database for applications, providing data persistence and microsecond read and millisecond write speeds, and ElastiCache, which enables the low latency required for interactive applications and microservice architectures without adding caching before the database. And ElastiCache offers microsecond latency for both reads and writes for caching workloads and speeding up access to existing databases. Of course, ElastiCache can also be used as primary database storage in cases where users can accept data loss.
Amazon MemoryDB for Redis is currently live in the US East, Europe and South America, and in Asia, mainly in Mumbai. Users can migrate from ElastiCache to MemoryDB or create clusters using Redis backup archives stored on Amazon S3. It is worth noting that MemoryDB currently only supports R6g, Graviton2.
However, AWS billing consultant Corey Quinn said on Twitter that data writes were costing “20 cents per GB” and would have cost $2,000 per month for the experimental project he created. “Amazon MemoryDB for Redis is probably the worst service AWS has ever launched.”
MemoryDB Usage Documentation.