PRODUCTS

KEYWORDS

We are rewriting Dolt in Rust

For the last six years, we’ve been hard at work building Dolt, the world’s first version-controlled SQL database. For historical reasons, we wrote Dolt in Go, and while we have been mostly pretty happy with Go as a language and runtime and toolchain, we have always had nagging doubts that it was holding us back as a database company. Specifically we’ve been very intrigued by other high-profile companies and developers who saw massive performance and productivity gains by migrating their code bases to Rust. So today, after weeks of internal debate, we are announcing that we have made the difficult but exciting decision that we are rewriting Dolt in Rust, from the ground up.

Impact on customers#

Dolt took roughly four years to go from prototype to production-ready database server in its 1.0 release. Given the massive developer productivity boosts inherent in using a memory-safe language like Rust, we anticipate that we can release Dolt 2.0, rewritten entirely in Rust, in approximately 14 months. While none of our engineering team has learned to program in Rust yet, we’ve been repeatedly assured that the language has a very gentle learning curve and is actually much easier to understand than Go, so we don’t expect this to be a major hurdle to the rewrite.

In the meantime:

  • Dolt 1.0 is now a legacy application.
  • New feature development and performance improvements for Legacy Dolt are suspended. Existing customers will receive critical security patches only.
  • The 24-hour bug pledge is suspended during the rewrite.
  • We had originally intended to launch the beta of our Postgres compatible database server, Doltgres, later this month. In light of the rewrite effort, Doltgres will now launch with Dolt 2.0 in about 14 months.
  • The Dolt and Doltgres github repositories are archived effective immediately.

We know that some customers and fans of Dolt will be disappointed by these inevitable delays, but we hope that you will also join us in our excitement for what is sure to be a glorious new era of productivity for our engineering team, and ultimately much better performance in the database server you have come to love.

Conclusion#

If you have any feedback on this decision, please email Tim, our CEO. And as always, you are very welcome to come by our Discord to talk to our engineering team.