mac*_*478 5 amazon-web-services nosql amazon-dynamodb
该DynamoDB最佳实践文档有这样一行:
您应该在 DynamoDB 应用程序中维护尽可能少的表。大多数设计良好的应用程序只需要一张表。
这是最让我困惑的最后一行。
以照片存储应用程序为例。这是否意味着我应该将用户帐户(帐户 ID、密码、电子邮件)和照片(所有者 ID、照片位置、元数据)存储在同一个表中?
如果是这样,我假设主键应该是帐户/所有者 ID,排序键将是它的对象类型(例如account或photo)。
我应该使用这样的一张桌子而不是两张桌子(一张用于帐户,一张用于照片)?
通常建议使用尽可能少的表,并且通常使用单个表,除非您有充分的理由使用多个表。很有可能你没有充分的理由使用多个——除了旧习惯。
如果您来自传统的数据库背景(像我一样),这似乎违反直觉,但实际上这是最佳实践。
主键可以成为“行”/对象类型和另一个值的组合,存储在单个字段中,即“account#12345”用于唯一 ID 为 12345 的帐户对象,“photo#67890”用于照片对象您的 ID 为 67890 -
如果您是通过您的身份证号码查找帐户,您将使用帐户前缀进行查询,如果您正在查找照片,您将添加“照片”前缀。这是一个非常简单的示例 - 您的设计可能会有所不同。
你的问题第一条评论中推荐的视频非常好——以0.75或更低的速度观看,多看几遍。
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |