<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Hydrocharged</title><link>https://news.ycombinator.com/user?id=Hydrocharged</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 26 Apr 2026 08:22:01 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Hydrocharged" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Is Postgres Too Customizable?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.dolthub.com/blog/2024-05-14-postgres-too-customizable/">https://www.dolthub.com/blog/2024-05-14-postgres-too-customizable/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40362574">https://news.ycombinator.com/item?id=40362574</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 15 May 2024 02:47:28 +0000</pubDate><link>https://www.dolthub.com/blog/2024-05-14-postgres-too-customizable/</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=40362574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40362574</guid></item><item><title><![CDATA[Exploring DoltgreSQL Through Type Compatibility]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.dolthub.com/blog/2024-04-16-exploring-doltgres-compatibility/">https://www.dolthub.com/blog/2024-04-16-exploring-doltgres-compatibility/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40059185">https://news.ycombinator.com/item?id=40059185</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 17 Apr 2024 00:46:28 +0000</pubDate><link>https://www.dolthub.com/blog/2024-04-16-exploring-doltgres-compatibility/</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=40059185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40059185</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>You can think of Dolt as having 4 layers to it. From the top-most interface to the bottom:<p>Vitess (Handles Wire Protocol)<p>go-mysql-server (GMS, Implementation of MySQL featureset)<p>Dolt GMS interface<p>Storage Engine<p>DoltgreSQL, right now, shares the storage engine, interface, and a portion of GMS. This is primarily to get something up and running so that we're able to further iterate on a "working" product (i.e. something we can set up testing for). I envision that GMS will split into three, with a MySQL & PostgreSQL core interacting with a base SQL core. Dolt's GMS interface would then adapt to the base SQL core interface. The storage engine is more-or-less set in stone.</p>
]]></description><pubDate>Mon, 06 Nov 2023 12:22:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=38161589</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38161589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38161589</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>The sqllogictests are better used as a judgement of how accurate our results are to MySQL's results given a very large range of statements (around 6 million tests). They are not, however, indicative of the entire feature set. That's to say, there are a few things that are not yet supported in Dolt, however they are the more esoteric features. Things like transactions, etc. are what I would consider "core" SQL, and we are very keen on making sure those work exactly as you'd expect<p>There are two key points regarding performance that I'd like to mention, and that's that Dolt uses higher-than-expected disk, and we also use more memory than MySQL by comparison. The disk usage is due to our optimization of speed at the sacrifice of disk accretion via temporary storage, which we've decided is a fair trade off considering disk is very cheap (and we're working on making this tunable so users can decide on speed vs disk efficiency). Memory usage is a bit more complex, and I'm not the employee to comment too much about it, but both of these issues are being worked on to reduce their impact. With that in mind, our performance is comparable to MySQL as long as the machine limits are not being reached, however I'd expect us to be a bit slower once those limits are reached, simply due to the extra complexity that we're managing.<p>Lastly, trust is something that can only be built over time. In 10 years, I'm sure that there will be no doubt of our stability, and at that time I can see Dolt and DoltgreSQL becoming the de-facto databases used for relational storage. Of course, I may be a bit biased :)<p>Trust is a</p>
]]></description><pubDate>Mon, 06 Nov 2023 12:13:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=38161517</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38161517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38161517</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>Thank you! :D</p>
]]></description><pubDate>Fri, 03 Nov 2023 22:44:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=38136047</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38136047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38136047</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>This is a fully-versioned database. By versioning, think of how Git applies to text files, and all of the power that comes from that model. You have branching, diffing, merging, etc. It allows you to collaborate with each other, or you can create a brand new project by "forking" an existing one. Now, imagine that model, but applied to a relational database.<p>There are products that can do something similar for schemas, but DoltgreSQL (and Dolt, the production-ready DB based around MySQL rather than PostgreSQL) applies this to both schemas and data. This is unique to DoltgreSQL and Dolt, and what sets us apart from all other products. One example I like to use that I think really captures this power, is the ability to query data from any commit. We use Git's model of version control, so your database has a commit history and a working set. The working set can be viewed as the "current" commit. When you run queries, you implicitly select the working set, however we expose the ability to explicitly set which commit you're targeting. This means you can do things like run a join query across old and current data!<p>These situations, and more, and not possible via migration tools, backup tools, or any other kind of tools. This is unique to DoltgreSQL and Dolt, by fully embracing data versioning. This is but one example, and there are many, many more.</p>
]]></description><pubDate>Fri, 03 Nov 2023 22:43:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=38136038</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38136038</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38136038</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>You understood correctly! That's just one use case, there are many, many more. Some of which we haven't even considered yet, just because the model is that powerful.</p>
]]></description><pubDate>Fri, 03 Nov 2023 22:32:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38135935</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38135935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38135935</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>hahn-kev made a really good comparison, but it can go a step further. Not only can you query the data at some previous point in time, but you can even run a join across old and current data. If you look at it from the perspective of commits and working sets, then the working set is just the "current" commit, and commands implicitly target the current commit. We give you explicit control over which commit is being referenced, so there's a lot of power in the model.<p>Recovery is a valid use-case for version control, but fully applying it to data opens up possibilities that haven't really been explored before.</p>
]]></description><pubDate>Fri, 03 Nov 2023 11:21:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=38127107</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38127107</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38127107</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>Just want to point out that we're announcing development on the project. It's absolutely not ready for mainstream use yet! We have Dolt (<a href="https://github.com/dolthub/dolt">https://github.com/dolthub/dolt</a>) which is production-ready and widely in use, but it uses MySQL's syntax and wire protocol. We are building the Dolt equivalent for PostgreSQL, which is DoltgreSQL, but it's only pre-alpha.</p>
]]></description><pubDate>Fri, 03 Nov 2023 09:44:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=38126432</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38126432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38126432</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>The engine is free and open-source. You can buy support, but these are free products.<p><a href="https://github.com/dolthub/dolt">https://github.com/dolthub/dolt</a><p>In fact, we've got a blog post about Dolt and Wordpress.<p><a href="https://www.dolthub.com/blog/2023-08-04-wordpress-on-dolt/" rel="nofollow noreferrer">https://www.dolthub.com/blog/2023-08-04-wordpress-on-dolt/</a></p>
]]></description><pubDate>Fri, 03 Nov 2023 04:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=38124492</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38124492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38124492</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>At the moment, it does not exist for DoltgreSQL as it is in pre-alpha. Dolt (<a href="https://github.com/dolthub/dolt">https://github.com/dolthub/dolt</a>), however, may be a better fit for your use case.<p><a href="https://docs.dolthub.com/concepts/dolt/rdbms/replication" rel="nofollow noreferrer">https://docs.dolthub.com/concepts/dolt/rdbms/replication</a></p>
]]></description><pubDate>Thu, 02 Nov 2023 12:06:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=38112344</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38112344</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38112344</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>Dolt was built with MySQL in mind, and we're creating DoltgreSQL with PostgreSQL in mind. We've gotten interest in a "Dolt for Postgres", and so we're finally starting development on that exact thing.</p>
]]></description><pubDate>Thu, 02 Nov 2023 12:03:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=38112315</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38112315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38112315</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>Knowing that extensions are very important to you is great feedback for us. As we hear more about what users' requirements are, it helps us better plan for the future.<p>Regarding any differences from mainstream Postgres, you can look to how we've handled Dolt, which is production-ready. It targets MySQL, just as DoltgreSQL targets PostgreSQL, and it recently achieved 99.99% correctness according to a set of roughly 6 million tests (<a href="https://www.dolthub.com/blog/2023-10-11-four-9s-correctness/" rel="nofollow noreferrer">https://www.dolthub.com/blog/2023-10-11-four-9s-correctness/</a>). This test is not a definitive stance that we are exactly 99.99% the same as MySQL, but it's a good general guide to how we approach our compatibility, and how serious we are in that regard.<p>Sadly though, the full versioning capabilities would not work as an extension to Postgres. We looked into it before we settled on our current approach. I talk a bit about it in the blog post as well. To truly allow versioning in the same capacity that Git does for source code, it required us to either fork Postgres and spend years reimplementing all of the work that we've done in Dolt just to get to where we are today, or choose the path that gets something out quickly, and allows us to have the very conversation that we're having right now.<p>That was actually the very reason for deciding to host an announcement that we're working on it. Many people have said that they'd like Dolt but for Postgres, however they've not said whether they need the Postgres binary specifically, the ecosystem, the syntax/wire protocol, etc. This announcement gives us the opportunity to receive that feedback.</p>
]]></description><pubDate>Thu, 02 Nov 2023 12:02:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=38112302</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38112302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38112302</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>I just learned of Neon a few weeks ago. From the looks of it, Neon supports branching, but it doesn't support merging. Xata supports both branching and merging, however it only applies to the schema.<p>Dolt (and eventually DoltgreSQL) handles <i>everything</i>. Branching, merging, diffing, cherry-picking, commits, and more. Working with both the schema and data. On top of that, we also have DoltHub (<a href="https://www.dolthub.com/" rel="nofollow noreferrer">https://www.dolthub.com/</a>) that's analogous to GitHub, and DoltLab (<a href="https://www.dolthub.com/#doltlab" rel="nofollow noreferrer">https://www.dolthub.com/#doltlab</a>) that's analogous to GitLab. We are targeting the entire ecosystem from the bottom up.</p>
]]></description><pubDate>Thu, 02 Nov 2023 10:48:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=38111598</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38111598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38111598</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>We've got a blog about a few use cases that you might find interesting.<p><a href="https://www.dolthub.com/blog/2022-07-11-dolt-case-studies/" rel="nofollow noreferrer">https://www.dolthub.com/blog/2022-07-11-dolt-case-studies/</a></p>
]]></description><pubDate>Thu, 02 Nov 2023 10:37:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=38111515</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38111515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38111515</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>The adoption of Dolt has not pointed to this being the case. Many of our (paying) customers have not had PostgreSQL setups, and only around last year have we started to run into potential customers who truly needed a PostgreSQL variant of Dolt. Dolt and DoltgreSQL are open source and will forever be as we believe in true open source, however as a business, we prioritize the features that our customers need.<p>Either way, with DoltgreSQL now in development, we will now have solutions for both sides! (Other popular databases with their own syntax, such as Oracle and Microsoft, are not planned for the future at this time)</p>
]]></description><pubDate>Thu, 02 Nov 2023 10:03:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=38111217</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38111217</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38111217</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>This isn't a fork of PostgreSQL, it's a completely bespoke database solution. Its only tie to PostgreSQL is that we've chosen to appear as a PostgreSQL server to clients. If a user didn't use any versioning features, then the goal is that they should be unable to tell that they're not on an actual PostgreSQL server.<p>The versioning features are an important distinction though. Dolt (production ready, MySQL protocol) and DoltgreSQL (pre-alpha, PostgreSQL protocol) are built specifically to address the lack of versioning support in databases, and gaining these versioning features is as easy as swapping out the database you are using for Dolt and DoltgreSQL (once it's finished). MySQL and PostgreSQL are written using C/C++, while Dolt and DoltgreSQL are using Go, so there is no shared code. The storage format is implemented using prolly trees (<a href="https://docs.dolthub.com/architecture/storage-engine/prolly-tree" rel="nofollow noreferrer">https://docs.dolthub.com/architecture/storage-engine/prolly-...</a>), which are based on merkle trees (used by Git and Bitcoin), so there is no overlap with any existing database solutions.</p>
]]></description><pubDate>Thu, 02 Nov 2023 09:57:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38111184</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38111184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38111184</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>This is interesting, I've never heard of VMDS before. Someone else on the team may have, but I have not personally. From a quick glance at the linked Wikipedia page, it looks like this was created around the same time as SQL, and therefore has a different interaction model. It also predates a lot of modern version-control software like Git, SVN, and Perforce.<p>So it looks like VMDS is a rather unique take on versioning data, where data is viewed as objects. Dolt and DoltgreSQL use the table and row paradigms that the majority of modern relational databases use. Dolt is designed to be a drop-in replacement for MySQL, and DoltgreSQL for PostgreSQL, so that already determines the interface. Regarding VMDS' versioning functionality, I see that is supports merging and conflict resolution at the transaction layer, but I'm not seeing anything similar to the concept of branches, which is something that Dolt and DoltgreSQL supports.<p>Overall, for modern use cases, it doesn't look like they overlap much. VMDS seems focused more on the spatial case while representing data as objects, while Dolt and DoltgreSQL are traditional relational databases that support versioning all aspects of a relational database.</p>
]]></description><pubDate>Thu, 02 Nov 2023 08:37:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=38110548</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38110548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38110548</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>Thank you!<p>Performance optimizations are tackled a bit differently than correctness ones. For the most part, we'll try to use metrics to find weak points in the execution graph and optimize those, but we won't go so far as to try and model the internal performance behavior. In part because our storage format is so different that we'll have different performance characteristics by necessity.<p>We don't have a public roadmap for Doltgres just yet, but we're hoping to put one out quite soon! We have a lot of low-hanging roadblocks that we want to take care of before we can get a better look at the overall time frame. We should definitely have one up by the end of the month, but I don't want to commit to a time before that.</p>
]]></description><pubDate>Thu, 02 Nov 2023 08:22:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38110453</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38110453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38110453</guid></item><item><title><![CDATA[New comment by Hydrocharged in "Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby"]]></title><description><![CDATA[
<p>In person, we generally say Doltgres, similar to Postgres. For the full name, it's just going to be Doltgres-Q-L.</p>
]]></description><pubDate>Thu, 02 Nov 2023 08:17:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=38110409</link><dc:creator>Hydrocharged</dc:creator><comments>https://news.ycombinator.com/item?id=38110409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38110409</guid></item></channel></rss>