问题标签 [amazon-dynamodb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 JavaScript 使用 Amazon dynamoDB
我一直在尝试使用 jQuery 和 Ajax 调用通过 JavaScript 与 Amazon DynamoDB 进行交互,但没有成功。经过两天的研究,我开始认为这可能是不可能的。我看到他们有适用于 Java、PHP 和 .Net 的 SDK,但还没有适用于 JavaScript 的 SDK。
亚马逊在此链接中解释了如何向发电机发送命令:
我已经能够使用 PHP sdk 和 node.js (https://github.com/xiepeng/dynamoDB) 做到这一点,但是使用常规的 javascript ajax 调用或 xmlHttpRequest 调用没有运气。
我已经能够获得有效的 aws 签名、秘密 ID 和会话令牌,因此我已将它们硬编码到标头中。
这是我的代码:
当我运行它时,我得到一个 404 Not found 错误,方法显示为“OPTIONS”(而不是 POST 或 GET)
java - java中的batchGetItem API错误
我正在查询的实体有一个HashKey
& 一个RangeKey
(数字)。当我使用batchGetItem
它时,我收到以下错误:
AWS 错误代码:ValidationException,AWS 错误消息:一个或多个参数值无效:位置和架构之间的属性类型不匹配
架构:
表:每日
哈希键:CustId(字符串)
范围键:日期(数字)
数据:
CustId : VisioNerdy
日期:1329071400000
代码:
有什么线索吗?
mongodb - NoSQL (MongoDB/DynamoDB) 架构
我正在从网站上抓取一系列产品并将它们存储在数据库中。目前,我正在使用 MySQL,有两个表:
这个模式意味着我可以得到过去任何时候列出的产品的快照。
我正在考虑迁移到 NoSQL,因为 (i) 我经常从不同的站点获取不同的字段,并且 (ii) 数据量将是每年大约 5-1000 万个产品。我可以看到两种构建模式的方法
选项 1:“嵌入式列表”
选项 2:“二级索引”
我认为选项 1 可以在允许二级索引的 MongoDB 中工作,而选项 2 可以在 MongoDB 或 DynamoDB 中工作。(我正在考虑这两个,因为我想要在云中托管的东西对我来说维护开销为零)。
我在这些方法的正确轨道上吗?哪个效果最好?我对 nosql 完全不熟悉,所以任何建议都将不胜感激。
amazon-dynamodb - 是否可以在 DynamoDB 中通过查询或扫描来订购结果?
是否可以使用 DynamoDB 中的查询或扫描 API 对结果进行排序?
我需要知道 DynamoDB 是否有类似ORDER BY 'field'
SQL 查询的东西?
谢谢。
nosql - 构造一个 dynamoDB 表以对表中的 * 项启用 ASC 或 DESC 有序分页
我想按时间/日期排序,并对表中的所有项目进行分页。Scan似乎旨在对所有内容进行分页,但似乎没有“ASC/DESC”等效项。查询具有ScanIndexForward但需要特定的主键。(没有办法选择 * ?)
根据这个问题的第一条评论,我认为实现这一目标的唯一方法是使用公共主键(!?),然后基于此进行查询,重点关注 Range 键。这真的是它应该如何工作的吗?如果我想根据唯一的主键查询单个项目,我必须使用镜像属性制作一个完整的单独表。
请原谅我的 NoSQL 菜鸟。我是一个只涉足 MySQL 和 SimpleDB 的前端开发人员。
nosql - 如何构建 DynamoDB 数据库以允许查询热门帖子?
我计划使用以下公式来计算“趋势”帖子:
p = 来自用户的投票(点数)。t = 自提交以来的时间,以小时为单位。
我正在寻找有关如何构建我的数据库表的建议,以便我可以使用 DynamoDB(来自 Amazon 的一种 nosql 数据库服务)查询趋势帖子。
DynamoDB 要求表中的每个项目都有一个主键。主键可以由两部分组成:哈希属性(字符串或数字)和范围属性(字符串或数字)。每个项目的哈希属性必须是唯一的并且是必需的。Range Attribute 是可选的,但如果使用 DynamoDB 将在 Range Attribute 上构建一个排序的范围索引。
我想到的结构如下:
表名:用户
表名:帖子
表名:类别
表名:计数器
因此,这是我将使用下表设置发出的请求类型的示例(例如:user_id=100):
用户操作 1:
用户创建一个新帖子并将帖子标记为 2 个类别(棒球、足球)
查询(1):
检查 counter_name='post_id' 和 increment+1 的当前值并使用新的 post_id
查询 (2):将以下内容插入 Posts 表:
查询(3):
将以下内容插入到类别表中:
查询(4):
将以下内容插入到类别表中:
最终目标是能够进行以下类型的查询:
1. 查询热门帖子
2. 查询某个类别
的帖子 3. 查询最高分值的帖子
有谁知道我可以如何构建我的表格,以便我可以查询热门帖子?还是我放弃了通过切换到 DynamoDB 来做的事情?
python - 如何使用 Boto 使 dynamoDB 中的密钥过期?
我正在尝试从 redis 迁移到 dynamoDB,到目前为止一切都很好!我唯一还没有弄清楚的是密钥过期。目前,我的数据设置只有一个主键,没有范围键,如下所示:
我当时的想法是扫描数据库以查找时间戳小于特定值的位置,然后显式删除它们。然而,这似乎效率极低,并且会无缘无故地使用大量的读/写单元!最重要的是,到期只会在我运行扫描时发生,因此可以想象它们会累积。
那么,有没有人找到解决这个问题的好方法?
java - 说明 amazon dynamo db 用法的 java 代码示例
您是否知道说明 Amazon Dynamo DB 用法的 Java 代码示例?如果有任何推荐的最佳实践,那对我也很有帮助。
perl - 在 EC2 上扩展 MongoDB 还是应该切换到 DynamoDB?
我目前在使用 MongoDB 的单个服务器上运行我的网站。在我的服务器上,我有两个组件 (1) 一个每小时运行的爬虫并将数据附加到我的 MongoDB 实例 (2) 一个从爬虫索引读取并写入用户个性化数据库的网站。我正在迁移到 Amazon EC2 进行自动扩展,以便网络服务器可以自动扩展,因此我可以随着网络流量的增加而增加服务器的数量。我的爬虫不需要自动缩放。这对我如何使用 MongoDB 提出了挑战。我想知道我最好的选择是优化
- 对我的代码的最小更改(代码在 perl 中)
- 能够无缝添加/删除 Web 服务器,而不必担心数据库中的数据丢失
- 低成本
在短期内,数据库肯定能够适应所有机器的内存,因为它将低于 2 GB。用户个性化数据库无法重建,因此拥有它更重要,而索引可以轻松重建。当前的 MongoDB 爬网索引有大约 100k 个条目,这些条目以大约 15 个不同的列为键。这是为速度而设计的,因为我正在开发一个在线约会网站(可以通过多种方式进行搜索)。
我能想到几个选项
- 使用 SimpleDB 作为用户个性化存储,使用 MongoDB 作为索引。让索引在所有机器上复制,但是,我对 MongoDB 复制不太了解。
- 将所有内容移至 SimpleDB
- 将所有内容移至 DynamoDB
我不太了解 SimpleDB 和/或 DynamoDB。根据文章,DynamoDB 似乎是一个自然的选择,但我不确定是否有良好的 perl 支持,我是否可以拥有所有列、索引等。有人有经验或有什么建议吗?
mongodb - DynamoDB 或 SimpleDB 可以替代我的 MongoDB 用例吗?
我想知道 DynamoDB 或 SimpleDB 是否可以取代我的 MongoDB 用例?这是我使用 MongoDB 的方法
- 15k 个条目,我每小时添加 200 个条目
- 15 列,每列都使用 (ensureIndex) 进行索引
- 一半的列是整数,其他是文本字段(基本上不超过 10 个唯一值)
- 我每小时运行大约 10k 次数据库读取,现在使用 MongoDB 读取速度非常快。这是一个在线约会网站。因此,平均 Mongo 查询是在 2 列(例如年龄和身高)上进行范围搜索,“IN”搜索大约 4 列(例如种族是 A、B 或 C……宗教是 A、B、 ro C)。
- 我非常频繁地使用限制和跳过(例如,让我获得前 40 个条目,接下来的 40 个条目等)
- 我使用 perl 来读/写