BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Netflix、MaestroとApache Icebergを使ったインクリメンタル処理ソリューションを構築

Netflix、MaestroとApache Icebergを使ったインクリメンタル処理ソリューションを構築

原文リンク(2024-01-15)

Netflixは、データ・プラットフォームにおけるインクリメンタル処理のための新しいソリューションを構築した。インクリメンタルアプローチは、完全なデータセットの処理を避けるため、コンピューティングリソースのコストと実行時間を大幅に削減する。同社は、Maestro workflow engineとApache Icebergを使用して、データの鮮度と精度を向上させ、マネージドバックフィル機能を提供する予定である。

Netflixは、すべてのデータ処理をMaestroに移行した。Maestroは、ETLパイプライン、MLモデルのトレーニング、バッチジョブなど、さまざまなユースケースに対応する最新世代の同国産ワークフローオーケストレーションプラットフォームだ。同時に同社は、データパイプラインの実行に関するいくつかの一般的な課題への対処も模索していた。

まず、プラットフォームには低レイテンシのバッチ処理ユースケースに対する効果的なサポートが欠けていた。そのため、Psybergのような、特定のユースケースでのみ機能し、ビジネスロジックとの緊密な結合をもたらすいくつかの内部ソリューションが存在していた。次に、データの到着が遅れると、ワークフローはルックバックウィンドウを使用せざるを得なくなり、実行時間とコストが増大した。最後に、データセットを埋め戻すには、専用の埋め戻しワークフローを作成し、実行し、検証しなければならないため、かなりのエンジニアリングの労力が必要だった。

これらの課題を解決するソリューションは、追加/更新されたレコードのインクリメンタル処理を可能にし、Apache Icebergの豊富な機能を活用する。Apache Icebergは、表現力豊かなSQLクエリ、スキーマの進化、タイムトラベルとロールバックなどをサポートする、巨大な分析テーブル用の高性能フォーマットである。

Apache Icebergを使用したインクリメンタル処理ソリューション(出典: Netflix Technology Blog)

IPSソリューションは、データファイルをコピーすることなく、元のテーブルからの参照のみを保存する追加のIcebergテーブル(ICDCテーブルと呼ばれる)を作成する軽量なアプローチを実装しており、効率的でコスト効率に優れている。さらに、新しいテーブルは、指定されたデータフィールドの変更範囲をキャプチャする。データエンジニアは、新しいワークフローステップタイプや、新しいインクリメンタルトリガーメカニズムを使用することで、既存のMaestroワークフローにインクリメンタル処理アプローチを統合できる。

インクリメンタル処理機能の導入により、新しいパターンが生まれた。最も基本的なものは、他のデータソースが必要ない場合、ワークフローパイプラインでICDCテーブルのみを使用するもので、ワークフローの実行を大幅に簡素化し、ルックバックウィンドウを使用する必要性を完全に取り除く。他のパターンとしては、ワークフローが多くのソーステーブルを使用する場合、データ変換ロジックを最適化し、再処理の範囲を制限するために、増分変更データまたはキャプチャされた変更範囲情報を使用する。

Netflixのスタッフ・ソフトウェア・エンジニアであるJun He氏は、チームが次に取り組む予定の機能の概要を語った。

IPSを改良し、追記のみのケースだけでなく、より複雑なケースにも対応できる。IPSはテーブル変更の進捗を追跡できるようになり、複数のIcebergテーブル変更タイプ(追加、上書きなど)をサポートする。また、IPSにマネージド・バックフィルのサポートを追加し、ユーザーがバックフィルを構築、監視、検証する。

作者について

この記事に星をつける

おすすめ度
スタイル

BT