データレイクハウスはどのようにしてデータウェアハウスの一般的な課題を解決するのか

[How Data Lakehouses Solve Common Issues With Data Warehouses \- The Databricks Blog](https://databricks.com/blog/2021/02/04/how-data-lakehouses-solve-common-issues-with-data-warehouses.html)の翻訳です。

> 著者のノート: この記事はCIDR論文[Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics](https://databricks.com/research/lakehouse-a-new-generation-of-open-platforms-that-unify-data-warehousing-and-advanced-analytics)をベースとした一連のポストの第一弾です。論文執筆者の許可を得ています。

データアナリスト、データサイエンティスト、そして、人工知能エキスパートは、彼らの業務を行う際に利用するデータが、根本的に品質、信頼性、鮮度が欠けていることに対してフラストレーションを感じています。これらのフラストレーションは二層データアーキテクチャの既知の欠点によるものであり、このアーキテクチャは現在、フォーチュン500の企業の大部分で広まっているものです。オープンなレイクハウスアーキテクチャとそれを支える技術によって、データチームの生産性を劇的に改善し、結果的には企業自身の効率も改善します。

# 二層データアーキテクチャの課題

この人気のあるアーキテクチャにおいては、企業にまたがるデータはオペレーショナルデータベースから抽出され、データが利用可能であること、信頼性があることを保証できないために*データスワンプ(データの沼)*と呼ばれることがある生のデータレイクにロードされます。次に、別のETL(抽出、変換、ロード)プロセスがスケジュール実行され、BIや意思決定のために、データの重要なサブセットがデータウェアハウスに移動されます。
![](https://databricks.com/wp-content/uploads/2021/02/two-tier@4x.png)

このアーキテクチャはデータアナリストに、ほぼ不可能と言える選択肢を突き付けます：データレイクの信頼できないが新鮮なデータを使うか、データウェアハウスの高品質だが古いデータを使うか、というものです。著名なデータウェアハウスはクローズドなデータフォーマットであるため、広く使われているオープンソースデータ分析フレームワークを高品質なデータソースに適用することが難しく、適用する際には追加のETLオペレーションが必要となり、さらにデータの鮮度を損なうことになります。

# より良い方法は？データレイクハウスのご紹介

現在の企業では広く使われているこの二層データアーキテクチャは、オンプレミスにあろうがクラウドにあろうが、ユーザーにとっても構築を行うデータエンジニアにとっても非常に複雑なものです。

[レイクハウスアーキテクチャ](https://qiita.com/taka_yayoi/items/438f762126f57868aa35)を用いることで、データレイクにデータウェアハウスの信頼性、パフォーマンスのメリットをもたらし、最終的にはウェアハウス層を削除することで、複雑性、コスト、運用のオーバーヘッドを削減します。
![](https://databricks.com/wp-content/uploads/2021/02/Lakehouse@4x-opt.png)

## データの信頼性

複数のデータコピーを同期し続けるケースでは、データ一貫性の保持は大きな課題になります。オペレーショナルデータベースからデータレイクへのデータ移動、データレイクからデータウェアハウスへのデータ移動などの複数のETLプロセスが必要となります。それぞれの追加プロセスは、複雑性、遅れ、エラーを増加させます。

第二層を削除することで、データレイクハウスアーキテクチャは、データレイクの上で直接、スキーマ強制、スキーマエボリューションをサポートしながらも、ETLプロセスを削除することができます。また、データの品質を時系列的に検証できる[タイムトラベル](https://databricks.com/discover/diving-into-delta-lake-talks/unpacking-transaction-log)のような機能をサポートしています。

## データの鮮度

データウェアハウスのデータはデータレイクから投入されるので、データの鮮度が損なわれるケースがあります。最近のFivetranのサーベイによると、このことは、86%の分析で古いデータを使わざるを得ない状況を引き起こしています。
![](https://databricks.com/wp-content/uploads/2021/02/lakehouse-3.png)

レイクハウスはデータウェアハウス層を削除することでこの問題を解決しつつも、最新のデータが分析で常に利用できるように、容易かつ高効率、高信頼なリアルタイムストリーミングとバッチ統合をサポートします。

## 先進的な分析の限定的なサポート

機械学習、予兆分析のような先進的な分析は、膨大なデータセットの処理を必要とします。TensorFlow、PyTorch、XGBoostのような一般的なツールは、オープンデータフォーマットで保存された生のデータレイクを容易に読み込めます。しかし、これらのツールは、データウェアハウスに格納されているETL処理後のデータで用いられる多くのプロプライエタリデータを読み取ることはできません。ウェアハウスのベンダーはこのデータをファイルにエクスポートすることを勧めており、これは三つ目のETLステップになり、さらに複雑性を増加させ、データの鮮度を劣化させます。

オープンレイクハウスアーキテクチャでは、これらの一般的なツールセットは、データレイクに格納されている高品質、高鮮度のデータに直接アクセスできます。

## TCO

クラウドのストレージコストは減少していますが、このデータ分析の二層アーキテクチャでは企業データの三つのオンラインコピーを作成することになります：一つはオペレーショナルデータベース、一つはデータレイク、そしてもう一つはデータウェアハウスです。

データを同期し続けることに関するエンジニアリングコストを追加した際、トータルコストオブオーナーシップ(TCO)はさらに増加することになります。

データレイクハウスアーキテクチャは、最も高価なデータコピーの一つ、少なくとも一つの同期プロセスを除外します。

# BIのパフォーマンスは？

ビジネスインテリジェンスと意思決定サポートには、探索的データ分析(EDA)、ダッシュボードを構成するクエリー、データの可視化、他のクリティカルシステムに対する、高性能クエリーが必要となります。性能上の懸念は、データレイクとデータウェアハウスを維持管理している企業にとって非常に重要なものとなります。データレイクにおけるクエリーの最適化技術は、ここ数年で劇的に改善し、これらの性能上の懸念は払拭されました。

レイクハウスは、性能を改善するためのインデックス、局所性の制御、クエリーの最適化、ホットデータのキャッシュをサポートしています。これによって、データウェアハウスに期待される柔軟性とガバナンスを保ちながらも、TPC-DSのベンチマークにおいて、データレイクのSQL性能が市場リーダーのデータウェアハウスを上回りました。

# まとめおよび次のステップ

先進的な企業と技術者は、現在使われているこの二層アーキテクチャを見て言いました。「もっといい方法があるはずだ」。このより良い方法こそ、データレイクのオープン性と柔軟性と、伝統的なデータウェアハウスの信頼性、性能、低レーテンシー、高い同時実行性を兼ね備えた、我々がオープンデータレイクハウスと呼ぶものです。

このシリーズの今後の記事で、データレイクの性能改善の詳細をカバーします。

もちろん、[完全なCIDRの論文](https://databricks.com/research/lakehouse-a-new-generation-of-open-platforms-that-unify-data-warehousing-and-advanced-analytics)を読んでいただいても構いませんし、モダンなレイクハウスをサポートする技術の詳細を説明した[動画シリーズ](https://databricks.com/discover/diving-into-delta-lake-talks)を参照いただけます。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)