Snowflake、PostgresのCDCをIcebergに直接プッシュし、レプリケーションを「時計仕掛け」に変える
How We Pushed CDC into Postgres

SnowflakeがPostgresサービス向けに開発したデータミラーリング機能は、変更データキャプチャ(CDC)をPostgres内部からIcebergテーブルへ直接プッシュする。従来の外部ツールによるプル型のレプリケーションが抱えるスナップショットと変更の競合やアップサートの非効率性を排除し、トランザクション境界を保ったまま高スループットで低遅延な同期を実現する。ライブビューにより未適用の変更を即座にクエリ可能で、セットアップは一度きり、その後は自動で動き続ける。
「ボタンを押せば、PostgresのテーブルがSnowflakeに現れる」
HNでの議論
31- bastawhiz
ClickhouseはPeerdbの買収でこれを本当にうまくやった。何テラバイトものデータベースで使ったが、基本的にそれについて考えることはほとんどなかった。唯一注意しなければならなかったのは、一度にあまり多くをレプリケートしようとすることだった(PostgresやClickhouseクラスターの物理的な計算/IO容量のため)。
- gopalv
これは基本的にVerticaが長い間得意としていた技で、同じ行に対してWOSとROSのフォーマットを持ち、それらの間でアンチキャッシュを行うというものだった。DezebiumとDelta Lakeを使えば、かなり長い間同様のシステムを構築できたかもしれないが、速く実行するとコンパクションに失敗するだろう。Oracle GoldenGate 12cが2014年頃にこの技を、安価なレプリカとしてMySQLを使ってやっているのを見たことがある。しかし、それらはすべてスキーマ更新に対してある方向で脆弱だ。これに最も近い、バッテリー同梱の同等品はAurora -> Redshiftブリッジ[1]だ。
- jauntywundrkind
pg_lakeはオープンソースだが、CDC機能が欠けていることに注意が必要だ。閉じられたhttps://github.com/snowflake-eng/sfpg-extension-pg_lake_repl... へのコメントやリンクがいくつかある。
- hasyimibhar
Postgresとウェアハウスソリューションの両方を1つの屋根の下で提供する異なる企業が、同じ問題にどう取り組むかを見るのは興味深い。
- ClickHouseは従来のCDC(ClickPipes)に焦点を当て、それを猛烈に速くするだけだ。
- Databricksは統合ストレージアーキテクチャ(LTAP)を活用してデータのコピーを避ける(キャッシュにはまだコピーがあると主張できるが)。
- SnowflakeはデータミラーリングCDCを拡張機能として使い、Postgres上で直接実行する。
私はまだ、Postgresプロバイダーがデータを直接Icebergにミラーリングさせてくれ、自分のステートレスなクエリエンジンを接続できるようにしてくれるのを待っている。
- whateveracct
Snowflakeは本当に素晴らしい製品だ。ここ数年使ってきて楽しい経験だった。