4

論理的には... checkAndPut にはもっと時間がかかるようです。特に、平均 checkandput レイテンシが 15 ミリ秒 (データ行あたり 17 KB の場合) である負荷シナリオに関心があります... checkAndPut を単純な 'PUT' に変換すると、平均レイテンシが大幅に短縮されます。

ユース ケースの 99% では、checkAndPut を実行しても、書き込む行キーは存在しません。

4

1 に答える 1

4

はい、チェックとプットのレイテンシーは単純なプットよりも高くなります。ただし、どれだけ高くなるかは、memstore にあるデータの量とブロック キャッシュにあるデータの量によって異なります。

checkAndMutate は次のように機能します。

  • 行ロックを取得する
  • すべての未処理のトランザクションが承認されるのを待ちます
  • 必要なセルを取得する
  • 提供されたルールを使用してそれらを比較します
  • put/delete を実行する

成功した場合の最後のステップはプットの実行であるため、checkAndMutate には追加のコストがかかります。get は (おそらく) 最もコストのかかる部分です。ブルーム フィルターを追加し、すべてのインデックス ブロックをメモリに保持できる場合は、get が可能な限り高速であることを確認できます。

于 2012-11-15T19:54:44.870 に答える