AWS超低延迟读/写数据存储:EFS与Dynamodb DAX对比ElastiCache

CJL*_*Lam 7 amazon-web-services amazon-elasticache amazon-dynamodb amazon-efs amazon-dynamodb-dax

我的Web应用程序需要极低延迟的小数据blob(<10KB)读/写,可以存储为键值对.我正在考虑使用DynamoDB(使用DAX)和EFS以及ElastiCache.AWS声称他们都提供低延迟,但我找不到任何头2对比,而且我不清楚这三个是否甚至在同一个联盟.有人可以分享任何见解吗?

Abd*_*dad 15

您正尝试使用不同的定价模型比较不同用例的不同存储系统.

EFS是一个文件系统,您无需配置存储设备,也可以从多个EC2实例进行访问.EFS可能适用于您的用例,但您需要管理文件.这意味着您需要构建数据以适应文件.或者,您可能需要根据所需的结构和检索级别构建键值或blob /对象存储系统.有些产品可以帮助您解决此问题,例如S3,DynamoDB,Elasticache Redis或Memcached.

S3是一个blob存储,没有结构,没有数据类型,只能更换的项目不能更新.您只能通过列出存储桶中的blob来查询.它通常用于存储静态媒体文件.

DynamoDB是一个非关系型(也称为No-SQL)数据库,可用作文档或键值存储,其中数据是结构化的,强类型的并具有查询功能.可以存储高达400KB的项目.

Elasticache(Redis或Memcached)是键值存储,通常用作持久数据存储(如DynamoDB)前面的缓存.在这种情况下,应用程序需要知道不同的层; 管理不同的API并处理应用程序中的缓存逻辑.

使用DAX,您可以无缝地集成缓存层,而无需在应用程序中使用缓存逻辑.DAX目前为DynamoDB提供直写缓存.DAX API与DynamoDB API兼容,如果您的应用程序已通过使用DAX客户端替换DynamoDB客户端来使用DynamoDB,则可以无缝地添加缓存层.请记住,DAX目前仅支持Java和Node.js客户端.

所以它真的取决于你的工作量.如果您需要亚毫秒的延迟,而不需要管理缓存层,而您的应用程序是Java或Node.js,则DAX适合您.