Cassandraは、列が複数の同時列挿入をワイド行にソートすることを、どのように保証しますか?私が知る限り、カザンドラには行ロックはありません。Cassandra並行更新の更新
1
A
答えて
1
カサンドラでは、書き込みは行レベルでアトミックであり、行の挿入または更新は1回の書き込み操作として扱われます。
カサンドラは、複数の行の更新を1つのオール・オア・ナッシング操作にバンドルする意味でのトランザクションはサポートしていません。 Cassandraでは、書き込み操作レポートをクライアントに報告することは可能ですが、実際にはレプリカへの書き込みを維持します。
挿入は、実際にはほとんどの場合メモリ操作で行われるので、単一のパーティション(行)を並べ替えて保存することは比較的簡単ですし、「redis like」の速度で行われることを考慮してください。
カサンドラは、タイムスタンプを使用して、複数のタイムスタンプが同時に存在する場合、そのタイムスタンプを使用して最新のアップデートを判断します。
メモリ内で実行される操作では、古いエントリは単純に無視されます。
タイムスタンプは、クライアントアプリケーションによって提供されるか、コーディネーターノードで設定されます。最新のタイムスタンプはデータを要求するときに常に勝ちます。したがって、複数のクライアントセッションが同じ列を同時に更新する場合、最新の更新は最終的に更新されます。
あなたが興味を持っている場合は、ボンネットの下を見てとることができます。
関連する問題
- 1. cassandraの更新
- 2. Cassandra行の設定タイプの更新列
- 3. 主キー値の更新Cassandra
- 4. エスパーと更新リスナーの並行性
- 5. phpとmySQLデータベースの並行性更新
- 6. 並行してリストを更新する
- 7. CAS更新のCassandraサブミリ秒レイテンシ
- 8. pythonスクリプトでCassandra Jsonの値を更新
- 9. 更新トリガーでマルチ行の更新
- 10. Cassandraのパフォーマンス:行ごとの列の更新
- 11. CassandraでC#でカウンタを更新する
- 12. Cassandraマテリアライズド・ビュー更新しない
- 13. Cassandra COPYコマンドでレコードを更新する
- 14. 更新行が
- 15. 更新行フィールド
- 16. 更新行
- 17. 行数の更新
- 18. ADF-行の更新
- 19. Pythonの更新行
- 20. 更新データベーステーブルの行
- 21. 更新テーブルの行
- 22. 更新後のデータテーブルの並べ替え
- 23. Java並列ネットワークリクエストとリストの更新
- 24. 2更新パネルが並行して実行される
- 25. java - 複数のオブジェクトへの並行更新
- 26. 2つの並行更新(SQL)のテーブルに何が起こる
- 27. ADO.NET型データセット行の最新の更新
- 28. Gridview行更新エラー
- 29. 更新複数行
- 30. 更新DataTables行データ
その行レベルの分離を言及する価値があるが(https://issues.apache.org/カサンドラ1.1以降で使用可能ですjira/browse/CASSANDRA-2893)、詳細はこちらhttp://www.datastax.com/dev/blog/row-level-isolation – bkowalczyyk