カサンドラは、10万の別個のテーブルで深刻なスケーラビリティの問題に直面する可能性があります。 100,000の独立したテーブルとは、100,000のオープンファイルの倍数を意味します(カーネルがオープンファイルを多く許可するように設定する必要があります).100,000個のmemtables(各テーブルの最後の変更は一時的にメモリに保持されます)たくさんの記憶が必要です。
カサンドラでこのようなことをする別の方法は、のテーブルと10万の異なるパーティション(ワイド行のカサンドラ名)を持つことです。 1分ごとに、既存の各パーティションにさらに1行(小さなエントリ)を追加します。エントリを追加した後にパーティションが巨大になるのを避けるために、通常は毎週、たとえば毎週(毎週約10,000分)新しいパーティションを開始します。カッサンドラのモデリングでは、これはしばしば「時系列データ」と呼ばれます。
あなたの質問には、と書かれたのは、というデータのみであり、それを読んでいないことです。これは見落としではなく、書き込みパフォーマンスと読み込みパフォーマンスについてもっと気にしていると仮定すると、Cassandraは特に書き込みが速いために適しています。スピードと1ドル当たりのパフォーマンスについて絶対に気にしているのであれば、Scylla(CassandraのC++での再実装)もご覧ください。
出典
2017-11-06 00:07:19
nyh
pgとCassandraの両方のノードが1分あたり100kの挿入を処理します(Postgresには1つのテーブルがありますが、大量のコピー機能があります)。私はデータの損失が重要ではないと言ってカッサンドラに向かっているだろうし、カサンドラは最終的にPGを超えて拡大するだろう。しかし100kのテーブル? Wow – StuartLC