Dalam langkah mengejutkan yang menimbulkan buzz penting dalam komuniti pangkalan data, Snowflake telah menjadikan pg_lake sebagai sumber terbuka, iaitu sambungan PostgreSQL yang membawa Apache Iceberg dan keupayaan tasik data terus ke dalam pangkalan data sumber terbuka paling popular di dunia. Keluaran ini mewakili peralihan utama dalam cara organisasi boleh mendekati seni bina data mereka, berpotensi menghapuskan saluran paip ETL yang kompleks sambil mengekalkan konsistensi transaksi merentasi beban kerja operasi dan analitik.
Masa keluaran ini amat penting - tiba hanya beberapa bulan selepas pemerolehan Snowflake terhadap Crunchy Data pada Jun 2025, dan susulan pemerolehan Databricks terhadap pasukan pg_mooncake yang bersaing. Landskap pangkalan data jelas semakin hangat dengan vendor utama bertaruh besar pada masa depan PostgreSQL dalam ruang tasik data.
Merapatkan Beban Kerja Operasi dan Analitik
Inovasi teras pg_lake terletak pada keupayaannya untuk membolehkan PostgreSQL berfungsi sebagai kedua-dua pangkalan data operasi tradisional dan sistem lakehouse secara serentak. Pemaju boleh mencipta dan mengubah suai jadual Iceberg terus dari PostgreSQL dengan jaminan transaksi ACID penuh, kemudian meminta jadual yang sama dari enjin lain seperti Spark. Ini menghapuskan geseran tradisional antara sistem operasi dan pemprosesan analitik.
Apa yang menjadikan ini lebih berkuasa ialah model pelaksanaan hibrid. Walaupun pengguna menyambung dan berinteraksi dengan PostgreSQL standard, sistem ini secara telus mewakilkan pertanyaan analitik intensif pengiraan kepada enjin pelaksanaan berorientasikan lajur dan selari tinggi DuckDB melalui proses pgduck_server yang berasingan. Seni bina ini mengelakkan batasan threading dan keselamatan memori yang mungkin timbul daripada menanamkan DuckDB terus dalam reka bentuk berasaskan proses PostgreSQL.
Transaksi tidak datang secara percuma. Menanamkan enjin dalam katalog dan bukannya katalog dalam enjin membolehkan transaksi merentasi jadual analitik dan operasi.
Perbandingan Seni Bina:
- pg_lake: Bahagian hadapan PostgreSQL + bahagian belakang DuckDB
- DuckLake: Bahagian hadapan DuckDB + katalog PostgreSQL
- pg_mooncake: PostgreSQL dengan pendekatan seni bina yang berbeza (diambil alih oleh Databricks)
Aplikasi Praktikal dan Keterujaan Pemaju
Sambutan komuniti amat positif, dengan pemaju serta-merta mengenal pasti aplikasi praktikal yang boleh memudahkan timbunan data kami untuk saas b2b seperti yang dinyatakan oleh seorang pengulas. Keupayaan untuk menggunakan alat dan sintaks PostgreSQL yang biasa untuk operasi tasik data mewakili pengurangan kerumitan yang ketara bagi banyak organisasi.
Beberapa ciri utama menonjol sebagai amat berharga: sokongan arahan COPY untuk mengeksport hasil pertanyaan terus ke S3 dalam format Parquet, CSV, atau JSON; inferens skema automatik dari sumber data luaran; dan keupayaan untuk menggabungkan jadual timbunan tradisional, jadual Iceberg, dan fail luaran dalam pertanyaan yang sama. Seorang pemaju meluahkan keterujaan tentang keupayaan untuk memindahkan data secara berkala dari Postgres ke data lake house yang dipartisi dengan satu pertanyaan sahaja - tugas yang sebelum ini memerlukan utiliti tersuai.
Format Fail yang Disokong:
- Input: Parquet, CSV, JSON, Iceberg, GeoJSON, Shapefiles
- Output: Parquet, CSV, JSON
- Pemampatan: gzip, zstd disokong secara telus
- Penyimpanan: S3 dan kedai objek yang serasi
Landskap Persaingan dan Implikasi Strategik
Sumber terbuka pg_lake ini meletakkannya terus bersaing dengan penyelesaian baru lain seperti DuckLake dan pg_mooncake, setiap satunya mengambil pendekatan seni bina yang sedikit berbeza. Walaupun DuckLake menggunakan DuckDB sebagai enjin pertanyaan utama dengan PostgreSQL sebagai katalog, pg_lake membalikkan model ini - menggunakan PostgreSQL sebagai frontend dengan DuckDB sebagai backend pengiraan.
Keluaran ini menimbulkan persoalan menarik tentang strategi Snowflake, memandangkan pg_lake berpotensi memakan produk utama mereka. Walau bagaimanapun, seperti yang diperhatikan oleh seorang pemerhati, Snowflake telah menunjukkan komitmen sebenar terhadap pemakanan sendiri dengan menjadi penyokong awal Iceberg walaupun terdapat potensi disruptif. Langkah ini nampaknya sebahagian daripada trend lebih luas di mana vendor platform data utama menerima format jadual terbuka sambil bersaing pada lapisan pengiraan.
Kesediaan Pengeluaran dan Hala Tuju Masa Depan
Apa yang membezakan pg_lake daripada beberapa penyelesaian pesaing ialah kematangannya. Teknologi ini telah diuji dalam pengeluaran sebagai Crunchy Data Warehouse sebelum pemerolehan, dan pasukan di belakangnya mempunyai pengalaman luas membina sambungan PostgreSQL gred pengeluaran seperti Citus dan pg_cron. Pengalaman ini kelihatan dalam set ciri komprehensif, termasuk sokongan SQL penuh, pengendalian transaksi, dan keupayaan untuk menolak serpihan pertanyaan yang sesuai ke DuckDB.
Seni bina modular - terdiri daripada beberapa sambungan yang boleh beroperasi bersama dan bukannya satu kod dasar monolitik - mencadangkan pendekatan berfikir untuk penyelenggaraan jangka panjang. Batasan semasa mengenai sokongan jadual Iceberg luaran dan kawalan akses terperinci diakui, dengan sokongan katalog REST baru digabungkan dan lebih banyak ciri mungkin akan datang memandangkan pembangunan aktif projek.
Komponen Utama pg_lake:
- pg_lake.iceberg: Melaksanakan spesifikasi Iceberg untuk PostgreSQL
- pg_lake.table: Pembungkus data asing untuk membuat pertanyaan fail storan objek
- pg_lake.copy: Melaksanakan fungsi COPY ke/dari tasik data
- pg_lake.engine: Modul biasa untuk sambungan pg_lake
- pgduck_server: Proses berasingan yang menjalankan DuckDB dengan protokol wayar PostgreSQL
- duckdb_pglake: Sambungan DuckDB yang menambah fungsi serasi PostgreSQL
Era Baru PostgreSQL
Keluaran pg_lake mewakili satu lagi mercu tanda dalam apa yang ramai panggil era keemasan PostgreSQL. Memandangkan organisasi semakin mencari untuk menyatukan infrastruktur data mereka dan mengurangkan kerumitan, penyelesaian yang meluaskan keupayaan PostgreSQL ke domain baru mendapat daya tarikan yang ketara. Keupayaan untuk mengendalikan kedua-dua beban kerja transaksi volum tinggi dan pertanyaan analitik dalam sistem yang sama dan biasa amat menarik bagi organisasi bersaiz sederhana di mana Snowflake mungkin berlebihan tetapi PostgreSQL biasa tidak mencukupi.
Bagi pemaju dan jurutera data, pg_lake menawarkan laluan menarik untuk memudahkan seni bina data tanpa mengorbankan keupayaan. Apabila ekosistem terus berkembang, garis antara pangkalan data operasi, gudang data, dan tasik data semakin kabur - dan PostgreSQL nampaknya bersedia untuk memainkan peranan utama dalam penumpuan ini.
