当前位置:新闻中心行业动态 → 正文

一种读密集型的内存缓存 —— Amazon DynamoDB Accelerator (DAX) 发行公开预览版

责任编辑:editor005 作者:Daniel Bryant |来源:企业网D1Net  2017-05-19 16:03:03 本文摘自:INFOQ

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

关键字:DAXNoSQL

本文摘自:INFOQ

x 一种读密集型的内存缓存 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

一种读密集型的内存缓存 —— Amazon DynamoDB Accelerator (DAX) 发行公开预览版

责任编辑:editor005 作者:Daniel Bryant |来源:企业网D1Net  2017-05-19 16:03:03 本文摘自:INFOQ

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

关键字:DAXNoSQL

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^