Iceberg は ACID トランザクションをサポートしており、複雑で並行性のあるデータ操作においてもデータの完全性と信頼性を確保します。

Apache Iceberg とは?
Apache Iceberg は、データレイク内の大規模データセットを管理するために設計されたオープンソースのテーブルフォーマットです。従来の Apache Hive などのテーブルフォーマットが抱える制約、特に大容量データの効率的かつ一貫性のある処理に対応するために開発されました。

信頼性の高いデータ整合性

非破壊的な Schema Evolution
Iceberg は Schema Evolution に対応しており、スキーマの変更(カラムの追加・削除・リネームなど)を段階的に適用できます。これにより、稼働中の処理に影響を与えることなくスキーマを柔軟に更新できます。

クエリ性能の向上
データプルーニングやパーティション認識などの機能により、Iceberg はクエリ時にスキャンするデータ量を大幅に削減し、大規模データセットにおいても高速なクエリを実現します。
Iceberg の主な機能
Schema Evolution
データの再分配やダウンタイムを必要とせず、スキーマ変更をシームレスにサポートします。
Partition Evolution
既存のデータに影響を与えることなく、クエリ性能を最適化するためにパーティションを動的に適応させます。
ACID Transactions
ACIDトランザクションを強力にサポートすることで、データの完全性と一貫性を確保します。
Time Travel
データセットの過去の状態に簡単にアクセスできるように、過去バージョンのデータをクエリ可能にします。
効率的 Data Pruning
メタデータのツリー構造を活用することで、スキャンするデータ量を最小限に抑え、パフォーマンスを向上させます。
Iceberg ユースケース - ゲーム業界
現代のゲームは膨大なデータを生成します。ストレージはコストを抑えるだけでなく、データサイロを解消し、チームやスタジオをまたいで誰もがデータを最大限に活用できるようにする上で重要な役割を果たします。
Tencent Gaming がすべてのワークロードを Apache Iceberg に統合することで、事前集計をすべて排除しつつ、ストレージコストを15倍削減した方法をご覧ください。ケーススタディを読む。
Apache Iceberg の代替案

Apache Hudi
リアルタイムデータの取り込みやアップサート機能で知られる Hudi は、低レイテンシなデータ更新や高速なデータ取り込みが求められるシナリオにおいて優れた性能を発揮し、増分処理にも対応しています。

Apache Paimon
Paimon はリアルタイムストリーミングデータおよび動的な Schema Evolution を強力にサポートしており、継続的なデータ更新やスキーマ変更が頻繁に発生する環境に適しています。

Delta Lake
Delta Lake は、強力な ACID トランザクション対応と Apache Spark エコシステムとのシームレスな統合により広く認知されており、大規模データ処理に Spark を活用しているユーザーにとっては非常に有力な選択肢です。
Iceberg のパフォーマンス向上
Metadata Rewrite
クエリプランニングを高速化し、より効率的な Data Pruning を可能にするために、メタデータファイルを最適化します。これにより、クエリ時にスキャンされるデータ量が削減されます。
Data Compaction
多数の小さなファイルを定期的に大きなファイルへと Compaction することで、スキャンの効率を高め、ファイル処理のオーバーヘッドを抑えてクエリ全体のパフォーマンスを向上させます。
Iceberg の機能を活用する
Hidden Partitioning などの Iceberg 独自の機能を活用することで、ユースケースやワークロードに応じたデータレイアウトの最適化やクエリ性能の改善が容易になります。
データウェアハウス流の最適化
Partitioning、Sorting、Clustering といった従来のデータウェアハウスの最適化手法を Iceberg 上でも適用することで、ストレージやアクセスパターンを調整し、クエリ実行の高速化を図ります。
適切なクエリエンジンを選定する
Iceberg と高い統合性を持ち、ユースケースに合ったクエリエンジンを選定しましょう。低レイテンシクエリを Spark で無理に実現しようとするのではなく、StarRocks のように目的に合致したクエリエンジンを使用することで、最適なパフォーマンスが得られます。

クエリエンジンのアップグレード
ユースケース:データレイク向けクエリエンジン

ソーシャルメディア
ある大手ソーシャルメディア企業は、データレイクハウスアーキテクチャへ移行することで、1日あたり数兆件にのぼるデータの処理において、開発サイクルの短縮とコスト効率の向上を実現しました。

トラベル
Trip.com は従来のデータウェアハウスを廃止し、データレイクハウス用クエリエンジンに切り替えることで、クエリ性能を10倍向上させました。

Eコマース
ある環境系製造企業は、最新のオープンソースデータレイクハウスクエリエンジンへ移行することで、分析システムのコスト効率を10倍に高めました。

ソフトウェア
Tencent の A/B テスト向けSaaSプラットフォーム「ABetterChoice」は、要求の厳しいカスタマー向けワークロード をデータレイクハウス上に 統合しています。
CelerData による Apache Iceberg の強化
Massively Parallel Processing
CelerData の Massively Parallel Processing(MPP)アーキテクチャは、インメモリデータシャッフルにより、単一ノードがシステム全体のボトルネックになることを防ぎます。これにより、特に JOIN や複雑な集計クエリにおいて、ほぼ線形にスケールすることが可能になります。
Vectorized Query Execution
C++ で実装され、SIMD 最適化が完全に施されているだけでなく、CelerData の Vectorized Query Execution により、Apache Iceberg 上で業界最速レベルのクエリ性能を実現します。
Caching Framework
CelerData の Caching Framework は、メモリおよびディスクをベースとしたメタデータキャッシュとデータキャッシュを実装しており、リモートストレージからのデータ取得にかかる高コストなオーバーヘッドを解消します。
Intelligent Materialized View
外部処理ツールを使用せずに、低速なクエリを高速化するためにオンデマンドで構築されるよう設計されています。CelerData のクエリリライト機能により、SQL を手動で変更することなく、いつでも Materialized View(MV)を構築可能です。
Distributed Iceberg Metadata Retrieval
CelerData は、ジョブプランニングおよび Iceberg メタデータの取得タスクをコンピュートノード全体に分散させます。Manifest ファイルの処理を並列化することで、StarRocks はクエリプランニング処理の高速化とスケーラビリティを実現します。