Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.
The "HintedHandoff_JP" page has been changed by shot6. http://wiki.apache.org/cassandra/HintedHandoff_JP?action=diff&rev1=5&rev2=6 -------------------------------------------------- ## page was copied from HintedHandoff - Hinted handoff(ヒントハンドオフ)とは、あるノードが書き込み失敗の通知を受けたときに、Cassandraが"失敗したノードが復旧したら書き込んだ内容をフォワードしてください"というヒントと共に別のノードに書き込む機能の事をいいます. + Hinted handoff(ヒントハンドオフ)とは、あるノードが書き込み失敗の通知を受けたときに、 + Cassandraが"失敗したノードが復旧したら書き込んだ内容をフォワードしてください"というヒントと共に別のノードに書き込む機能の事をいいます. + CassandraはHinted handoffを、 - (1)一時的にダウンしているノードの復旧までの時間を短縮する + 1. 一時的にダウンしているノードの復旧までの時間を短縮する - (2)一貫性が必須でないところでの可用性を極限まで向上する + 1. 一貫性が必須でないところでの可用性を極限まで向上する ことを目的として使っています. + + ヒントつき書き込みは、!ConsistencyLevelがONE、QUORUM、ALLのときには有効ではありません. + 2つのCassandraノード(A, B)を持ち、レプリケーション要素数が1(各キーが1つのノードにしか保存されない)のシンプルな例を考えてみましょう. + ノードAがキーK(!ConsistencyLevel.ONE)を書き込みの途中にダウンしたとします. + この書き込みは、Wは書き込みのためにブロックしているノード数、Rは読み込みのためにブロックしているノード数としたとき、 `W` + `R` > `ReplicationFactor`を満たさないため、失敗になります([[API]]より抜粋). それゆえ、この場合Bにヒントを書き込みを行うのは成功するはずです. + 何故かというと、Aが復旧するまで如何なる!ConsistencyLevelでもBがデータをフォワードする事はないからです. - 昔は!ConsistencyLevelがZEROの場合のみこのような書き込みを許容していましたが、0.6ではこのようなケースも考慮して - 新しく!ConsistencyLevel.ANYを作りました.!ConsistencyLevel.ANYの意味は、"ヒント付き書き込みがすぐに読み込み可能にならなくても、どこかで成功した書き込みを待ちますよ"、ということになります. + 昔は!ConsistencyLevelがZEROの場合のみこのような書き込みを許容していましたが、 + + 0.6ではこのようなケースも考慮して新しく!ConsistencyLevel.ANYを作りました. + + !ConsistencyLevel.ANYの意味は、"ヒント付き書き込みがすぐに読み込み可能にならなくても、どこかで成功した書き込みを待ちますよ"、ということになります. +
