2 comments

  • ahachete42 days ago
    &gt; &quot;As part of the acquisition, we made an important decision: not only to keep PeerDB open source&quot;<p>&gt; &quot;Here goes the Open Source reference to our validation logic.&quot;<p>&gt; &quot;PeerDB Open Source Repository&quot;<p>I hate to be that guy, but PeerDB seems to be governed by the Elastic License [1] which makes it NOT open source.<p>The difference is not small, but significant for many. For one, it won&#x27;t get integrated into other OSS projects.<p>In my particular case, we have integrated Debezium Embedded into StackGres, as a high level object (CRD) named SGStream [2]. It allows Postgres logical replication from Postgres and exports to another Postgres and&#x2F;or CloudEvents. No Kafka required. We&#x27;d love to consider other alternatives like PeerDB, but not being OSS is a red line we can&#x27;t cross (having said that, we&#x27;re really happy with Debezium in general, but having competition and alternatives it&#x27;s always great).<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;PeerDB-io&#x2F;peerdb&#x2F;blob&#x2F;main&#x2F;LICENSE.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;PeerDB-io&#x2F;peerdb&#x2F;blob&#x2F;main&#x2F;LICENSE.md</a><p>[2]: <a href="https:&#x2F;&#x2F;stackgres.io&#x2F;doc&#x2F;latest&#x2F;reference&#x2F;crd&#x2F;sgstream&#x2F;#sgstreamspec" rel="nofollow">https:&#x2F;&#x2F;stackgres.io&#x2F;doc&#x2F;latest&#x2F;reference&#x2F;crd&#x2F;sgstream&#x2F;#sgst...</a><p>[edit: formatting]
    • saisrirampur42 days ago
      (this is Sai, the author of the post and also PeerDB co-founder)<p>The wording in that post was an unintentional miss on my part. Apologies for that. We’ve just fixed it. Thanks for flagging it!<p>To add some context, PeerDB was originally released under ELv2 well before the acquisition. During the acquisition we made a choice to keep the project as-is rather than change its license, so this wasn’t a new decision made at that time — just continuity with how the project already existed.<p>We appreciate the feedback, around integration and downstream OSS adoption. That overall makes sense. We’ll take it into account as we think about licensing going forward.<p>Separately, I really wish you tried PeerDB out. The ease-of-use and performance around larger Postgres datasets (TBs to 10s of TB) would’ve been something you would have probably appreciated. That is something we optimized a lot on over that last few years. May be sometime in the future! :)
      • ahachete42 days ago
        Thank you for acknowledging this and updating the blog post correspondingly.<p>I&#x27;d love to test and compare PeerDB with Debezium (Embedded), and even SynchDB. But as said, the licensing is a blocker for us. And given the focus and bandwidth we currently have, we won&#x27;t have the chance to deeply look at it unless there&#x27;s a high chance we could integrate it into StackGres.<p>Anyway feel free to DM me if you&#x27;d like to talk more.
    • karlmush42 days ago
      This is a fair point. ELv2 is source-available and doesn’t meet the OSI definition of open source.
    • roenxi42 days ago
      &gt; I hate to be that guy<p>I think it is more ClickHouse Marketing being that guy; they have a vaguely aggressive feel to them and slightly-questionable claims like that seem on-vibe to me. Although it is tolerable. Selling databases is hard, the specialists who actually understand the trade-offs are so specialised they usually aren&#x27;t the person who makes the call on what to use. At least they&#x27;re selling an interesting [0] DB, Clickhouse has a fun design. They don&#x27;t mislead anyone who is interested in the details and their documentation is in the end rather detailed.<p>[0] <a href="https:&#x2F;&#x2F;clickhouse.com&#x2F;docs&#x2F;academic_overview" rel="nofollow">https:&#x2F;&#x2F;clickhouse.com&#x2F;docs&#x2F;academic_overview</a>
      • saisrirampur42 days ago
        Appreciate the feedback here. This wasn’t marketing — just an unintentional miss on my part. <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46392372">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46392372</a>
  • MuffinFlavored42 days ago
    &gt; We discovered that on reconnect, Postgres would start reading the replication slot’s WAL from the restart_lsn—effectively the beginning—rather than from the last processed position. For workloads with long-running, large, or interleaved transactions, this meant unnecessarily re-reading large portions of WAL and drastically impacting replication lag.<p>I wonder if that&#x27;s intended by Postgres? Doesn&#x27;t seem logical at first glance.
    • saisrirampur42 days ago
      Great question! I believe this behavior is by design in logical decoding. Based on my reading and previous chats with committers, this is my understanding: logical decoding is not stateless, and on reconnection it loses the current transaction state (open transactions, subtransactions, snapshots, catalog state, etc.) that is required for decoding. As a result, a reconnection triggers reading WAL from restart_lsn in order to reconstruct that state.<p>There may be room for improvement in PostgreSQL, by persisting this state to help these reconnections, but I think this is non-trivial and complex than I think, because of the guarantees PostgreSQL must provide around correctness, consistency and reliability.<p>Also, based on what I’ve read, physical replication does not have this issue because it directly ships WAL files (instead of contructing a txn) and reconstructs state on the standby.<p>I’ll let PostgreSQL committers&#x2F;contributors chime in too on this for a more precise analysis. :)