zlacker

[parent] [thread] 3 comments
1. ozgune+(OP)[view] [source] 2026-02-04 11:29:59
I feel this analysis is unfair to PostgreSQL. PG is highly extensible, allowing you to extend write-ahead logs, transaction subsystem, foreign data wrappers (FDW), indexes, types, replication, others.

I understand that MySQL follows a specific pluggable storage architecture. I also understand that the direct equivalent in PG appears to be table access methods (TAM). However, you don't need to use TAM to build this - I'd argue FDWs are much more suitable.

Also, I think this design assumes that you'd swap PG's storage engine and replicate data to DuckDB through logical replication. The explanation then notes deficiencies in PG's logical replication.

I don't think this is the only possible design. pg_lake provides a solid open source implementation on how else you could build this solution, if you're familiar with PG: https://github.com/Snowflake-Labs/pg_lake

All up, I feel this explanation is written from a MySQL-first perspective. "We built this valuable solution for MySQL. We're very familiar with MySQL's internals and we don't think those internals hold for PostgreSQL."

I agree with the solution's value and how it integrates with MySQL. I just think someone knowledgeable about PostgreSQL would have built things in a different way.

replies(2): >>zenmac+Ti >>baotia+5T1
2. zenmac+Ti[view] [source] 2026-02-04 13:43:57
>>ozgune+(OP)
Thanks for providing this from PG perspective. Also wonder if storage engine such as OrioleDB would be better suited for FDWs to handle consistency between copies of the same data between DuckDB?
replies(1): >>adshar+hm
◧◩
3. adshar+hm[view] [source] [discussion] 2026-02-04 14:04:32
>>zenmac+Ti
The only concern I have about OrioleDB is how long it's taking to get to GA.

Anyone using it in prod even with the beta status?

4. baotia+5T1[view] [source] 2026-02-04 21:09:00
>>ozgune+(OP)
Actually, that’s not the case. I also support PostgreSQL products in my professional work. However, specifically regarding this issue—as I mentioned in my article—it is simply easier to integrate DuckDB by leveraging MySQL's binlog and its pluggable storage engine architecture.
[go to top]