node.js – 如何在Amazon Dynamodb中使用聚合函数

栏目: Node.js · 发布时间: 5年前

内容简介:我是Dynamodb的新手我在DynamoDB中有一个表,里面有超过10万个项目.此外,此表经常刷新.在这张桌子上,我希望能够在关系数据库世界中做类似的事情:我如何从表中获得最大值.DynamoDB是NoSQL数据库,因此对查询数据的方式非常有限.通过直接调用DynamoDB API,无法从表中执行聚合(如max value).您将不得不寻找不同的工具和方法来解决这个问题.您可以考虑许多可能的解决方案:

我是Dynamodb的新手我在DynamoDB中有一个表,里面有超过10万个项目.此外,此表经常刷新.在这张桌子上,我希望能够在关系数据库世界中做类似的事情:我如何从表中获得最大值.

DynamoDB是NoSQL数据库,因此对查询数据的方式非常有限.通过直接调用DynamoDB API,无法从表中执行聚合(如max value).您将不得不寻找不同的 工具 和方法来解决这个问题.

您可以考虑许多可能的解决方案:

执行表扫描

你的桌子上有超过10万件物品,这可能是一个非常糟糕的主意.表扫描将读取每个项目,您可以让应用程序端逻辑识别最大值.这真的不是一个可行的解决方案.

DynamoDB中的物化指数

根据您的使用情况,您可以使用DynamoDB流和Lambda函数在单独的DynamoDB表中维护索引.如果您的表是只写的,没有更新而没有删除,您可以将最大值存储在单独的表中,并且当插入新记录时,您可以比较它们并执行必要的更新.

这种方法在某些受限制的情况下是可行的,但不是一种通用的解决方案.

使用Amazon Redshift执行分析

DynamoDB并不意味着进行最大化等分析操作,而Redshift是一个非常强大的大数据平台,可以轻松执行这些类型的计算.与DynamoDB索引类似,您可以使用DynamoDB流将数据发送到Redshift,因为记录被插入以维护表的近实时副本以用于分析目的.

如果您正在寻找更多离线或分析解决方案,这是一个不错的选择.

使用Elasticsearch执行分析

虽然DynamoDB是一个强大的NoSQL解决方案,对数据持久性有很强的保证,但Elasticsearch提供了一种非常灵活的查询方法,允许对最大和这些聚合等查询进行实时切片和切块.与上述解决方案类似,您可以使用DynamoDB流将记录插入更新和删除实时发送到Elasticsearch索引中.

如果您想坚持使用DynamoDB但需要一些额外的查询功能,这确实是一个很好的选择,尤其是在使用AWS ES服务时,它将为您完全管理Elasticsearch集群.重要的是要记住,Elasticsearch不会替换您的DynamoDB表,它只是相同数据的易于搜索的索引.

只需使用 SQL 数据库

显而易见的解决方案是,如果您有SQL要求,那么从基于NoSQL的系统转移到基于SQL的系统. AWS的RDS产品提供托管解决方案.虽然DynamoDB提供了很多好处,但如果您的用例将您带入SQL解决方案,最简单的方法可能是不打击它并只是改变解决方案.

这并不是说基于SQL的解决方案或基于NoSQL的解决方案更好,每种方法都有优缺点,而且根据具体的使用情况而有所不同,但它绝对是一个需要考虑的选择.

翻译自:https://stackoverflow.com/questions/36866902/how-to-use-aggregate-functions-in-amazon-dynamodb


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

鸟哥的Linux私房菜 基础学习篇(第二版)

鸟哥的Linux私房菜 基础学习篇(第二版)

鸟哥 / 人民邮电出版社 / 2007-9 / 65.00元

《鸟哥的Linux私房菜基础学习篇(第二版)》全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理......一起来看看 《鸟哥的Linux私房菜 基础学习篇(第二版)》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具