1

私はチャット サーバーを作成しており、メッセージを cassandra に保存したいと考えています。範囲クエリが必要であり、1 日あたり 100 件のメッセージが予想され、履歴を 6 か月間維持することがわかっているため、ある時点で 1 人のユーザーに対して 18,000 件のメッセージが送信されることになります。

ここで、範囲クエリを実行するので、データが同じマシン上にある必要があります。完全に理解していない ByteOrderPartitioner を使用する必要があるか、ユーザーのすべてのメッセージを同じ行に格納できます。

create table users_conversations(jid1 bigint, jid2 bigint, archiveid timeuuid, stanza text, primary key((jid1, jid2), archiveid)) with CLUSTERING ORDER BY (archiveid DESC );

したがって、18000列になります。このクラスター キー アプローチを使用すると、パフォーマンスの問題が発生すると思いますか?

はいの場合、どのような代替手段がありますか?

ありがとう

4

1 に答える 1