データレイクハウス vs データウェアハウス:比較と選択

データウェアハウスは独自フォーマットでデータを格納するため、処理可能なワークロードがそのシステムの機能に制限されます。一方データレイクハウスはオープンフォーマットとオープンカタログサービスにより、多様な計算エンジンと統合可能。これにより、全データの信頼性ある単一ソースを維持できます。

 

なぜオープンなデータレイクハウスなのか?

データをオープンフォーマットで保存することで、すべてのワークロードを単一の信頼できるデータソースに集約でき、データガバナンスの強化につながります。

データガバナンスの強化

データをオープンフォーマットで保存することで、すべてのワークロードを単一の信頼できるデータソースに統合でき、データガバナンスの向上につながります。

柔軟性の向上

データを完全に自社で管理できることで、コンピュートエンジン間の切り替えもスムーズに行うことが可能になります。

コスト効率の最適化

データスタックの各コンポーネントにおいて最適なテクノロジーを組み合わせることで、業界最高水準のコスト効率を実現できます。

データレイクハウス vs. データウェアハウス:どちらが優れているのか

データウェアハウスはデータを独自フォーマットで保存するため、実行できるワークロードはそのデータウェアハウスの機能に制限されます。一方で、データレイクハウスはデータをオープンフォーマットで保存し、オープンなカタログサービスと連携することで、さまざまなコンピュートエンジンとの統合が可能です。その結果、すべてのデータに対して単一の信頼できるデータソース(Single Source of Truth)を維持することができます。
 
また、データレイクハウスは従来型のデータレイクに比べて、より高いデータ鮮度を実現できます。しかし、リアルタイム分析の観点では、リアルタイムデータウェアハウスのほうが、専用ツールによりデータ鮮度で優位に立つケースもあります。詳しくはこちらをご覧ください。

代表的なレイクハウステーブルフォーマット

オープンテーブルフォーマットは、すべてのレイクハウスアーキテクチャの中核を成す要素であり、標準化されたデータ形式と、データウェアハウスに近い高度な機能を提供します。
Iceberg Logo

Apache Iceberg

Apache Iceberg は、大規模な分析テーブル向けに設計された高性能なテーブルフォーマットです。

Hudi Logo

Apache Hudi

Apache Hudi は、トランザクション処理をサポートするデータレイクプラットフォームであり、データベースやデータウェアハウスに求められる機能をデータレイク上で実現します。

Delta Lake Logo

Delta Lake

Delta Lake は、フォーマットに依存しないレイクハウスアーキテクチャの構築を可能にする、オープンソースのストレージフレームワークです。

レイクハウスの主要機能

どのようなアプローチでデータレイクハウスを構築する場合でも、以下の機能に対して各ソリューションやアーキテクチャがどのように対応・提供・連携しているかを注意深く確認することが重要です。

ACID 準拠

トランザクションにおける原子性(Atomicity)、一貫性(Consistency)、分離性(Isolation)、耐久性(Durability)を保証することで、データの整合性を確保します。

コンパクション

小さなファイルを定期的に大きなファイルへ統合することで、ストレージを最適化し、クエリ性能を向上させます。

ニアリアルタイム分析

データ取り込み直後からほぼ即時にインサイトを得られるよう、高速なデータ処理とクエリ実行を可能にします。

スキーマエボリューション

データ構造の変化に応じて、ダウンタイムなしでスキーマを動的に適応させることが可能です。

レイクハウスの制約

データレイクハウスは柔軟性、スケーラビリティ、コスト効率を約束しますが、クエリ性能の低さによりこれらの利点を十分に発揮できないことが少なくありません。その結果、多くのユーザーは求めるクエリ性能を得るために、レイクハウスからプロプライエタリなデータウェアハウスへデータをコピーせざるを得なくなっています。しかしこの手法は、複雑かつ高コストなデータ取り込みパイプラインを必要とし、データガバナンスとデータの鮮度を損なう要因となっています。

 

なぜレイクハウスにおいてクエリエンジンが重要なのか

タスクに応じて最適なクエリエンジンを選択することで、レイクハウスの潜在能力を最大限に引き出すことができます。オープンフォーマットを採用することで、同じデータに対して複数のエンジンをレイヤーとして重ね、用途に応じた処理が可能になります。たとえば、バッチ処理には Spark、低レイテンシなクエリには StarRocks といったように、レイクハウス向けのエンジンは特定の処理に特化した高い性能を発揮します。

 

最適なレイクハウスアーキテクチャ

レイクハウスアナリティクスにはさまざまなアーキテクチャがあります。最適な構成はユースケースやビジネス上の優先事項によって異なりますが、ほとんどのアプローチにおいて、以下の機能を優先的に考慮する必要があります。

カタログサービス

異なるテーブルフォーマット間でのシームレスな相互運用性を確保するために、オープンソースのバリアントを備えたカタログサービスを活用します。このアプローチにより柔軟性が高まり、レイクハウスアーキテクチャ全体でのデータの管理とアクセスが容易になります。

 

 

コンピュートエンジン

パフォーマンスを最適化するために、各タスクに最も適したコンピュートエンジンを選択します。レイクハウスアーキテクチャでは、異なるコンピュートエンジン間の切り替えが容易であり、要件の変化にも柔軟に対応できます。

テーブルおよびファイルフォーマット

Apache Iceberg のようなオープンテーブルフォーマットを採用し、オープンファイルフォーマットと連携させることで、互換性とスケーラビリティを確保します。これにより、プロプライエタリなソリューションに縛られることなく、レイクハウスを柔軟かつ持続的に拡張・進化させることが可能になります。