【问题标题】:How does dynamodb handle records with hashKey as undefineddynamodb 如何处理 hashKey 为 undefined 的记录
【发布时间】:2015-12-29 08:12:19
【问题描述】:

我想为 dynamodb 表创建一个全局索引。表中的大多数记录具有全局索引的 hashKey 的“未定义”值。 dynamodb 如何使用“未定义”的 hashKey 对这些记录进行分区?我只使用未定义的 hashKey 值查询全局索引。我想知道这些“未定义”的 hashKey 记录是否会损害查询性能。

【问题讨论】:

    标签: amazon-dynamodb


    【解决方案1】:

    如果未定义的意思是它们的实际字符串值为“未定义”,它们将在索引中,这可能会通过潜在地创建热分片而损害性能。

    但是,如果未定义是指这些属性没有任何关联的值,那么这将最终创建所谓的稀疏索引。拥有稀疏索引意味着这些项目根本不会在 GSI 中,这将有利于性能,因为写入缺少这些属性的对象不需要写入 GSI。

    稀疏索引是 DynamoDB 的一项强大功能,因为它提供了另一种访问项目的方式。例如,拥有稀疏索引意味着它可以拥有更少的记录,这使得 GSI 扫描在某些用例中很实用。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-25
    • 2023-03-04
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    相关资源
    最近更新 更多