Amazon MemoryDB 是与 Valkey 和 Redis OSS 兼容的持久型内存数据库服务,可提供超快性能。它专为带有微服务架构的现代化应用程序而构建。

MemoryDB 与 Valkey 和 Redis OSS 兼容,使客户能够采用他们目前所用的灵活且易用的 Valkey 和 Redis OSS 数据结构、API 和命令快速构建应用程序。使用 MemoryDB 时,您的所有数据都存储在内存中,使您能够实现微秒级读取,以及个位数毫秒的写入延迟和高吞吐量。MemoryDB 还使用分布式事务日志跨多可用区(AZ)持久存储数据,以实现快速失效转移、数据库恢复和节点重启。MemoryDB 提供内存中性能和多可用区持久性,可用作您的微服务应用程序的高性能主数据库,因此无需单独管理高速缓存和持久数据库。 MemoryDB 多区域是一种主动-主动多区域数据库,让您可以构建可用性高达 99.999%、微秒级读取延迟和个位数毫秒级写入延迟的应用程序。

Valkey 和 Redis OSS 是一种快速、开源、内存中的键值数据存储库。开发人员利用 Valkey 和 Redis OSS 提供亚毫秒级的响应时间,每秒处理数百万个请求,支持游戏、广告技术、金融服务、医疗保健和 IoT 等行业的实时应用程序。

Valkey 和 Redis OSS 提供了灵活的 API、命令和数据结构,例如流、集合和列表,用于构建敏捷、多功能的应用程序。MemoryDB 与 Valkey 和 Redis OSS 保持兼容,并支持您熟悉的那几组 Valkey 和 Redis OSS 数据类型、参数和命令。这意味着您如今用于 Valkey 和 Redis OSS 的那些代码、应用程序、驱动程序和工具也可以与 MemoryDB 结合使用,因此您能够快速构建应用程序。

MemoryDB 将您的整个数据集存储在内存中,可实现微秒级的读取延迟、几毫秒的写入延迟以及高吞吐量。MemoryDB 也支持这种延迟和吞吐量。MemoryDB 每天可处理超过 13 万亿个请求,并支持每秒 1.6 亿个请求的峰值。 使用微服务架构进行构建的开发人员需要超高的性能,因为在每次用户交互或 API 调用中,这些应用程序可能需要与很多服务组件交互。使用 MemoryDB,您可以实现极低的延迟,以便为最终用户提供实时性能。

MemoryDB 包括增强型 I/O 多路复用,可大规模显著改善吞吐量和延迟。增强型 I/O 多路复用非常适合具有多个客户端连接的吞吐量受限工作负载,其优势会随工作负载并发级别扩展。例如,相较于与 Redis OSS 兼容的 MemoryDB 版本 6,使用 r6g.4xlarge 节点并运行 5200 个并发客户端时,吞吐量(每秒读取和写入操作数)可增加高达 46%,P99 延迟可减少高达 21%。对于这些类型的工作负载,节点的网络 I/O 处理可能成为扩展能力的限制因素。

通过增强型 IO 多路复用,每个专用网络 IO 线程会将来自多个客户端的命令传送到 Valkey 和 Redis OSS 引擎,从而利用 Valkey 和 Redis 高效批量处理命令的能力。

MemoryDB 多区域是一种完全托管式主动-主动多区域数据库,让客户可以构建可用性高达 99.999%、微秒级读取延迟和个位数毫秒级写入延迟的应用程序。它可提高应用程序的多区域弹性,因此应被视为组织业务连续性战略的一部分。

MemoryDB 多区域支持主动-主动复制,您可以从离客户最近的区域在本地处理读取和写入操作,读取延迟为微秒级,写入延迟为个位数毫秒级。它会在区域之间异步复制数据,数据传播过程通常不到一秒种。MemoryDB 多区域会自动解决更新冲突并纠正数据差异问题,让您可以专注于自己的应用程序。

MemoryDB 多区域可与现有的 MemoryDB 功能配合使用,但无法实现数据分层和向量搜索。有关更多信息,请参阅 MemoryDB 多区域文档

适用于 MemoryDB 的 AWS Controllers for Kubernetes (ACK)使您能够直接定义并使用来自您的 Kubernetes 集群的 MemoryDB 资源。这样您就可以利用 MemoryDB 来支持您的 Kubernetes 应用程序,而无需在集群外定义 MemoryDB 资源,或在集群内运行和管理内存数据库功能。您可以从 Amazon Elastic Container Registry(Amazon ECR) 下载 MemoryDB ACK 容器映像,并查阅 文档 以获得安装指导。 您也可以访问 博客 以获取更多详细信息。

注意:ACK for MemoryDB 现已正式上市。请在我们的 Github 页面 上提供您的反馈。

截至 2024 年 6 月 26 日,MemoryDB 在 AWS 上的常用向量数据库中提供极快的向量搜索性能和极高的召回率。通过适用于 MemoryDB 的向量搜索功能,您可以存储数百万个向量嵌入,实现个位数毫秒级的向量搜索速度,并在超过 99% 的召回率下,以业界顶尖的吞吐量进行快速更新。

向量是非结构化数据(例如文本、图像和视频)的数字表示,是从有助于捕捉基础数据的语义含义的机器学习(ML)模型创建的。MemoryDB 使机器学习和生成式人工智能模型能够实时处理存储在 MemoryDB 中的数据,而无需移动数据。借助 MemoryDB,您可以在 Valkey 和 Redis OSS 数据结构中存储、索引、检索和搜索向量嵌入。您还可以在 MemoryDB 数据库中存储来自人工智能/机器学习模型的向量嵌入,例如来自 Amazon Bedrock Amazon SageMaker 的嵌入。阅读我们的 文档 ,了解有关在 MemoryDB 上进行向量搜索的更多信息。

适用于 MemoryDB 的向量搜索功能适用于峰值性能和规模是最重要选择标准的应用场景。在聊天机器人的检索增强生成(RAG)、异常(欺诈)检测、实时推荐引擎和文档检索等使用案例中,可以使用向量搜索为实时机器学习和生成式人工智能应用程序提供支持。

作为一种成本较低的方式,MemoryDB 提供数据分层来将您的集群扩展到数百 TB 的容量。数据分层为 MemoryDB 提供了一个具有性价比的选项,除了在内存中存储数据外,还可以在每个集群节点中使用成本较低的固态硬盘(SSD)。它非常适合于定期访问 20% 以内总体数据集的工作负载,以及在 SSD 上访问数据时能够容忍额外延迟的应用程序。

当使用具有数据分层的集群时,MemoryDB 设计用于在可用内存容量消耗时,自动且透明地将最近使用最少的项目从内存移动到本地连接的 NVMe SSD。当您访问存储在 SSD 上的项目时,MemoryDB 会在处理请求之前将其移回内存。MemoryDB 数据分层可在基于 Graviton2 的 R6gd 节点上使用。与 R6g 节点(仅内存)相比,R6gd 节点的总容量(内存+SSD)增加了近 5 倍,可以帮助您在最大利用率下实现 60% 以上的存储成本节省。假设有 500 字节的字符串值,与对内存中数据的读取请求相比,对存储在 SSD 上的数据的读取请求通常会增加 450µs 的延迟。

MemoryDB 提供预留节点,如果您在一年或三年期内达到承诺使用量,与按需节点价格相比,最多可节省 55%。预留节点是对 MemoryDB 按需节点的补充,可为企业提供灵活性,帮助降低成本。MemoryDB 提供了三种预留节点付款选项(不预付、部分预付和全额预付),您可以通过这三种选项平衡您的预付款金额与您的有效小时价格。

MemoryDB 预留节点在节点系列和 AWS 区域内提供大小灵活性。这意味着折扣后的预留节点费率将自动应用于同一节点系列中的各种大小的使用量。大小灵活性功能将减少您花在管理预留节点上的时间,而且由于不再受特定数据库节点大小的限制,因此即使您的数据库需要更新,也可以从折扣中获得最大收益。

AWS 对 Internet Explorer 的支持将于 07/31/2022 结束。受支持的浏览器包括 Chrome、Firefox、Edge 和 Safari。 了解详情 »