- REFERENCE9 min read
So you want Database Versioning?
Here at DoltHub, we've had a lot of success with our "So you want..." series of blog posts helping people find Dolt when they are looking for it. Dolt is a lot of things. Dolt is a version controlled database, a Git database, Git for data, data…
Read More
- GOLANG5 min read
The new maps and slices packages in Go 1.23: tour and examples
We're using Go to write Dolt , the world's first and only version-controlled SQL database. Like any Go program that deals with data, we often find ourselves in need of high-level functions that transform data...
Read More - REFERENCE6 min read
We Have Google Drive at Home: Musings on Merkle-Tree Based File Sharing
Suppose you have a directory of files that you want to sync with your friends. When the files change, you want your friends to be able to download just the changes without needing to re-download the entire directory again. And you want this to scal...
Read More - REFERENCE7 min read
Advanced config.yaml
Last week, I wrote an article going over the basic configuration options in Dolt's main SQL Server configuration file, config.yaml . That article was already really long, clocking in at a 23 minute read according to Gatsby, our blog publish...
Read More - WORKBENCHFEATURE RELEASE2 min read
Announcing the Dolt Workbench Remotes Tab
We’re excited to announce a new feature in the Dolt Workbench : the Remotes tab! This allows you to set up remotes and sync your databases with them by pulling and pushing changes. The Dolt Workbench is available for download in the Mac and...
Read More - REFERENCE5 min read
Dolt Certs
In my last blog I talked about a lot of aspects of taking your Dolt database to production. One of the things I mentioned was the importance of securing your database, but didn't cover the acquisition and deployment of SSL certificates. In th...
Read More - REFERENCE4 min read
Mydumper Works with Dolt
Dolt is a drop in-replacement for MySQL, which means it can be used with any MySQL-compatible tool. One such tool is Mydumper and its counterpart Myloader. Mydumper is a MySQL Logical Backup tool that emphasizes parallelism and performance. I...
Read More - DOLTHUBFEATURE RELEASE13 min read
Pull Request CI on DoltHub
In November, we announced support for continuous integration (CI) testing on DoltHub , which lets users programmatically run checks on their databases. At the time of the announcement, these checks were limited to push events, but today we'...
Read More - REFERENCE6 min read
MySQL-9.0, Dolt, and Caching SHA-2 Auth Support
Lately, we've seen customers install the latest innovation release of MySQL (i.e. MySQL-9.0) and then have problems connecting to a Dolt SQL server due to MySQL-9.0 removing mysql_native_password auth support. In this post, we'll explain what...
Read More - REFERENCE23 min read
A Tour of config.yaml
Hot on the heels of my overview of Dolt configuration , I'm going to do a deep dive on config.yaml , the configuration file for a Dolt SQL Server. As I was writing the configuration overview, I realized our documentation on our main configurati...
Read More - USE CASE6 min read
Decentralized Wikipedia Update
Dolt is a decentralized database . In the past ten years or so decentralization has gone through a few hype cycles. I think we're in a pro-decentralization hype period right now. Decentralization hype tracks the price of Bitcoin and last I checke...
Read More - DOLTGRES8 min read
Doltgres System Tables Update
We've been hard at work getting Doltgres , a Postgres-flavored version of Dolt , ready for its beta release in Q1 . This includes making sure all the version control features you know and love from Dolt also work properly in a Postgres enviro...
Read More - GOLANG15 min read
What's Missing From Golang Generics?
Last time, I discussed a specific design problem that I encountered while writing generic code in Go, and how I eventually solved it. I was proud that I had found a solution, although less proud that it wasn't the cleanest. ...
Read More - REFERENCE5 min read
Dolt Configuration
Dolt configuration is a bit of a mess. To start, it's a union of Git and MySQL styles of configuration. Then, Dolt specific configuration is sprinkled on top. It's been on our list for a long time to consolidate and rationalize Dolt configuration...
Read More - REFERENCE2 min read
Dolt SSL Authentication
Dolt is the world's first and only version controlled SQL database. Dolt is fully MySQL-compatible. You connect to it with any MySQL client. Some MySQL clients require connection authentication using Transport Layer Security (TLS) . TLS is ofte...
Read More - REFERENCE4 min read
Workbenches are Better with a Version Controlled Database
The Dolt Workbench is a modern, open-source SQL workbench that works with any MySQL and PostgreSQL compatible database, including version controlled databases like Dolt and DoltgreSQL . We think that the workbench experience is vastly impro...
Read More - INTEGRATION8 min read
Using Perl to Query Dolt Databases
A couple of decades ago, as a brand-new CS grad just entering the world of big tech, I was given the Programming Perl book – also affectionately known as the "Camel Book". 🐪 I was told that I was now officially a Perl programmer and should lear...
Read More - REFERENCE9 min read
Productionizing Dolt
So you've been using Dolt for a while, and you are ready to take the next step and use it in production. Whether you are running your production environment on prem, or in the cloud, there are several steps you should take to ensure that your Dol...
Read More - REFERENCESQLDOLTGRES6 min read
History independence, what it is and why it matters
Dolt is the world's first and only version-controlled SQL database. It's a SQL database that you can fork, clone, branch, merge, push and pull just like a Git repository. Like files in Git, tables and other data in Dolt are content-addressed by a...
Read More - SQL5 min read
Balancing Perf Trade-offs
I ran into a performance trade-off last week attempting to improve long-running queries by changing the ways rows are structured. A more general row interface increases memory overhead but lets us skip encoding overhead. Unfortunately, joins create...
Read More - GOLANG11 min read
Are Golang Generics Simple or Incomplete? A Design Study
This comment on ycombinator lives rent-free in my head. Nothing before or since has captured my feelings on Go quite as succinctly. Take for instance, generics. Or its more precise name: parametric polymorp...
Read More