我如何在 DynamoDb 中加入两个 table?
How I can join two table in DynamoDb?
我是 DynamoDB 的新手,有人可以帮助我在 DynamoDB 中使用 JOIN 吗?我使用无服务器框架和映射模板。我有 table 和 POST 和 USER 。
POST 有 userId 字段。我如何获得所有包含用户信息的帖子?在 MYSQL 中我可以使用 JOIN 但它在 DynamoDB 中如何工作?我阅读了 2 年前创建的 Whosebug 中的帖子。伙计们写道,它不可用。也许有什么改变了……?
DynamoDB 是一个 NoSQL 数据库。这赋予它分区、令人难以置信的性能、可扩展性、可靠性等。
权衡是它不是关系数据库。因此,DynamoDB 不会执行 table join。
您需要单独阅读 table 和 'join' 应用程序中所需的数据。
例如,从 Post
table 检索 UserId
,然后从 User
table 检索给定 UserId
的记录].
我找到了解决方案。 gitHub 上的用户 @eltonio450 展示了如何执行此操作。
从技术上讲,您可以使用 Amazon EMR Hadoop 在 DynamoDB table 之上创建一个 EXTERNAL
Hive table;然后使用 HiveQL 查询 Hive table。
但是不推荐Hive+DynamoDB的方式;因为 DynamoDB 专为低延迟查询而设计。 Hive 是面向批处理的。
此外,Hive 可能会在应用任何查询谓词之前向 DynamoDB table(s) 发出扫描(本质上效率低下)请求。
我是 DynamoDB 的新手,有人可以帮助我在 DynamoDB 中使用 JOIN 吗?我使用无服务器框架和映射模板。我有 table 和 POST 和 USER 。 POST 有 userId 字段。我如何获得所有包含用户信息的帖子?在 MYSQL 中我可以使用 JOIN 但它在 DynamoDB 中如何工作?我阅读了 2 年前创建的 Whosebug 中的帖子。伙计们写道,它不可用。也许有什么改变了……?
DynamoDB 是一个 NoSQL 数据库。这赋予它分区、令人难以置信的性能、可扩展性、可靠性等。
权衡是它不是关系数据库。因此,DynamoDB 不会执行 table join。
您需要单独阅读 table 和 'join' 应用程序中所需的数据。
例如,从 Post
table 检索 UserId
,然后从 User
table 检索给定 UserId
的记录].
我找到了解决方案。 gitHub 上的用户 @eltonio450 展示了如何执行此操作。
从技术上讲,您可以使用 Amazon EMR Hadoop 在 DynamoDB table 之上创建一个 EXTERNAL
Hive table;然后使用 HiveQL 查询 Hive table。
但是不推荐Hive+DynamoDB的方式;因为 DynamoDB 专为低延迟查询而设计。 Hive 是面向批处理的。
此外,Hive 可能会在应用任何查询谓词之前向 DynamoDB table(s) 发出扫描(本质上效率低下)请求。