Dynamodb 使用什么搜索算法?
What searching algorithm does Dynamodb use?
这个问题的原因是:
我们计划将 UUID 作为用户 ID、公司 ID 和负载板项目的负载 table 的分区键,我们正在使用 DynamoDB。
当我们在 DynamoDB 中有数千条记录时,假设是一个用户 table,我想用他们的用户 ID 搜索一个用户。
使用 UUID(ff44393c-bec6-4005-a966-15050fd9bb77) 或像 (001,002.....) 这样的普通整数 ID 作为分区键,搜索效率会更高吗?
我还看到 UUID 格式是大多数应用程序维护的标准,但不确定它们的用例是否与我们的相匹配?
有 AWS 博客给出了有关分区键的建议:
给出的建议之一是:
Use high-cardinality attributes. These are attributes that have distinct values for each item, like e-mailid, employee_no, customerid, sessionid, orderid, and so on.
此外,他们写道 using sequences 是 anti-pattern。因此,它认为 UUID
在您的情况下会更好。
这个问题的原因是:
我们计划将 UUID 作为用户 ID、公司 ID 和负载板项目的负载 table 的分区键,我们正在使用 DynamoDB。
当我们在 DynamoDB 中有数千条记录时,假设是一个用户 table,我想用他们的用户 ID 搜索一个用户。
使用 UUID(ff44393c-bec6-4005-a966-15050fd9bb77) 或像 (001,002.....) 这样的普通整数 ID 作为分区键,搜索效率会更高吗?
我还看到 UUID 格式是大多数应用程序维护的标准,但不确定它们的用例是否与我们的相匹配?
有 AWS 博客给出了有关分区键的建议:
给出的建议之一是:
Use high-cardinality attributes. These are attributes that have distinct values for each item, like e-mailid, employee_no, customerid, sessionid, orderid, and so on.
此外,他们写道 using sequences 是 anti-pattern。因此,它认为 UUID
在您的情况下会更好。