写点什么

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

  • 2017-05-18
  • 本文字数:1503 字

    阅读完需:约 5 分钟

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 )关注我们。

2017-05-18 19:001818
用户头像

发布了 21 篇内容, 共 97482 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

提高软技能,财务团队发展的关键经验教训

智达方通

全面预算管理 财务管理 财务报告 管理会计信息化

助力园区数字化转型,合合信息市北高新园区打造“一企一画像”个性化服务

合合技术团队

数字化转型 科技 合合信息

MES实时监控食品加工过程中各环节的安全

万界星空科技

工业互联网 mes 万界星空科技 食品MES 食品行业

Node.js 扩展N-API 和应用场景

PingCode研发中心

node.js 应用场景

TON基金会与Curve Finance合作:推出基于TON的新型稳定币互换项目

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

阿里巴巴搜索API返回值:电商市场竞争的新武器

技术冰糖葫芦

API Gateway API 接口 API 测试 pinduoduo API

从数据仓库到数据飞轮:数据技术演进的探索与思考

不叫猫先生

数据中台 数据仓库 数据 数据飞轮

阿里巴巴API助力电商:商品详情获取与数据驱动的完美结合

技术冰糖葫芦

API Gateway API 接口 API 测试 pinduoduo API

Java获取Object中Value的方法

快乐非自愿限量之名

Java

tair性能挑战赛攻略心得-Zzzzz

阿里云天池

Suno 重磅功能「Covers」:一键翻唱任意歌曲;阿里通义将发布 AI 视频生成大模型丨 RTE 开发者日报

声网

基于ChatGPT开发人工智能服务平台

霍格沃兹测试开发学社

反DDD模式之关系型数据库

EquatorCoco

数据库 DDD

华瑞指数云ExponTech与崖山科技达成战略合作,共筑国产数据库新生态

科技热闻

TikTok怎么开直播?TikTok直播专线是什么?

Ogcloud

海外直播专线 tiktok直播 tiktok直播专线 海外直播网络 tiktok直播网络

关于征集人工智能中台系列标准参编单位通知

中国信通院AI Infra工作组

Suno 重磅功能「Covers」:一键翻唱任意歌曲;阿里通义将发布 AI 视频生成大模型丨 RTE 开发者日报

声网

前端是靠什么起家的?

伤感汤姆布利柏

人工智能 | 基于ChatGPT开发人工智能服务平台

测吧(北京)科技有限公司

测试

火山引擎数智平台:高性能ChatBI的技术解读和落地实践

字节跳动数据平台

大数据 BI 数据可视化 大模型 ChatBI

Java读取寄存器数据的方法

不在线第一只蜗牛

Java 数据库

用户需求瞬息万变?游戏直播平台快速开发应对方案

软件开发-梦幻运营部

谷歌云推出全新区块链RPC服务:简化Web3开发

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 公链开发 代币开发

2024南京软件产业博览会(南京软博会)

AIOTE智博会

软件博览会 软件展会 软博会 南京软博会

万界星空科技AI低代码MES的具体功能及工厂应用效果

万界星空科技

低代码 低代码平台 mes 万界星空科技 低代码云MES

数据驱动新时代:数据飞轮如何唤醒中台潜能

不叫猫先生

大数据 数据中台 数据仓库 数据飞轮

什么是任务管理工具

爱吃小舅的鱼

Flink垃圾图片分类优胜奖比赛攻略_贪吃的小香猪-148队

阿里云天池

什么是任务管理工具

高端章鱼哥

四类取整方式

不在线第一只蜗牛

c++ C#

一种读密集型的内存缓存 — Amazon DynamoDB Accelerator (DAX) 发行公开预览版_亚马逊云科技_Daniel Bryant_InfoQ精选文章