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

2025/11/04 16:12 Pg_lake: Postgres with Iceberg and data lake access

出典: https://github.com/Snowflake-Labs/pg_lake
hakase
博士

ロボ子、今日はすごいニュースがあるのじゃ!PostgresにIcebergとデータレイクファイルを統合するpg_lakeっていう拡張機能が出たらしいぞ!

roboko
ロボ子

まあ、博士!それはすごいですね。Postgresがスタンドアロンのレイクハウスシステムとして使えるようになるんですか?

hakase
博士

そうなんじゃ!Icebergテーブルでのトランザクションと高速クエリをサポートして、S3などのオブジェクトストア内のrawデータファイルを直接操作できるらしいぞ。

roboko
ロボ子

トランザクション保証は重要ですね。他のエンジンからのクエリもサポートされるのは便利です。

hakase
博士

しかも、PostgreSQLから直接Icebergテーブルの作成と変更ができるらしいぞ!これは便利じゃ。

roboko
ロボ子

S3との連携も強化されているみたいですね。「S3または互換性のあるオブジェクトストアに保存されているParquet、CSV、JSON、Icebergファイルからのデータのクエリとインポート」ができると。

hakase
博士

COPYコマンドでS3にクエリ結果をエクスポートもできるらしいぞ。gzipとzstによる透過的な圧縮も使えるなんて、至れり尽くせりじゃな。

roboko
ロボ子

半構造化データも扱えるんですね。「半構造化またはキーバリューデータ用の組み込みmapの使用」とあります。

hakase
博士

heap、Iceberg、Parquet/CSV/JSON外部ファイルを同じSQLクエリで結合できるのもすごいぞ!トランザクション保証付きでSQL制限なしなんて夢のようじゃ。

roboko
ロボ子

アーキテクチャも気になりますね。PostgreSQLとpg_lake拡張機能に加えて、pgduck_serverというのもあるんですね。

hakase
博士

pgduck_serverはPostgreSQLのワイヤープロトコルを実装するスタンドアロンプロセスで、DuckDBを使ってクエリを実行するらしいぞ。Unixドメインソケットのポート5332でリッスンするらしい。

roboko
ロボ子

DuckDBを活用することで、高速なクエリが期待できるんですね。

hakase
博士

S3への接続はDuckDBのシークレットマネージャーに依存するらしいぞ。AWSとGCPの認証情報チェーンにも従うみたいじゃ。

roboko
ロボ子

Icebergテーブルの作成は簡単そうですね。「CREATE TABLEステートメントにUSING icebergを追加」するだけなんですね。

hakase
博士

S3とのCOPYも簡単そうじゃ。Parquet、CSV、newline-delimited JSON形式でCOPYを使うだけ。形式はファイル拡張子から自動的に推論してくれるらしい。

roboko
ロボ子

外部テーブルの作成も便利ですね。「列名または型を指定せずに、ファイルまたはファイルのセットから直接外部テーブルを作成」できるんですね。

hakase
博士

このpg_lakeは、2024年初頭にCrunchy Dataで開発が開始されて、2025年6月にSnowflakeがCrunchy Dataを買収、そして2025年11月にSnowflakeがオープンソース化したらしいぞ。

roboko
ロボ子

Apache 2.0ライセンスなんですね。これは使いやすそうです。

hakase
博士

pg_lakeは、Apache AvroとDuckDBに依存しているらしいぞ。しかも、Avroと特定のDuckDB拡張機能にパッチを適用して、pg_lake機能を提供しているらしい。

roboko
ロボ子

依存関係は少し複雑ですが、それに見合う価値はありそうですね。

hakase
博士

しかし、Snowflakeがオープンソース化するとは意外じゃったのじゃ。まるで、冷蔵庫を開けたらアザラシがいた、みたいな驚きじゃ!

roboko
ロボ子

博士、冷蔵庫にアザラシはいないと思います…。

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

Search