2017-11-06 4 views
0

マテリアライズド・ビュー(最終的な一貫性)がすべてのデータをポイントまで反映しているかどうかを判断できます。cassandraマテリアライズド・ビューにポイントまでのデータが反映されているかどうかを確認

この呼び出しの前のすべてのデータが反映されるまで、完璧に私は呼び出して待機するAPIになります。

しかし、私は必要に応じて引っ張ることを含むトリッキーなアイデアのために開いています。

答えて

6

確かにそのことを知る方法はありません。さらに悪いことに、Cassandraの実装では、1)ベーステーブルへのすべての更新がビューへの更新、または2)ビュー内にゴーストレコードが存在しないことを保証するものはありません。

1)を処理するには、cassandra.mv_enable_coordinator_batchlogオプションをオンにすることができます(パフォーマンスに重大な影響を及ぼすため、デフォルトではオフになっています)。これにより、ベースレプリカがシステムテーブルのビュー更新を確実に記憶し、ビューレプリカに到達するまで再試行します。

2)を処理する方法は現在ありません。これは、ビューレプリカがトゥームストーンを含む更新を失った場合や、ビューを更新した後にベースレプリカが失われた場合に発生する可能性があります。

関連する問題