Tag: 亚马逊 dynamodb

关键架构中的属性数量必须与属性定义中定义的属性数量相匹配

我想创build一个简单的表,使用DynamoDB的JavaScript shell,我得到这个exception: { "message": "The number of attributes in key schema must match the number of attributes defined in attribute definitions.", "code": "ValidationException", "time": "2015-06-16T10:24:23.319Z", "statusCode": 400, "retryable": false } 下面是我试图创build的表格: var params = { TableName: 'table_name', KeySchema: [ { AttributeName: 'hash_key_attribute_name', KeyType: 'HASH', }, ], AttributeDefinitions: [ { AttributeName: 'hash_key_attribute_name', AttributeType: 'S', }, { […]

CloudFormation坚持我的DynamoDB创buildJSON是无效的..但我不明白如何

下面是我的对stream层生成的JSON(的DynamoDB部分): "sandbox": { "Properties": { "AttributeDefinitions": [ { "AttributeName": "audit_id", "AttributeType": "S" }, { "AttributeName": "status", "AttributeType": "S" }, { "AttributeName": "filename", "AttributeType": "S" }, { "AttributeName": "file_detected_dt", "AttributeType": "S" }, { "AttributeName": "time_taken", "AttributeType": "N" }, { "AttributeName": "number_rows_processed_file", "AttributeType": "N" }, { "AttributeName": "number_rows_created_db", "AttributeType": "N" }, { "AttributeName": "info_messages", "AttributeType": "S" } […]

你如何查询DynamoDB?

我正在研究Amazon的DynamoDB,因为它看起来像是消除了维护和扩展数据库服务器的麻烦。 我目前正在使用MySQL,维护和扩展数据库是一个完整的头痛。 我已经通过了文档,我很难试图围绕如何构build数据,以便于检索。 我对NoSQL和非关系数据库是全新的。 从Dynamo文档中,您听起来像只能查询主散列键上的表,而使用有限数量的比较运算符来查询主范围键。 或者,您可以运行全表扫描并对其应用filter。 值得注意的是,它一次只能扫描1Mb,因此您可能需要重复扫描才能findX个结果。 我意识到这些限制使它们能够提供可预测的性能,但是看起来好像让数据难以获取。 进行全表扫描看起来好像效率不高,随着表的增长,效率会随着时间的推移而降低。 例如,我有一个Flickr克隆。 我的图像表可能看起来像这样: 图像ID(数字,主哈希键) 添加date(数字,主要范围键) 用户ID(string) 标签(string设置) 等等 所以使用查询我将能够列出过去7天的所有图像,并将其限制在X数量的结果中。 但是,如果我想列出来自特定用户的所有图像,我需要做一个全表扫描和用户名过滤。 标签也一样。 而且由于一次只能扫描1Mb,因此可能需要执行多次扫描才能findX个图像。 我也没有看到一个方法可以轻松停止在X的图像。 如果您想抓取30张图片,您的第一次扫描可能会find5张图片,而您的第二张图片可能会find40张图片。 我有这个权利吗? 这基本上是一个权衡? 您可以获得真正快速的可预测数据库性能,几乎免维护。 但是权衡是你需要build立更多的逻辑来处理结果? 还是我完全脱离基地?

Amazon AWS DynamoDB桌面客户端 – 是否存在?

一直在networking上寻找其中的一个,但我只findnode.js / ruby​​托pipe的实现。 我很想拥有一个DynamoDB应用程序,类似于附带msi安装程序的Navicat声音,以便快速运行。 也许有一个正当的理由,为什么其中一个不存在呢?

AWS MySQL RDS vs AWS DynamoDB

现在我一直在使用MySQL,所以我对它的结构和SQL查询很感兴趣。 目前在AWS中构build一个新的系统,我一直在看DynamoDB。 目前我只知道一点。 一个比另一个更好吗? DynamoDB有什么优势? 从MySQL查询等到这个平面样式数据库的过渡是什么?

从DynamoDB中删除大量项目的build议方法是什么?

我在DynamoDB中编写了一个简单的日志logging服务。 我有一个由user_id散列和timestamp(Unix纪元int)范围键入的日志表。 当服务的用户终止他们的帐户,我需要删除表中的所有项目,无论范围值。 做这种操作的推荐方式是什么(记住可能有数百万个项目要删除)? 就我所见,我的select是: 答:执行扫描操作,调用每个退回的项目的删除,直到没有项目剩下 B:执行BatchGet操作,再次调用每个项目的删除,直到没有剩余 这两个对我来说都很糟糕,因为他们需要很长时间。 我最想做的就是调用LogTable.DeleteItem(user_id) – 不提供范围,并删除所有的东西。

DynamoDB中本地和全局索引之间的区别

我很好奇这两个二级指标和它们之间的差异。 很难想象这是怎么回事。 而且我认为,这将帮助更多的人,而不仅仅是我。