在 cassandra 中维护数据完整性的最佳方法是什么?我使用 cassandra 作为电子商务应用程序的主要数据存储。非规范化后数据分散在多个列族中。例如,如果我有一个“项目”CF:
CF: Items
------------------------------------------------
| itemName | price | rating |
ItemId |----------|---------|----------| ...
| value | value | value |
------------------------------------------------
我可以有另一个列族来满足查询以获取“所有评分为 5 的项目”。查询列族可以包含有关特定项目的附加信息。
CF: ItemsByRating
----------------------------------------------------------------
| itemId1 | itemId2 | itemId3 |
5 rating |---------------|---------------|---------------| ...
| item1 details | item2 details | item3 details |
-----------------------------------------------------------------
我有一个正在运行的守护程序,它会收到有关“Items”CF 详细信息更改的通知,并对“ItemsByRating”CF 中的 value 字段进行必要的更新。当有很多 CF 为项目提供查询时,这会变得复杂。有没有最好的方法呢?