2016-08-28 7 views
1

私はCassandra DBを初めて使用しています。私はCassandra DBの書き込み順序を知りたいです。カサンドラはCassendraの書き込みはどのように機能しますか?

シーケンスアプローチに従う接近する明確にしてください。 - >コミットログ -

クライアントを> Memのテーブル - >バッククライアントへの応答

パラレルアプローチ

クライアント - > (コミットとMemのテーブルに並列に書き込みます) - >レスポンスをクライアントに

クエリ: 1. Cassandraがシーケンスに従っている場合、どのように2つのテーブルシーケンスで書き込みが高速になるのでしょうか?

  1. Cassandraがパラレルに続く場合、コミットまたはmemテーブルの書き込みに失敗した場合は、クライアントに返信します。

答えて

0

Cassandra Write Pathは、シーケンスアプローチと呼ばれるものです。データは最初にコミットログ(耐久性を保証する)に保存されてからmemテーブルに保存されます。 memテーブルに書き込まれると、コーディネータノードはそのノードからOKを受け取ります。 OKの数が書き込みの一貫性レベルに一致すると、OKをクライアントに返します。

MEMテーブルが特定のサイズに達すると、データはSSTablesの形でディスクにフラッシュされます。

+0

ありがとうございました。 **の数は、書込み**平均の一貫性レベルに一致しますか?それはレプリカ要因ノードの数を意味します。キースペースを作成する際に使用します。そうであれば、クライアントはすべてのノード書込み操作が完了するまで待たなければならない。書き込み中に1つのノードに障害が発生した場合、どうなりますか?明確にしてください – Gnana

+0

カサンドラには、書き込み時および読み取り時に指定する一貫性レベルがあります。これは基本的に、クライアントがクエリが満たされたことを受け入れる前に、最新のデータで応答したいノードの数です。 2に設定されている場合、OKを取得する前に2ノードがデータを供給するのを待ちます。整合性レベルと複製係数を使用して、すべてのノードからデータを取得することなく一貫性を保証します。ここにそれをより詳細に説明する良いStackOverflowがあります。 http://stackoverflow.com/questions/24587869/understand-cassandra-replication-factor-versus-consistency-level – gsteiner

関連する問題