1

「Cassandra --- The Definitive Guide」という本を読んでいます。あるページで、本は言う

Dynamo Cassandra は、常に書き込み可能であることを選択し、調整の複雑さを読み取り操作に任せることを選択し、大幅なパフォーマンスの向上を実現します。

しかし、常に読み取り可能であることが常に書き込み可能であるよりも高価である理由を完全には理解していません。誰かが直感やいくつかの例を教えてくれますか? たとえば、データベースが「常に読み取り」を選択した場合、どのようなパフォーマンスが低下する可能性がありますか?

4

1 に答える 1

3

@キーラー

Cassandra での書き込み操作では、データ (タイムスタンプ付き) をファイルに (簡略化するために) 追加するだけです。したがって、書き込みは非常に高速です。データ調整の負担は、読み取り時に発生します。

一部のデータを読み取る場合、Cassandra は多くのノードから値を読み取り、マージソートを実行して、書き込みタイムスタンプを比較の平均として使用して、書き込まれたデータの最新バージョンを取得します。したがって、少し作業を行う必要があるため、読み取りは書き込みよりもわずかにパフォーマンスが低いと言われています。

そうは言っても、Datastax の人々は多くの作業を行っており、現在では読み取りパフォーマンスは書き込みパフォーマンスとほぼ同等です。

この説明は非常に単純化されています。詳細については、ここここで書き込みパス/読み取りパスを説明する公式ドキュメントを読むことができます

于 2013-09-20T19:31:41.933 に答える