本稿では、従来のSparkベースのデータ処理基盤に代わる、DuckDB、Polars、Delta-rsを活用したサーバーレスレイクハウスアーキテクチャを紹介する。著者は、従来型のデータプロジェクトにおいて、Sparkのようなツールが複雑でコストがかかり、運用が大変な場合が多いことを指摘している。特に、小規模から中規模のデータ(最大10GB)を扱う場合、Sparkの複雑なインフラストラクチャや運用コストは過剰であることが多い。
著者は、俊敏性、運用負荷の軽減、データの制御性の向上を求めるユーザー向けに、DuckDB、Polars、Delta-rsを用いたサーバーレスレイクハウスアーキテクチャを提案している。このアーキテクチャは、以下の利点を提供する。
このアーキテクチャでは、確立されたメダリオンアーキテクチャを採用し、レイヤーをブロンズ、シルバー、ゴールドに分離している。実装は容易で、まず、artifacts/tables.yaml
ファイルにテーブルとそのプライマリキーを定義する。プライマリキーが指定されていない場合は、変換ステップは追加専用モードで行われる。
この構成が設定されると、アーキテクチャをクラウドにデプロイする準備が整う。インフラストラクチャのコードライブラリとしてCDKを使用する。CDKのインストール、構成、デプロイの手順については、プロジェクトのREADMEを参照。
これらのアーティファクトをすべてクラウドにデプロイすると、データ投入用とクエリ用の2つのエンドポイントが生成される。
今後の改善点として、著者は以下の点を挙げている。
このプロジェクトの欠点と課題として、DeltaをAthenaおよびGlue Catalogと統合できなかったことが挙げられる。Glueでは、一般的なエラーが発生し、処理を進めることができなかった。Athenaでは、メタデータに記述されているバージョンがドキュメントによるとAthenaと互換性があるにもかかわらず、Deltaバージョンに互換性がないというエラーが発生した。
このサーバーレスレイクハウスアーキテクチャには、効率性、高速性、費用対効果の高さなど、多くの利点がある。開発中、著者はFree Tierの制限に達することさえできなかった(開発コストの合計は0.23ドル)。
このアーキテクチャは、単なる最新のソリューションではなく、時間、予算、あるいは健全性を損なうことなく、結果を達成できるようにする、考え方を変えるものである。
Vers une autre langue
à partir du contenu source
medium.com
Idées clés tirées de
by Marco Andrad... à medium.com 10-10-2024
https://medium.com/@marcaoandradenogueira/serverless-lakehouse-with-duckdb-polars-and-delta-rs-on-aws-a38d0864fbefQuestions plus approfondies