データウェアハウス(DWH)
データウェアハウス(DWH)とは?
データウェアハウス(DWH)は、複数のソースから得られた最新データや履歴データをビジネスに適した形で蓄積し、知見の取得やレポート作成を容易にするデータ管理システムです。主に、ビジネスインテリジェンス(BI)、レポート作成、データ分析に使用されます。データウェアハウスでは、POS システム、インベントリ管理システム、マーケティングや販売データベースなどの業務システムに蓄積されたデータを、迅速かつ容易に分析可能です。データは、オペレーショナルデータストア(ODS)を中継する場合があり、データウェアハウスでレポート作成する前に、データクレンジングを行い、データ品質を向上させる必要があります。
データウェアハウス、データベース、データレイクの違い
データウェアハウス(DWH)の他に、データベース(DB)、データレイクといった似た言葉があります。いずれにしても、膨大な量のデータを保管、管理するシステムという点では共通していますが、以下のような違いがあります。
データベースは、特定の形で整理したデータを集め、保管するシステムのことで、必要な時に参照したいデータを容易に抽出することができます。データベースでは、単一のデータソースを取り扱うのに対して、データウェアハウスでは複数のデータソースからデータを取得できるため、より高度なデータ分析が可能です。データウェアハウスは、データベースに比べ、分析に特化したシステムといえます。
データウェアハウスは、顧客データなどの構造化データの取り扱いには長けている一方で、データレイクは、非構造化データ、構造化データなど多様なフォーマットのデータを扱うことができます。データウェアハウスとデータレイクのいずれにしても、コストやシステムの複雑性などにおいて課題があり、そうした課題を解決するためのデータレイクハウスが注目を集めています。
データウェアハウスの活用法
データウェアハウスは、BI、レポート作成、データ分析において、オペレーショナルデータベースからのデータ抽出と集計に使用されます。トランザクションデータベースから直接取得することが困難な情報も、データウェアハウスを経由して取得できます。例えば、経営陣から、各営業担当者による月次ベースの製品カテゴリ別の総売上高を知りたいという要望があるとします。トランザクションデータベースではこのようなデータの取得は困難ですが、データウェアハウスでは可能です。
データウェアハウスにおける ETL と ELT
データの変換には、ETL(抽出、変換、格納)と ELT(抽出、格納、変換)の 2 つの方法があります。データエンジニアは通常、ETL(抽出・変換・格納)を使用し、さまざまなデータソースから抽出したデータをデータウェアハウスに移動させて、データクレンジングやデータの構造化を行います。一方、ELT では、まず元の形式のデータをデータウェアハウスに格納し、処理する際にデータクレンジングと構造化を行います。
ETL は通常、全社的なデータクレンジングと準拠規則を適用するために、企業のデータエンジニアリングチームによって一元的に行われます。一方、ELT は、プロジェクトやビジネスチームに特化した変換が後の段階で行われ、セルフサービス分析を可能にします。
OLTP と OLAP の違い
OLTP(オーエルティーピー)とは「Online Transaction Processing」の略で、オンライントランザクション処理という意味です。オンライントランザクション処理(OLTP)システムは、データベース内のトランザクションデータの取得および管理を行います。トランザクションには、複数のフィールドやカラムで構成される独立したデータベースレコードが含まれます。OLTP データベースは、オンラインバンキング、ERP システム、インベントリ管理などのアプリケーションで頻繁に使用され、瞬時に処理される行レベルのデータを迅速に更新します。
OLAP(オーラップ)とは「Online Analytical Processing」の略で、オンライン分析処理のことです。オンライン分析処理(OLAP)システムは、データマイニング、分析、ビジネスインテリジェンスのプロジェクトに使用され、OLTP データベースやその他のソースから集約された膨大な履歴データに複雑なクエリを適用します。データウェアハウスは OLAP システムです。OLAP データベースとデータウェアハウスにより、アナリストや意思決定者は、カスタムレポートツールを使用して、データドリブンな情報の収集と意思決定ができるようになります。OLAP データベースでクエリに失敗しても、顧客のトランザクション処理が中断したり遅延したりすることはありませんが、ビジネスインテリジェンスに関する分析結果の取得が遅れたり、精度に影響を及ぼしたりする可能性があります。
データウェアハウスのメリット
- 複数ソースから取得したデータの統合:あらゆるデータに対する単一のアクセスポイントとして機能し、ユーザが数十あるいは数百ものデータストアに個別にアクセスする必要がなくなります。
- デ ータを時系列に保存:データウェアハウスは、複数ソースから得られたデータを統合し、過去の傾向を表示します。
- 分析処理とトランザクションデータベースの分離:この 2 つの処理を分離することで、両システムのパフォーマンスを向上させます。
- データの品質、一貫性、正確性:データウェアハウスでは、命名規則の一貫性、さまざまな製品タイプのコード、言語、通貨など、標準的なセマンティクスをデータに使用します。
データウェアハウスの課題
- 非構造化データのサポート:画像、テキスト、IoT データなどの非構造化データ、HL7、JSON、XML などのメッセージングフレームワークには対応していません。ガートナー社の推定では、組織のデータの最大 80% が非構造化データであるにもかかわらず、従来のデータウェアハウスでは高度に構造化されたクリーンなデータしか格納できません。非構造化データを使用して AI を活用したいと考える組織は、他のツールに目を向ける必要があります。
- AI や機械学習のサポート:データウェアハウスは、履歴レポート、BI、クエリなどの一般的な DWH ワークロードのために設計、最適化されており、機械学習ワークロードをサポートするために設計されていません。
- SQL のみをサポート:データウェアハウスでは、アプリ開発、データサイエンス、機械学習で利用される Python や R をサポートしません。
- 重複データ:多くの企業では、データレイクに加えて、データウェアハウス、サブジェクトエリアまたは(部門)データマートを使用しています。その結果、データの重複や冗長な ETL が発生し、信頼できるソースが一意に定まりません。
- 同期が困難:データレイクとデータウェアハウスの間でデータを同期させる必要があるため、複雑さと脆弱性が増大し、管理するのが難しくなります。データドリフトは、一貫性のないレポート作成や誤った分析の原因となります。
- クローズドな独自フォーマットによるベンダーロックインの増加: 多くの企業のデータウェアハウスでは、オープンソースやオープンスタンダードに基づくフォーマットではなく、独自のデータフォーマットを使用しています。そのため、ベンダーロックインが進み、他のツールでのデータ分析が困難または不可能になり、データの移行も難しくなります。
- 高コスト:商用データウェアハウスでは、データの保存と分析に対して課金されます。そのため、ストレージとコンピューティングのコストは依然として密接に関係しています。レイクハウスでは、コンピューティングとストレージを分離し、必要に応じてどちらかを独立して拡張できます。
レイクハウスによる課題解決
レイクハウスアーキテクチャは、データレイクとデータウェアハウスの両方の利点を最大限に活かし、上記の課題を解決しています。詳しくは、Databricks のオープンレイクハウスアーキテクチャに関するページをご覧ください。
データウェアハウスのための Databricks レイクハウス
レイクハウスを効果的に構築するために、企業が注目しているのが、オープンソースの Delta Lake です。Delta Lake は、データレイクとデータウェアハウスの両方の利点を兼ね備えた、オープンフォーマットのデータ管理およびガバナンスレイヤーです。Delta Lake を基盤にした Databricks のデータインテリジェンスプラットフォームは、次のことを実現しています。
- データレイクの経済性で、DWH パフォーマンスの公式記録を更新。
- インフラ管理の必要性を排除するサーバーレスの SQL 処理。
- dbt、Tableau、PowerBI、Fivetran などの最新のデータスタックとシームレスに統合し、インプレースでのデータインジェスト、クエリ、変換を実行。
- ANSI-SQL のサポートにより、組織内の全てのデータユーザーにクラス最高の SQL 開発体験を提供。
- データリネージ、テーブルおよび行レベルのタグ、ロールベースのアクセスコントロールなど、きめ細かなガバナンス。