内容简介:一种读密集型的内存缓存 — Amazon DynamoDB Accelerator (DAX) 发行公开预览版
AWS发行了 Amazon DynamoDB Accelerator(DAX) 的公开预览版,它是一种完全受托管的write-through缓存服务,在逻辑上位于DynamoDB数据表的前面,提高读密集型负载的性能。DAX与DynamoDB是API兼容的,也就是说,现有的应用程序可以直接使用DAX,而不用被重写。该预览版目前只支持Java SDK。
Amazon DynamoDB 是一种完全受托管的、可扩展的NoSQL数据库服务,它既支持文档模型也支持键值存储模型。据 AWS 博客 所称, DynamoDB可被用于广告技术、物联网、游戏、电子商务和金融,有些用户在一张DynamoDB表中存储超过100TB的数据而且每秒提交上百万个读写请求。有些高要求的应用程序有着最终一致的读密集型负载,开发DAX的目的就是为这些应用程序提供快速的内存性能。
DAX可处理下面三种应用场景:
-
作为内存缓存,DAX将最终一致的读负载的延时降低了一个 数量级 ,从几毫秒降到微妙级。
-
DAX提供了一种可管理的服务来降低运营上和应用上的复杂度,该服务与Amazon DynamoDB是API兼容的,因此在现有应用程序中实现它的时候只要求 最小的功能更改 。
-
对于读取繁重或突发性的负载,DAX降低对过度分配 读容量单元(read capacity units) 的需求,从而提高吞吐量和降低运营成本。这一点对遭遇 热键(hot keys) 的应用程序很有用,对大型DynamoDB数据集(其中,不同分区内的读容量单元是均等分布的)的读吞吐量也很有用。
作为一个可管理的服务,DAX集群可通过AWS UI来创建,运营任务如软件打补丁、集群维护、复制或故障管理是自动处理的(可指定一个维护窗口)。每一个DAX集群可包含1到10个节点,可以通过增加节点来提高整体的读取吞吐量。缓存的大小基于节点的大小,范围从dax.r3.large到dax.r3.8xlarge,在集群被初始化的时候指定这个值。集群在VPC中运行,节点可以分布在整个可用区域。
DAX的预览版目前只支持 DynamoDB Java SDK 的API,而且必须用一种新的用于 Java 的DAX SDK来与DAX进行交互。AWS文档表明,这是因为SDK与集群发生交互时使用了一个低级TCP接口,该接口被调优后用于低延迟和高吞吐量。产品的路线图中已经包含了支持用其他语言来访问DAX。
根据DAX开发者指南,这类缓存技术的正面的应用案例包括:
- 对读取需要最快的可能响应时间的应用程序。
- 对一小部分项目读取更频繁的应用程序。譬如,为了转移“热”键和非均匀数据分布的影响,可将读取活动放在DAX缓存中。
- 读密集型和代价敏感型的应用程序。DAX允许将读取活动从DynamoDB表转移到DAX集群,从而降低所需要的读容量单元。
- 需要反复读取大量数据的应用程序。譬如,一个长时间运行的数据云的分析程序暂时消耗了一个DynamoDB表的所有读容量,这将会影响需要访问同一个数据的其他应用程序。借用DAX,该分析可针对缓存数据进行。
对下列应用程序而言,DAX并不是理想的选择:
- 需要很强的一致的读取,或者不能忍受最终一致的读取的应用程序(然而,当处理一致的读取时,可配置DAX来让其引用回DynamoDB表)。
- 不需要微秒级读取响应时间的应用程序。
- 写密集型或者没有太多的读取活动的应用程序。
- 已经使用了DynamoDB的其他缓存解决方案并相应地使用了自己的客户端逻辑的应用程序。
Amazon DAX 的公开预览版在美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)和欧洲(爱尔兰)等地区可免费使用。其他信息可参见 DAX开发者指南 。
查看英文原文: Amazon DynamoDB Accelerator (DAX) Released in Preview: In-Memory Cache for Read-Intensive Workloads
感谢薛命灯对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 《数据密集型应用设计》之事务
- 设计数据密集型应用(1-2)
- 计算密集型服务的负载均衡策略
- 设计数据密集型应用(六-七):分片、事务
- 设计数据密集型应用(6-7):分片、事务
- 设计数据密集型应用(四):Encoding and Evolution
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Impractical Python Projects
Lee Vaughan / No Starch Press / 2018-11 / USD 29.95
Impractical Python Projects picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you’ll use every day. And to keep things interesting, ea......一起来看看 《Impractical Python Projects》 这本书的介绍吧!