Cassandra をデータ ストアとして使用するアプリケーションを構築することを考えていますが、低レイテンシの要件があります。私はこのブログ投稿EmbeddedCassandraService
から知っています
次の実装は可能ですか? また、既知の落とし穴 (欠陥、機能制限) は何ですか?
1) Cassandra を組み込みサービスとして実行し、データをディスクに永続化します (永続的)。
2) Java アプリケーションは、次のいずれかを介してローカル組み込みサービスと対話します。長所は何ですか
TMemoryBuffer
(またはもっと適切なもの?)StorageProxy
(この API を使用する際の落とし穴は何ですか?)- アパッチ アブロ? (下記の質問 5 を参照)
3) Java アプリケーションは、Thrift (または Avro?) を介してリモートの Cassandra サービス (「バックアップ」ノード) と対話します。
4) 成功するためには、ローカルの組み込み Cassandra サービスと、少なくとも 1 つのリモート (非組み込み) Cassandra ノードへの書き込みが常に成功する必要があります。これは可能ですか?カスタム/複雑な一貫性レベルを定義することは可能ですか?
5) 補足質問: Cassandra: The Definitive Guideのいくつかの場所で、Thrift が最終的に Avro に置き換えられると言及されていますが、まだそうではないようです?
ご想像のとおり、私は Cassandra を初めて使用するので、特定のドキュメント ページ (Wiki ホームページではなく) またはサンプル プロジェクトへの指示を歓迎します。