2016-12-16 66 views
0

我是nosql的新手,在阅读dynamodb之后,我对如何建模我的用例产生了一些困惑。我有一个有用户和俱乐部的应用程序。用户可以属于0多个俱乐部。用户也可以是俱乐部的所有者,该俱乐部授予他们增强的特权。优化查询的Dynamodb模式设计

我正在考虑有2张桌子来管理俱乐部/用户关系。 1用户名的分区键和club_name的排序键,另一个用club_name的分区键和user_name的sorty_key。这些应该允许我有效地查询我的俱乐部和我所属的所有俱乐部中的所有用户。

我如何有效地查询所有俱乐部我不是我的俱乐部成员和所有用户谁不在我的俱乐部?

回答

0

也许你应该使用关系数据库或配置单元。

使用DynamoDB。你可以使用3个表格。

  • 表1:用户表,使用user_id作为hash_key并具有字段user_name。表2:俱乐部表,使用club_id作为hash_key并且具有场地club_name。

  • 表3:关系表,使用user_id和club_id作为hash_key和range_key。

但是你不能得到结果使用一个查询。

我不建议做这个查询使用dynamodb。