【发布时间】:2015-08-17 06:08:11
【问题描述】:
假设我有用户。这些用户可以访问多个项目。所以一个项目也可以允许多个用户。
所以我为四张桌子建模。 users (by_id)、projects (by_id)、projects_by_user_id 和 users_by_project_id。
------------ ------------ -------- -------- ------------- |用户 | |项目 | | projects_by_user | | users_by_project | |----------| |--------- | |-----------------| |-----------------| |编号 K | |编号 K | |用户 ID K | | project_id K | |姓名 | |姓名 | | project_id C | |用户 ID C | ------------ ------------ |项目名称 S | |用户名 S | -------------------- --------因此将user_name存储在users_by_project中,将projet_name存储在projects_by_user表中以供查询。
我遇到的问题是当用户更新项目名称时,这当然会更新项目表。但为了数据的一致性,我还需要更新 projects_by_user 表中的每个分区。
据我所知,这只能通过从 users_by_project 表中查询所有用户并为每个用户进行更新来实现。
不先读取大量数据有没有更好的方法?
【问题讨论】:
标签: cassandra many-to-many datastax