まず最初に、長い話と間違った用語の使用について事前にお詫び申し上げます。
組織に BigQuery を最適に実装する方法について誰かがアドバイスしてくれることを願っています。
現在のセットアップ 現在
、MySQL にデータ ウェアハウスがあり、スノーフレーク スキーマを使用してデータが正規化されています。
データは、主に Simego - Ouvvi 自動化サーバーを使用して、他の SQL および MySQL データベースから収集されます。
Qlikview と PowerBI ソフトウェアを使用して、このデータを視覚化します。
これはすべて問題なく機能しますが、昨年はよりイベント駆動型のアプローチに向けて取り組んできました。基本的に組織内で発生するすべてのイベントを作成することを目指しています。つまり、より多くのデータを作成することになります。
さらに、内部データを Google アナリティクスなどのさまざまなデータ ソースと組み合わせたいと考えています。
今後のセットアップ
Apache Beam を使用して、Rabbit MQ から BigQuery へのパイプラインの構築を開始し、データを BigQuery データセット (現在は「datalake」と呼びます) にストリーミングします。
これまでのところ、うまくいけばうまくいっています。
これらのメッセージをレポート目的で使用できるようにするには、これらのイベント メッセージを変換する必要があります。私たちのアイデアは、メッセージをクエリし、必要なプロパティを「datawarehouse」と呼ばれるデータセットに保存することです。このウェアハウスには、いくつかのネストされたフィールドを持つスノーフレーク スキーマを使用したいと考えています。
しかし、これをどのように達成するのですか?いくつかのクエリで BigQuery ウェブ UI をいじってみましたが、スケジュールされたクエリを使用するだけでも実行可能だと思います。
ただし、次のことを可能にする 1 つ (または複数) のツールを使用することをお勧めします (重要度順)。
- データ ウェアハウス スキーマを設計します (古いデータ ウェアハウスでは MySQL ワークベンチを使用します。完璧にはほど遠いですが、十分です)。
- クエリを使用するよりも簡単にデータを変換できます。
- バージョン管理を適用します。誰が、いつ、何を変更したかなど。
- 変更を適用する前に確認してください。
- 継続的デプロイを適用します。
私はグーグルで多くの時間を費やしてきましたが、あまりにも多くのツールがあり、少し圧倒されています. したがって、どんな助け、提案、または批判も大歓迎です!