Cassandra でデータのバージョンを追跡する必要があります。バージョン # はスーパー列、エンティティ ID は行 ID、追跡する必要がある列は列になると考えていました。たとえば、エンティティのバージョン 1 は次のようになります。
- スーパーコラム: v1
- 行 ID: UUID
- 列: タイムスタンプ、リクエスト ID、ユーザー ID、状態、データなど...
クエリを実行する場合、最も一般的なリクエストは次のとおりです。
- レコード y のバージョン X を教えてください
- レコード y のバージョン X - 1 と X + 1 を教えてください。
それほど重要ではありませんが、次のようなクエリがあります。
- 状態 1 のすべての行を教えてください。
- ユーザー ID x によって変更されたすべてのレコードを教えてください。
- タイムスタンプが x と y の間にあるすべての行を教えてください。
スーパーカラムを使用した上記のアプローチが最善のアプローチであるか、または上記を達成するためのより良いスキーマがありますか。スーパーカラムの使用/クエリに関する注意事項はありますか?