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 の値フィールドに必要な更新を行うデーモンを実行しています。アイテムのクエリを処理する CF が多数ある場合、これは複雑になります。それを行う最善の方法はありますか?