次の問題のためにcassandraテーブルを定義しようとしています。
私は以下の関係を持っています:
ユーザ(user_id)は多くの追加(add_id)を見ることができます。
add(add_id)は、1人以上のユーザーが見ることができます。
パフォーマンスを念頭に置いてCassandra 3.0で多対多の関係をモデル化する方法
そして、私はカサンドラに以下のquerysを作りたい:
は- は、ユーザー(USER_ID)を考えると、私に与えて、すべてのユーザーが追加(add_id)を考えると
- を見たと付け加え(add_id)を得私が撮ったaproachは関係
whith 2つのテーブルを作成することでした私のすべてのユーザー(のuser_id)CREATE TABLE adds_by_user ( user_id text, add_id text, PRIMARY KEY (user_id, add_id) ); CREATE TABLE user_by_add ( add_id text, user_id text, PRIMARY KEY (add_id, user_id) );
を追加したことを見ました
マイアルゴリズムのuser_idを考えると、次の
行います
- は私に、ユーザーが見ていることをすべてadd_idを与えます。それぞれの
- は私に、各ユーザーが別のグラフィカル
を見て、すべてのadd_idを与え、私にadd_idそれぞれの
(1)user_id - >(多数)add_id - >(多数+)user_id - >(多くの++)add_i d
多くの関係があり、アルゴリズムがすべてのクエリを実行するのに多くの時間を費やすと問題が発生します(各クエリが0.5ミリ秒以下で実行されるにもかかわらず、)それらを私はすでに非同期を使用しています)
は、私は、クエリを高速化することができますモデルがあり
を照会?
アルゴリズムがクエリを少なくし、カッサンドラ標準を尊重するモデルがありますか?
ありがとうございます!データモデルの
として見ることができます。これを解決する良い方法があります。 –
こんにちは@AbhishekAndlandあなたの反応を疑ってはいけません。あなたはこれをCasandraで解決する良い方法があると言っていますか、このモデルにはneoj4を使わなければならないと言っていますか? –