私はCassandra 3.9と2のテーブルを持つ開発マシンを持っています.1つは~~ 400,000レコード、もう1つは約4,000,000レコードです。それらの構造は異なっている。Cassandra slow SELECT MAX(x)クエリ
それぞれフィールドxにセカンダリインデックスがあり、フォームSELECT MAX(x) FROM table
のクエリを実行しようとしています。最初のテーブルでは、クエリに数秒かかり、2番目のテーブルではタイムアウトします。
私の経験は、これらのクエリが些細で高速な関係データベースです。だからカサンドラでは、インデックスはこれらのクエリを実行するために使用されていないようですね?代わりがありますか?パーティションキーをspecifingせずCassandraの集約関数テーブル上などMIN
、MAX
、COUNT
、SUM
又はAVG
で
カッサンドラとのトランザクションやアトミシティを忘れるべきですか? :) –
Cassandraは、行レベルでのアトミック性を保証するだけのトランザクションをサポートしていません。たとえば、2つの更新プログラムを実行すると、1つ前のすべての操作が失敗した場合、ロールバックを実行せずに書き込みが行われます。 –