2. Big Data Architectures on the Cloud
クラウドデータレイクのアーキテクチャパターンについて。
3種類のクラウドデータレイクアーキテクチャ
- モダンデータウェアハウスアーキテクチャ
- データレイクハウスアーキテクチャ
- データメッシュアーキテクチャ
2.1 Why Klodars Corporation Moves to the Cloud
架空の会社、クロダースコーポレーションがオンプレミスのデータレイクをクラウドに移行したい話の説明。
2.2 Fundamentals of Cloud Data Lake Architectures
クラウドデータレイクアーキテクチャの主要な構成要素
- データ
- データレイクストレージ
- データを処理するビッグデータアナリティクスエンジン
- クラウドデータウェアハウス
ビッグデータ処理で扱うデータの分類
- 構造化データ
- 半構造化データ
- 非構造化データ
クラウドデータストレージサービス
- Amazon S3 (Simple Storage Service)
- Azure Data Lake Storage (ADLS)
- Google Cloud Storage
ビッグデータアナリティクスエンジン
- MapReduce
- Apache Hadoop
- Apache Spark
- リアルタイムストリーム処理パイプライン
クラウドデータウェアハウス
- Amazon Redshift
- Google BigQuery
- Azure Synapse Analytics
- Snowflake Data Cloud
2.3 Modern Data Warehouse Architecture
モダンデータウェアハウスでは、データレイクとデータウェアハスはそれぞれ別の目的のために使われ、互いに補完し合いながら共存する。
データソースは以下の流れで各フェーズでデータレイクに保存される。
- データソースからデータレイクにデータをインポート
- クレンジングデータに変換
- キュレーションをして高価値データに変換
これらの高価値データは、データサイエンス、機械学習、クラウドデータウェアハウスで使われる。
データウェアハウスへのデータロードにはETLパターンが使われる。データレイクではELTパターンが使われる。
データエンジニアとデータ管理者は、データレイクとデータウェアハウスの2つのインフラを維持し続けなければならない。
2.4 Data Lakehouse Architecture
データレイクハウスは、アナリティクスやデータサイエンスのためのデータレイクとBIのためのデータウェアハウスの機能が組み合わさった単一のプラットフォーム。
以下によってデータレイクに格納されるデータ形式の定義を実現した。
- オープンなファイル形式
- データを定義するメタデータ層
- 上記のファイル形式とメタデータ層を認識するコンピューティングエンジン
格納されるデータはスキーマに従わなければならない。また、クエリのために最適化されていなければならない。
メタデータは、コンピューティングエンジンがデータを更新する際に役立つ。
適切なデータ形式とコンピューティングエンジンの組み合わせを慎重に選ぶ必要がある。
2.5 Data Mesh
データメッシュは、各ドメインから構成される分散アーキテクチャ。データインフラを中央集権的に管理するのではなく、分権的に各部門にデータのニーズを担当するスペシャリストを配置する。
データは収集すべき資産であるというよりは、社内で共有できるプロダクトであるという思想。
ビジネスに合わせて拡張できる、ドメインに選択権を与えるので柔軟性が増す、データ重視のカルチャーが浸透する。
各ドメインに優秀なソフトウェアエンジニアを配置する必要がある、分散化によって複雑性が増す。
2.6 What Is the Right Architecture for Me?
適切なアーキテクチャを選択するためには?
- 顧客を知る
- ビジネス上の課題を知る
- 会社の成長と将来のシナリオを考慮する
- コスト、シナリオの柔軟性、開発難易度、エコシステムの成熟度、ユーザに必要とされる成熟度
- ハイブリッドアプローチという選択肢もある