amazon-web-services - dynamodb 中的哈希键和范围键是什么以及如何使用它们

标签 amazon-web-services amazon-dynamodb dynamoose

我目前正在查看 dynamodb 文档,但不清楚哈希键和范围键是什么以及它们应该如何使用。

我只需要基本解释它们是什么以及我应该如何使用它们,以便我可以继续使用它。

最佳答案

我喜欢这样想:

  • 表中的每个项目(行)都需要有一个唯一 ID(主键)
  • 主键是:
    • 分区键
    • 分区键 + 排序键

例如,如果您有一个Invoices 表,那么主键就是Invoice Number。如果您有一个登录 表,那么主键将是用户 ID + 时间戳,因为一个用户可以有多个登录。

在幕后,分区键还用于在服务器之间分发数据。这就是 DynamoDB 确保其高速的方式——当有更多数据时,它会分布在更多服务器上。

如果一个表(例如登录表)对于给定的分区键(例如用户 ID)有多个条目,则添加排序键可确保主键的唯一性,以便项目可以快速存储和检索。

散列键 = 分区键

范围键 = 排序键

关于amazon-web-services - dynamodb 中的哈希键和范围键是什么以及如何使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57416171/

相关文章:

amazon-web-services - 在elasticsearch中1个父类型可以有多个子类型吗?

node.js - 在 Elastic Beanstalk 上运行时如何获取服务器 URL?

php - AWS s3分段上传失败+内存分配耗尽+php

amazon-web-services - Dynamodb - 创建大量数据很少的分区是不好的做法吗?

java - 启用 amazon dynamodb TTL(生存时间)的 api 方式是什么?

amazon-dynamodb - 如何在 Dynamoose/DynamoDB 中建立关系模型?

node.js - 通过不同属性进行Dynamoose查询(Node.js)

amazon-web-services - 云前端支持 Nginx(S3 的代理)随机丢失已缓存的项目?

javascript - Dynamoose - 无法查询和使用 2 个键的位置

java - 尝试通过 Java SDK 将记录从 Spark DataFrame 写入 Dynamodb 时任务不可序列化