Cassandraでは、Hinted Handoff(HH)は一貫性レベルが満たされる場合にのみ発生します。また、ヒントはクライアントには読めません。整合性レベル> ANYの場合、HHを使用すると、書き込みおよび読み取りの可用性を向上させることができません。オンラインレプリカが整合性要件を満たすには不十分であるため依然として失敗します。
ヒントハンドオフのポイントは何ですか?パフォーマンスのトレーディング能力? フェールバックノードを他のレプリカノードと同期させるだけでは(つまり、再複製するのはなぜですか?CassandraでHinted Handoffを使用する際のポイントは何ですか?特に一貫性> ANY?
2
A
答えて
1
ヒント付きハンドオフは、単に追加のエントロピー対策です。つまり、すぐに修復を実行する必要はなく、ノードがオンラインに戻ったときにデータが一貫性を保ちます(マイナーな停止があった場合)。
複製していないデータに何らかの形でマークを付けなければならないので、レプリケーションでこれを世話するのはあまりにも複雑すぎると思います。基本的には、ヒントハンドオフ。公式ドキュメントから
基本的にはマイナーな停電がありますが、クラスタの書き込みスループットを最大化することです。設定が可能で、読み取りと書き込みの両方に一貫性の高いレベルがある場合に記述した場合は無効にすることができます。
さらに「再複製」を実行する必要があります。つまり、修復してください。ヒント付きのハンドオフは本当にすべてを処理することができないためです。
個人的には、R-CL:ONE、W-CL:ONE、RF:2、NODES:3という状況でそれらを使用しました。クラスタでメンテナンスとローリング再開を実行しながら書き込みスループットを維持したので、 。だから私はそれがW-CL < RFの状況ではうまくいくと言うでしょう。実際に
https://blog.threatstack.com/scaling-cassandra-lessons-learned
、ただの設定でそれらを無効にします。
はその後、再びこのような意見があります。長時間の停電や負荷急上昇中にデータを失うのは簡単ではなく、負荷スパイクのためにノードがダウンした場合は、リング上で問題を渡し、最終的に複数のノードまたはすべてのノードをダウンさせます。カザンドラでこれを経験したことはありませんでしたが、ヒント付きのハンドオフをサポートしていた他のシステムにはありました。
関連する問題
- 1. Cassandra DDLの一貫性レベル
- 2. NIOでUDPを使用する際のポイントは何ですか?
- 3. クラスを一般化する際のポイントは何ですか?
- 4. cassandraでグローバル一貫性レベルを設定する場所
- 5. Apache CassandraのJavaドライバを使用して一貫性レベルを設定する
- 6. レスポンシブデザインで%単位を使用する際のポイントは何ですか?
- 7. @Autowiredを新しいキーワードで使用する際のポイントは何ですか?
- 8. トランザクションの一貫性とマルチテナント性のためのCassandra対MongoDB?
- 9. Cassandraでnode.jsドライバを使用して一貫性レベルを設定する方法は?
- 10. Google Cloud Datastoreで取得するバッチの一貫性レベルは何ですか
- 11. IBM Cloud Object Storage - データの一貫性/可視性モデルとは何ですか?
- 12. cassandraのデータセンター間のデータ一貫性の確認
- 13. Cassandra 2.2の一貫性とタイムアウトの問題
- 14. Apache OFBizとCassandraの統合と最終的な一貫性
- 15. MongoDB tunable一貫性ベストプラクティス
- 16. MVC Razorビューで@RenderBodyを使用するポイントは何ですか?
- 17. ASPNet.IdentityでJWTを使用するポイントは何ですか?
- 18. ポインタへのポインタを使用するポイントは何ですか?
- 19. Sequential Consistencyと最終的な一貫性の違いは何ですか?
- 20. DateTime.Now.Ticksに一貫性がないのはなぜですか?
- 21. タブナビゲーションバーの一貫性
- 22. cassandra kafka接続元と最終的な一貫性
- 23. Redditで使用されるCassandraデータベーススキーマとは何ですか?
- 24. JavaScriptで特性をも使用するOOPの良い例は何ですか?
- 25. [Dictionary <String, Any>]と[String:Any]との違いは何ですか
- 26. マルチスレッドを使用せずにFutureを使用するポイントは何ですか?
- 27. PHP - 一貫性
- 28. GC.AddMemoryPressureとアンマネージドリソースを使用するポイントは何ですか?
- 29. 仮想ファイルシステムを使用するポイントは何ですか?
- 30. (Request $ request)を使用するポイントは何ですか?
お返事ありがとうございます!私はまだいくつか質問があります。 HHは書き込みスループットをどのように最大化しますか?なぜカッサンドラは定期的な自動修理(読書修理のような)を計画するのではなく、人々に手動で修理を依頼するのですか? – roymaztang
基本的に修復は高価な操作です。すべてのデータをMerkleツリーと比較する必要があるため、管理者はスケジューリングする必要があります。自動的にhttps://github.com/spotify/cassandra-reaperのようなツールもあります。多かれ少なかれ、このプロセスはデータを一貫性を保つためにgc_grace期間を1回実行する必要があります。最大化は間接的に行われます。ノードがダウンすると、書き込みを受け付けません。ノードが戻った後にコーディネーター・ノードがそれらを保管すると(安価な操作で)、ノード全体に存在するかのように、クラスタ全体に同じ量の書き込み済みレコードが残ります。 –