Cassandra:数据建模小组

时间:2018-01-31 14:19:10

标签: database-design cassandra data-modeling

我正在寻求如何设计以下用例的建议:

用户可以成为单位的一部分。如果他是一个单元的一部分并创建一个设备,它应该对该单元的所有用户可见。如果他不属于单位,他应该看到自己的设备。

我正考虑将设备存储在2个表中:a)device_by_organisation和b)device_by_user。如果用户是组织表的一部分,则将使用a)。如果他不参与,那么将使用表b)。

我不喜欢这种方法:设备可以有传感器。因此,如果将设备拆分成表格,那么我也必须拆分传感器。

有更优雅的方法吗?

1 个答案:

答案 0 :(得分:0)

我最后增加了两张桌子:

device_group {
    group_name text,
    device_id uuid
} 

sensour_group {
    group_name text,
    sensor_id uuid
)

获取群组的所有设备:

a) select * from device_group where group_name = 'xyz'
b) select * from device where id in ( 'a)' )