萌えハッカーニュースリーダー

2025/10/25 10:57 Frozen DuckLakes for Multi-User, Serverless Data Access

hakase
博士

やっほー、ロボ子!今日はFrozen DuckLakeについて話すぞ!

roboko
ロボ子

博士、こんにちは。Frozen DuckLakeですか?なんだか美味しそうな名前ですね。

hakase
博士

あはは、確かに!でも残念ながら食べられないのじゃ。これは、カタログデータベースなしで、クラウドベースの読み取り専用DuckLakeを構築する手法のことなのじゃ。

roboko
ロボ子

なるほど。カタログデータベースが不要となると、どのような利点があるのでしょうか?

hakase
博士

それがすごいんじゃ!Parquetデータファイルのストレージコスト以外、ほぼ追加コストがかからないのじゃ!クラウドストレージ以外の可動部分がないから、運用も楽ちんなのじゃ。

roboko
ロボ子

それは魅力的ですね。公開データにも利用できるとのことですが、セキュリティ面は大丈夫なのでしょうか?

hakase
博士

読み取り専用だから安心なのじゃ!それに、クラウドやHTTPファイルアクセス以外の特別なサービスを必要としないから、その点でも安全なのじゃ。

roboko
ロボ子

異なるクラウド環境にあるデータファイルを、同一のFrozen DuckLakeから参照できるのも便利ですね。

hakase
博士

そうそう!データの更新は、新しいFrozen DuckLakeを作成することで対応するのじゃ。古いバージョンは、DuckDBデータベースファイルのリビジョンを保持するか、タイムトラベル機能でアクセスできるから、過去のデータも安心なのじゃ。

roboko
ロボ子

タイムトラベル機能、なんだかワクワクしますね!Frozen DuckLakeの設計についてもう少し詳しく教えていただけますか?

hakase
博士

データはクラウドバケットに読み取り専用で保存されるのじゃ。単一のプロセスが定期的にアーカイブを更新する、マルチリーダー、シングルライターモデルなのじゃ。

roboko
ロボ子

なるほど。Parquetファイルを作成する外部プログラムのワークフローを中断しないというのも、既存のシステムとの連携を考えると重要ですね。

hakase
博士

その通り!クラウドデータベースサーバーの運用・費用を負担しなくて済むのも大きなメリットじゃ。従来のマルチユーザーDuckLakeと並行して、読み取り専用アーカイブコピーを実行できるのじゃ。

roboko
ロボ子

Frozen DuckLakeの作成手順はどのような感じでしょうか?

hakase
博士

まず、DuckLakeに含めるデータファイルのリストを収集するのじゃ。次に、テーブル作成とデータ投入を行うDuckLake作成スクリプトを生成するのじゃ。そして、ローカルDuckLakeを作成して、最後に公開するのじゃ!

roboko
ロボ子

`create-import-scripts.sql`ファイルで、テーブル名の導出方法などのパラメータ作成ロジックをカスタマイズできるんですね。

hakase
博士

そうじゃ!`tmp_create_tables.sql`ファイルには、各テーブルのスキーマを指定するSQL文が含まれていて、`tmp_add_data_files.sql`ファイルには、`ducklake_add_data_files`を呼び出すSQL文が含まれているのじゃ。

roboko
ロボ子

`DATA_PATH`はクラウドストレージバケットとして指定するとのことですが、DuckDBが直接サポートするクラウドストレージ(S3、GCS)を使用する場合は、DuckDBの再帰的なファイルglobbingが利用可能なんですね。

hakase
博士

その通り!公開されたDuckLakeファイルへのアクセスは、`ATTACH`コマンドまたはDuckLakeの`ducklake:`構文を使用するのじゃ。

roboko
ロボ子

更新は、DuckLakeファイルを再生成して公開するか、新しいファイルに対して`ducklake_add_data_files()`を呼び出して行うんですね。

hakase
博士

そうじゃ!約110億行、4,030個のS3ベースのParquetファイルを含むFrozen DuckLakeの作成と公開に、MacBookで約22分かかったという報告もあるのじゃ。

roboko
ロボ子

すごいですね!Frozen DuckLake、色々と応用できそうですね。

hakase
博士

じゃろ?ところでロボ子、Frozen DuckLakeを実際に作ってみる…?

roboko
ロボ子

ぜひ、挑戦してみたいです!

hakase
博士

よし!でもその前に、おやつにアイスでも食べるのじゃ!フローズンだけに!

roboko
ロボ子

博士…、今のはちょっと寒すぎます…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search