ドリスがアイスバーグに出会うとき:データエンジニアの贖罪

深夜にデータのバグで目が覚めたことがありますか?クエリが数秒で返ってくる理想的なデータの世界を夢見たことがありますか?データが失われることはなく、コストが低く、上司がにっこり笑っている姿が浮かぶでしょうか?夢のような話?いいえ!これは現実になりつつあります。

データパーティショニングの問題で悩まされ、製品マネージャーが進捗を急いでいる中、データの散乱に苦しんでいたあの夜を覚えていますか?クロスソースのクエリは山を登るカタツムリのように遅く、スキーマの変更には7つの部署での調整が必要でした。

しかし、これらの痛みは再定義されつつあります。

Apache DorisとIcebergの組み合わせがデータレイクの動作方法を再定義しています。これは単なる1+1=2ではなく、質的な飛躍をもたらしています:秒単位のクエリ、シームレスなスキーマ進化、真のデータの一貫性の保証です。

DorisとIcebergの完璧なシンフォニー

データエンジニアリングの世界では、よくこのような問題に直面します:

小林さんは過去3か月間のユーザーの行動データを分析する必要があるデータ分析の要件に取り組んでいます。データはHiveデータウェアハウス、ビジネスデータベース、オブジェクトストレージに散在しています。クロスソースの結合のパフォーマンスが悪く、クエリには40分以上かかり、データの不整合が頻繁に発生します。

さらに、小林さんはデータガバナンスの作業にも対応しなければならず、各テーブル構造の変更が頭痛の種です。複数の下流アプリケーションがこれらのテーブルに依存しており、スキーマの変更には複数のチームとの調整が必要で、1つの変更を完了するのに1週間かかるかもしれません。

これらの問題はデータの爆発的な成長とともにより顕著になっています。データウェアハウスとデータレイクの従来の分離では、もはやニーズを満たすことができません。

幸いにも、バージョン2.1では、Apache Dorisのレイクハウスアーキテクチャが大幅に強化されました。これにより、主要なデータレイクフォーマット(Hudi、Iceberg、Paimonなど)の読み書き機能が向上し、既存のシステムからApache Dorisにシームレスに切り替えることができるマルチSQLダイアレクトの互換性が導入されました。データサイエンスや大規模データ読み取りシナリオでは、DorisはArrow Flight高速読み取りインターフェースを統合し、データ転送効率を100倍向上させました。

そのため、小さな張さんは自分のリデンプションにDoris + Icebergを使用することに決めました。

Apache Dorisは、Icebergの多くのコア機能をネイティブでサポートしています:

  • Hive Metastore、Hadoop、REST、Glue、Google Dataproc Metastore、およびDLFなどのさまざまなIcebergカタログタイプをサポートしています。
  • Iceberg V1/V2テーブルフォーマットをネイティブでサポートし、Position DeleteとEquality Deleteファイルの読み取りを行います。
  • テーブル関数を介してIcebergテーブルのスナップショット履歴をクエリできます。
  • タイムトラベル機能をサポートしています。
  • アイスバーグテーブルエンジンをネイティブでサポートしています。Apache Dorisは、アイスバーグテーブルに直接データを作成、管理、書き込むことができます。完全なセットのパーティション変換関数をサポートし、非表示パーティションやパーティションレイアウトの進化などの機能を提供しています。

さらに、Dorisのバージョン2.1.6では、Doris + Icebergに大幅なアップグレードがもたらされました。

Apache DorisはIcebergでのDDLおよびDML操作をサポートしています。ユーザーはApache Dorisを介してIcebergでデータベースやテーブルを直接作成し、データをIcebergテーブルに書き込むことができます。

この機能により、ユーザーはApache Dorisを使用してIcebergで完全なデータクエリと書き込み操作を実行でき、さらにレイクハウスアーキテクチャをさらに簡素化できます。

したがって、小さな湖は、リアルタイムのデータ分析と処理のさまざまなニーズに柔軟に対応するために、Apache Doris + Apache Icebergに基づいた効率的なレイクハウスソリューションを迅速に構築できます。

  • アイスバーグテーブルや他のデータソースからデータを結合して分析するためにDorisの高性能クエリエンジンを使用し、統合された連邦データ分析プラットフォームを構築します。
  • DorisでIcebergテーブルを直接管理および構築し、データをクリーンアップして処理し、Icebergテーブルに書き込み、統合されたレイクハウスデータ処理プラットフォームを構築します。
  • Icebergテーブルエンジンを介して他の上流および下流システムとDorisデータを共有し、統合されたオープンデータストレージプラットフォームを構築します。

これは単なる表面的な統合ではなく、レイクハウスアーキテクチャの深い融合です!

ドリスとアイスバーグの実用的な要約

探査と実践の一連の挑戦の後、小張はドリス+アイスバーグに関するいくつかの実用的な経験をまとめました:

インテリジェントメタデータ管理

従来のソリューションでは、メタデータ管理は常に難題でした。テーブルのパーティション情報、ファイルの場所、スキーマの変更履歴があちこちに散らばっており、クエリのパフォーマンスが低下し、操作とメンテナンスが複雑化していました。

ドリス+アイスバーグは統一されたメタデータ管理レイヤーを提供します:

このアーキテクチャにはいくつかの重要な価値があります:

  1. シームレスなスキーマ進化:テーブル構造の変更に downtime が不要になりました。ドリス+アイスバーグはフィールドの追加、削除、変更、およびパーティショニング方法の調整をサポートしています。
  2. データバージョン管理:Icebergのスナップショットメカニズムを通じて、任意の時点でデータの状態に戻すことができます。
  3. 統一されたカタログサービス:Hive Metastore、Hadoop、REST、Glue、Google Dataproc Metastore、DLF など、さまざまな Iceberg カタログタイプをサポートし、既存のインフラとシームレスに統合します。

小張は今や単一の ALTER TABLE ステートメントでスキーマ変更を完了できます。システムが互換性を自動的に処理し、下流アプリケーションは変更に気づくことはありません。

効率的なデータの整理

Dorisは、Icebergのデータ整理方法とMPPエンジンを革新的に組み合わせています。

SQL

 

このSQLステートメントは、強力な技術メカニズムを隠しています。

  • ファイルの整理:HDFSやオブジェクトストレージなど、一般的なストレージメディアをサポートしています。
  • スマートパーティショニング:Icebergの暗黙のパーティショニングとパーティション進化機能を有効にするパーティション変換関数をサポートしています。
  • ストレージ最適化:ParquetやORCなどのカラムストレージ形式をサポートし、さまざまな圧縮方法と組み合わせてパフォーマンスを向上させます。

DorisがIcebergでのDDLおよびDML操作をサポートすることで、データ整合性の問題も完全に解決されます。

操作とメンテナンス管理

データプラットフォームの安定性を確保するため、Xiao ZhangはIcebergテーブルを監視および管理するために以下の方法を使用しています。

SQL

 

このツールチェーンは次のものを提供します。

  • メトリックモニタリング:テーブルの状態とスナップショットメトリックのリアルタイム制御。
  • スナップショット管理:期限切れのスナップショットをクリーンアップしてストレージスペースを解放します。
  • 障害復旧:任意の過去バージョンにロールバックすることをサポートします(スナップショットIDまたはスナップショット作成時の時刻に基づいて過去バージョンデータを読み取る)。

これらの実践により、Xiao ZhangのDoris + Icebergベースのデータプラットフォームは新たな高みに達しました。

  • クエリパフォーマンスが300%向上しました。
  • ストレージコストが40%削減されました。
  • 操作とメンテナンスの効率が200%向上しました。

ドリスの湖畔の刺激的な旅は終わることはありません。

次号でもさらに興味深く、役立つ、貴重なコンテンツをお楽しみに!

Source:
https://dzone.com/articles/when-doris-meets-iceberg