データ分析プラットフォーム
様々なビジネス環境でデータを活用するためには、ユーザーがビジネスインテリジェンス(BI)ツールやその他の分析アプリケーションを用いて、常に最新かつ正確な情報にアクセスできることが不可欠です。当社は、大規模で複雑なデータ管理を少人数のエンジニアリングチームで効率的に維持管理できるように、クラウドベースのデータ分析プラットフォームを開発・提供しています。当社のこのソリューションにより、お客様は堅牢なデータ分析基盤を活用してデータ駆動型の意思決定を行うことが可能になり、その結果ビジネスの競争力を向上させることができます。
Airflowによるワークフロー・オーケストレーション
「データ管理」という業務には、データのソースの種類、取得手段、取得頻度、そして取得後のデータ処理方法など広範なタスクが含まれています。これはELT/ETL (Extract, Load, Transform)のプロセスであり、各データパイプラインはそれぞれ特有のELTフローを持ち、実行される必要があります。
大規模なデータパイプライン、例えば数百から数千の範囲を管理する際には、Airflowによるワークフローオーケストレーションが極めて効果的です。このサービスをクラウドサービスやCICDと連携させることで、限られたエンジニアリングリソースでも大量のパイプラインを効率的に管理することが可能となり、ビジネスの効率性と生産性が大幅に向上します。このような戦略的なデータ管理は、現代のビジネス環境において不可欠な要素となっています。
Airflowによるパイプラインの例
データパイプラインの中には、複数のデータソースから情報を取得し、それらを統合して最終的にユーザーが利用可能な形にするものが多く存在します。このようなパイプラインでは、手続きや処理の順序が極めて重要となります。Airflowによるコード化により、各ステップが正確な順序で自動的に実行されるようになります。
さらに、各ステップが失敗した場合の対応策もコード化することが可能です。これにより、エラーハンドリングが効率化され、システムの安定性と信頼性が向上します。
dbtによるデータモデル依存関係のグラフ化
データ分析において、ユーザーがアクセスするデータウェアハウス内の作テーブルやビューは常に正確で最新のデータが利用可能な状態である必要があります。単純なデータ構造であればSQLや手動で管理することも不可能ではありません。しかし、複雑なデータ構造であったり、テーブルの更新のタイミングに応じた処理を行っていく上で「依存関係をコードで表現できること」や「データの更新の順序が自動で管理されること」は非常に重要になります。また、更新されたデータが正しいことを保証する「データテスト」も実行される必要があり、これらすべての構成要素が正しい順序で走ることによりデータの正確性・堅牢性を守ることができます。
弊社ではdbtをAirflowの環境に組み込み、常にデータ構造の保守を自動的に行い、異常時にのみアラートをサポートチームに送るシステムを構築しております。
dbtによるモデルスキーマの定義
dbtを利用することで、テーブルやビュー(モデル)同士の依存関係やメタデータ(テーブルのサイズ、スキーマ、各カラムの説明)等をdbtのコードで記述することが可能です。
そのモデルの構成を視覚的に把握可能なドキュメントの自動生成をCICDに組み込み、エンジニアが新しい変更を加えた際にドキュメントが常に最新のモデル情報に更新され、エンジニアではない一般のユーザーもテーブルの構成を把握することが可能な設計を行っています。