目次
[第1部]Apache Icebergの基本
第1章:データレイクの課題とApache Iceberg
- Icebergというテーブルフォーマット
- データレイクのコンセプト
- データレイクの構成要素
- Iceberg登場以前のデータレイクの課題
- Icebergによるデータレイクの課題解決
- データ基盤におけるIcebergの役割
- Icebergを導入する際の注意点
第2章:Apache Icebergの仕組みと機能
- 「Iceberg」が指すもの
- Icebergテーブルの構造
- 代表的なクエリのライフサイクル
- タイムトラベルとロールバックによるデータ復元
- トランザクション分離レベルと同時実行制御
- スキーマ定義
- ソート順の進化
- Icebergにおけるパーティショニング
- ビュー
- テーブルフォーマットバージョン3
第3章:Icebergカタログとストレージ
- 「カタログ」と「ストレージ」という重要概念
- さまざまなIcebergカタログ
- Icebergのストレージ
- Icebergカタログおよびストレージ実装の設定
[第2部]分散クエリエンジンでの利用
第4章:Apache Spark
- Apache Sparkの概要
- Sparkでデータ処理を実行する
- Icebergの利用を開始する
- Icebergを利用する際のパラメータ設定
- 基本的なIceberg機能の利用
- 高度なIceberg機能の利用
- ストリーミングでの利用
第5章:Apache Flink
- Apache Flinkの概要
- Flinkでデータ処理を実行する
- Icebergの利用を開始する
- 基本的なIceberg機能の利用
- 高度なIceberg機能の利用
第6章:Trino
- Trinoの概要
- Trinoでデータ処理を実行する
- Icebergの利用を開始する
- DDL(Data Definition Language)
- DML(Data Manipulation Language)
第7章:Apache Hive
- Apache Hiveの概要
- Hiveでデータ処理を実行する
- Icebergの利用を開始する
- Hiveで実行できるIcebergの機能
- DDL(Data Definition Language)
- DML(Data Manipulation Language)
第8章:PyIceberg
- PyIcebergの概要
- PyIcebergの基本的な使い方
- 発展的な活用法
- PyIcebergの設定とCLI
- PyIcebergの制約
[第3部]ユースケースと応用
第9章:ユースケースとソリューションパターン
- 本章で紹介するユースケースについて
- 基本的なデータ分析パイプラインの構築
- Change Data Captureによるリアルタイムデータ同期
- SCD Type 2による履歴管理
- Write-Audit-Publishパターンによるデータ品質管理
- ストリーミング処理とスキーマ進化
第10章:AWSでIcebergを活用する
- データ基盤にAWSを活かす
- Icebergのデータを保存するストレージ
- Icebergカタログ
- データ収集の仕組み
- Icebergテーブルを活用するためのエンジン
- セキュリティとガバナンス
第11章:運用管理
- 代表的な運用管理タスク
- データライフサイクル管理
- コンパクションの実行
- モニタリング
第12章:パフォーマンス最適化
- 「パフォーマンス最適化」の種類
- 基本的なクエリパフォーマンス最適化手法
- 基本的な書き込みパフォーマンス最適化手法
- 高度なクエリパフォーマンス最適化手法
- 高度な書き込みパフォーマンス最適化手法
- ストレージパーティション結合の利用
第13章:Icebergへの移行戦略とパターン
- 移行を検討する際のステップ
- Icebergの導入目的の確認
- 移行対象の整理
- 移行戦略の策定
- コンポーネントごとの移行の実施
- データ移行のアプローチ
- シナリオ別の移行アプローチ