高パフォーマンスなリアルタイムデータモデルの構築ガイド

高パフォーマンスなリアルタイムデータモデルの構築ガイド' can be condensed to '高パフォーマンスなデータモデル構築ガイド

Lukas Blazekさんによる写真、Unsplashから

データは意思決定のための重要なツールとなっています。実行可能な状態にするためには、データをクリーニングし、変換し、モデル化する必要があります。

このプロセスは、たとえば毎日など、特定の頻度で実行されるELTパイプラインの一部として行われることがよくあります。

一方、調整や迅速な意思決定を行うために、ステークホルダーは時には最新のデータにアクセスする必要があります。これにより、迅速に対応することができます。

たとえば、ウェブサイトのユーザー数が急激に減少した場合、ステークホルダーはこの問題にすばやく気付き、問題を理解するために必要な情報を提供される必要があります。

初めてリアルタイムのデータを使用したダッシュボードを作成するよう依頼されたとき、私はリアルタイムの生のテーブルに直接接続し、ユーザー数やクラッシュなどのいくつかのシンプルなKPIを提供しました。月次のグラフやより深い分析には、データモデルに接続された別のダッシュボードを作成し、毎日更新されるようにしました。

この戦略は最適ではありませんでした。データウェアハウスとBIツールの間でロジックを重複させていたため、メンテナンスが困難でした。さらに、リアルタイムのダッシュボードは数日分のデータしか正確に表示できず、ステークホルダーは以前の日付を確認するために過去のダッシュボードに切り替える必要がありました。

私は何か対策を講じる必要があると感じていました。パフォーマンスを損なうことなくリアルタイムのデータモデルが必要でした。

この記事では、リアルタイムモデルを構築するためのさまざまな解決策とその利点、欠点について探っていきます。

ビュー

SQLビューは、クエリの結果を含む仮想テーブルです。テーブルとは異なり、ビューはデータを格納しません。ビューは、ビューがクエリされるたびに実行されるクエリによって定義されます。

以下はビューの定義の例です:

CREATE VIEW orders_aggregated AS (  SELECT     order_date,     COUNT(DISTINCT order_id) AS orders,    COUNT(DISTINCT customer_id) AS customers  FROM orders  GROUP BY order_date )

テーブルに新しい行が追加されても、ビューは最新の状態を保ちます。ただし、テーブルが大きい場合、ビューはデータを格納しないため非常に遅くなる可能性があります。

小規模なプロジェクトで作業している場合は、最初に試すべきオプションです。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more