代码之家  ›  专栏  ›  技术社区  ›  CJLam

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

  •  9
  • CJLam  · 技术社区  · 7 年前

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

    1 回复  |  直到 7 年前
        1
  •  18
  •   dmigo    5 年前

    您正试图针对不同的使用案例和不同的定价模型比较不同的存储系统。

    S3是一个blob存储,没有结构,没有数据类型,只能替换无法更新的项。您只能通过在bucket中列出blob来进行查询。它通常用于存储静态媒体文件。

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

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

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

    所以这取决于你的工作量。如果您需要亚毫秒的延迟,而不需要管理缓存层,并且您的应用程序是Java,Node。js,开始。NET或Python那么DAX是为您准备的。

    推荐文章