3

現在、私たちのシステムは PostgreSQL を使用していますが、その機能の限界を押し上げているようです。一部のテーブルは、1 秒あたり 100 回を超える読み取り/書き込み操作を処理する必要があるため、おそらく複数のマシン間で水平方向にスケーリングする必要があります。

GAE の Big Table の使用経験が豊富です。Big Table には、クエリの豊富なオプションがありました。たとえば、リスト データ フィールドに対するクエリが可能でした。Cassandra は Big Table に基づいているはずですが、私の理解が正しければ、Cassandra の場合、実際には Cassandra の上にインデックス テーブルを使用および維持するレイヤーをカスタム コーディングする必要があります。

インデックス テーブル、ジグザグ マージ結合などを維持するための独自のカスタム ロジックを構築する必要のない、利用可能なオープン ソース データベースがあれば素晴らしいことです。

カサンドラはここで良い候補ですか? または、より良いと考えられるものはありますか?

4

1 に答える 1

5

操作が大規模な結合であるか、数十万行を返す場合を除き、選択したデータベースは 100 操作/秒を維持できます。Cassandra は、ノードごとに数万回ではないにしても、数千回の読み取りと書き込みに問題なく対応できます。

特定のユースケースについて詳しく知らなければ、有意義なアドバイスを提供することはできません。Cassandra は優れたデータベースですが、それが適切かどうかはわかりません。Stack Overflow の cassandra タグを調べて、人々が何を求めているのかを調べて、それがあなたがやろうとしていることとまったく同じように見えるかどうか、そして答えが Cassandra で可能であると言っているかどうかを確認することをお勧めします (I know I'かなりの数の質問に答えましたが、その答えは、Cassandra がその特定のケースに最適な選択ではなかったというものでした)。

Cassandra と GAE Big Table には大きな類似点がありますが、大きな違いもあります。新しい Cassandra ユーザーをつまずかせることの 1 つは、「他のものがそこにない限り、このことだけを追加する」または「アイテムを追加して、最後の N 個のアイテムを除くすべてを削除する」などのことを行う方法が実際にないことです。

于 2013-05-13T18:49:27.917 に答える