2017-01-23 3 views
2

私は6つのテーブルに近く、それぞれにカサンドラの20〜60カラムあります。私はこのデータベースのスキーマを設計しています。すべてのカラムのクエリcassandra

クエリの要件は、すべての列が個別に照会可能でなければならないことです。

  • データに2次インデックスを使用した高カーディナリティがあることがわかっていることはお勧めしません。
  • マテリアライズド・ビューは、他の列でも照会できる範囲で目的を解決します。

私の質問は:このシナリオで
、各テーブルには、30 50+にマテリアライズド・ビューを持っている、これはフォローするいいパターンであるか、それは完全に間違ってトラックに起こっている場合。この機能を極限まで引き出しているのですか?たぶん、書き込みはシステム上で高価になり始めます(私は実際には実際のテーブルに書き込むのではなく、最終的に書き込まれることを知っています)。

答えて

5

30から50のマテリアライズド・ビューは間違いありません。

あなたが満たそうとしているユースケースは、特定のクエリよりも検索のように聞こえます。

各列で実行されるクエリをあらかじめ定義することができれば、非正規化ルートを使用して検索のトレーディングの柔軟性を向上させることができます。

あなたは、検索ルートに興味があるなら、ここで私はあなたが見てとる示唆ものです:(あなたが使用しているカサンドラのバージョンによって異なります)

これは私の頭の上から知っているものです。他にもあるかもしれません(私があなたを忘れてしまった場合は申し訳ありません)。私は各自へのリンクを提供していますので、自分のユースケースにどのような意味があるのか​​を自分の判断に基づいて判断することができます。

+1

ありがとう@MarcintheCloud - 質問をする最初の数分で、DataStaxの誰かがあなたの質問に答えてくれたことは素晴らしいことです。 :) - Stakoverflowを再び素晴らしいものにしましょう! ; p – DMin

関連する問題