1

このテーマに関するさまざまな情報源を読み、必要なクエリを中心としたモデリングのアイデアを理解しましたが、Cassandra でこれをどこまで拡張できるか疑問に思いました。

従来のデータ ウェアハウスに関連していた場合、メジャー データとディメンション データの両方を含む処理イベントを保存する必要があります。データの形式は次のようなものです

log_timestamp (タイムスタンプ): user_id (テキスト): measure_1 (数値): measure_2 (数値) : measure_3 (数値) : dim_1 (テキスト) : dim_2 (テキスト) : ... dim_n(テキスト)

10個以上のdimデータ項目がある場合があります。モデル化したいクエリは次のとおりです。

メジャー集計を使用した時間別の user_id (分/時間/日/週/月/年)

メジャー集計を使用した時間ごとの単一の薄暗い user_id

メジャー集計を使用した時間による単一の薄暗い

ディメンション フィールドの一部は自然な階層を形成するため、上記のクエリに複数の dim フィールドも使用したいと考えています。

順列をカバーするために多数の個別の列ファミリーの作成に着手する前に、誰かがより良いアプローチを推奨できるかどうか知りたいです。値と、階層タイプおよびメンバーのディメンションと値を持つ階層データの同様のアイデア。

あるいは、ハイブやスパークなどの集計ツールに読み戻せるように、比較的粒度の細かいレベルでデータを格納するための優れたモデルとなるものはあります (これは非常に興味深いようです)。

ありがとう。

4

1 に答える 1

0

週ごとに集計されたデータを照会できるようにしたいとします。次のデータ構造を使用できます。

Column Family = day
Row Key: Date = day_identifier (e.g., time at beginning of some day this week)
Column Name: Date = timestamp, Long = field_ordinal
Column Value: field value

Column Family = week
Row Key: Date = week_identifier (e.g., time at beginning of first day of a week)
Column Name: Date = timestamp, Long = field_ordinal
Column Value: field value

各週の終わりに、day カラム ファミリーのエントリを取得し、week カラム ファミリーのエントリに集計します。その後、データが不要になった場合は、1 日ごとにデータを削除できます。

この概念により、保存できるデータははるかに少なくなりますが、それでも多くのことを達成できます。たとえば、1 か月にわたって集計されたデータを照会する場合は、その月のすべての週にアクセスするだけです。または、同じ概念を使用して、1 か月全体のデータをロールアップすることもできます。

幸運を。

于 2013-10-24T23:47:17.977 に答える