【问题标题】:DynamoDB fast search on complex data typesDynamoDB 对复杂数据类型的快速搜索
【发布时间】:2017-11-14 22:05:18
【问题描述】:

我需要在 AWS DynamoDB 上创建一个新表,其结构如下:

{
    "email" : String (key),
    ... : ...,
    "someStuff" : SomeType,
    ... : ...,

    "listOfIDs" : Array<String>    
}

此表包含用户数据和我经常查询的字符串列表(请参阅listOfIDs)。
由于我不想每次都使用scan 表来让用户链接到该特定ID,因为它的速度很慢,而且我无法创建索引,因为它是一个数组而不是“简单”类型,怎么可能我改进了我的表结构?我应该使用一个不同的表,其中我的所有 ID 和用户都以“平面”结构链接到它们吗?有没有其他办法?

谢谢大家!

【问题讨论】:

    标签: amazon-web-services nosql amazon-dynamodb


    【解决方案1】:

    也许另一个表格看起来像:

    ID    string / hash key,
    Email string / range key,
    Any other attributes you may want to access
    

    IDemail 的独特组合将允许您在“ID 列表”上进行搜索。您可能希望在此表中包含其他属性,以免您需要执行另一个查询。

    【讨论】:

      【解决方案2】:

      我是否应该使用一个不同的表,其中我的所有 ID 和链接到它们的用户都以“平面”结构进行?

      如果您想利用 DynamoDB 的并行性来提高查询性能,我认为这将是您的最佳选择。

      如果您的 listOfIDs 存储为 set,另一个选项可能是在 query 中使用 CONTAINS 表达式,但我无法想象这会像您的那样在性能方面进行扩展表变大了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-14
        • 2020-03-02
        • 2016-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        相关资源
        最近更新 更多