- 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
- FEATURE RELEASE4 min read
Introducing the `dolt archive` command
Here at Dolt, the first database to provide version control features like Git, we've been lucky to leverage existing code extensively while building our product. One piece we leveraged very heavily was Noms , and for the purposes of our discussio...
Read More - DOLTGRES5 min read
Re-introducing Dolt Functions in Doltgres
Introduction We're hard at work building Doltgres , a Postgres-compatible database with git-inspired version control features. Before we built Doltgres we built Dolt , which is MySQL-compatible instead. But there are many differences b...
Read More - SQL4 min read
New KV Execution Engine
This year, Dolt started passing every test in the sqllogictest suite . Correctness is crucial for reliability, but also lets us confidently reengineer the SQL engine for performance. One of the ways we are making query execution faster is c...
Read More - HOSTED4 min read
Hosted Dolt Private Deployments
Over two years ago, we launched our first hosted offering for Dolt. Since then, we have added features like the SQL workbench , support for Google Cloud and Single-sign on support with SAML . Up until now, our hosted offerings have all be...
Read More - REFERENCE5 min read
The Dolt Timeline
One of the major themes here at DoltHub for the next year or so is trust. We built Dolt , the world's first version controlled SQL database. We know innovating at the database layer of your stack requires complete trust in the new technology y...
Read More - GOLANG9 min read
What's the best Static Analysis tool for Golang?
If you've spent enough time writing in Golang, you've probably written code like this by accident: // FinalizeSomeWork returns an error on failure, and nil on success. func ( c * Connection ) FinalizeSomeWork ( ) error { ...
Read More - TECHNICAL7 min read
What Should Happen when there is a Schema Conflict?
Lately, I've been writing a lot about three-way merge . Dolt is the first and only SQL database to provide three-way merge of both schema and data. Being first means we get to define how three-way works for SQL databases. Defining behavior can...
Read More - SQL5 min read
Dolt TPC-C Improvements
The first production version of Dolt was released a little over a year ago. Since then we have been narrowing the performance differences between MySQL and Dolt. We've blogged several times recently about improving Dolt's transactional throug...
Read More - INTEGRATION19 min read
Using Debezium to Capture Changes from a Dolt Database
A few weeks ago, we announced the first release of support for Dolt-to-MySQL replication . Dolt now supports replicating to a MySQL database and from a MySQL database, through the MySQL binlog protocol . In addition to replicating databases to ...
Read More - REFERENCE16 min read
Ensuring Data Quality with SQL Types and Constraints
The inspiration for Dolt and DoltHub was data sharing. Most data today is shared via file. Common data formats are CSV, XML, or JSON. Dolt is a fully capable MySQL-compatible SQL database with Git-like version control. We share open source us...
Read More - TECHNICAL9 min read
lambdabats: Running BATS Tests with Massive Parallelism
Introduction Over four years ago, we wrote about how we use Bash Automated Testing System (Bats) to test Dolt . We love bats for automated end-to-end tests of Dolt use cases that make use of the Dolt CLI. At the time that the blog launch...
Read More - REFERENCE4 min read
Postgres vs MySQL Sysbench Latency
What open source database is faster? Postgres or MySQL ? It's surprisingly hard to find latency benchmark comparisons between these two databases. Here at DoltHub, we're building the world's first version controlled SQL database, Dolt . D...
Read More - TECHNICALSQL10 min read
Achieving Efficient Version Control of JSON with Prolly Trees
Last month we announced that we were making changes to how Dolt stores JSON documents , in order to make Dolt best-in-class for manipulating JSON within a SQL database. Today, we're going to explore exactly what that means, how we accomplished it...
Read More - GOLANG8 min read
Go range iterators demystified
Introduction We're using Go to write Dolt , the world's first version-controlled SQL database. Like most large Go codebases, we have a lot of collection types that we iterate over. New in Go 1.23 , you can now use the range keyword to ...
Read More - DOLTLAB4 min read
Announcing DoltLab v2.2.0
Today we're announcing the release of DoltLab v2.2.0 that contains some important new changes that make getting started with DoltLab much easier. This year our focus with DoltLab has been improving the first-time user experience. So far, we'v...
Read More - REFERENCE18 min read
Three-way Merge in a SQL Database Examples
As promised in Three-way Merge Opus , I've come with a plethora of examples of three-way merge in a SQL database. Dolt is the only SQL database to support three-way merge of both data and schema. Getting Started Start with the database w...
Read More - TECHNICALDOLTGRES5 min read
Quoting differences between MySQL and PostgreSQL, and converting between them
Introduction We're hard at work building Doltgres , a Postgres-compatible database with git-inspired version control features. Doltgres is built on top of Dolt , which uses MySQL's syntax and wire protocol. Dolt has tens of thousands of t...
Read More - SQL5 min read
Are Git Branches MVCC?
Multiversion concurrency control (MVCC) is a technique relational databases use to avoid concurrent transactions blocking one another. This is how databases move beyond the performance limitations of two-phase locking . Most databases have conv...
Read More - FEATURE RELEASE9 min read
Dolt to MySQL Replication
Introduction Dolt DB is the world's first, and only, version-controlled SQL database. Dolt is a drop-in replacement for MySQL, so any tools or applications that work with MySQL will work with Dolt (if they don't... let us know so we can fix...
Read More - REFERENCE6 min read
Why People Don't Use Dolt
When you build a database from scratch , you hear a lot of reasons why potential customers choose not to use it. Dolt adds compelling Git-like version control features to the classic SQL database. These features are enough to get a lot of people…...
Read More