Version Control for your Application


  • Do your customers want branches and merges in your application?
  • Do your customers want to review changes in your application before they go live?
  • Do you want to add a pull request workflow to your application?
  • Do you want to expose audit log functionality in your application?
  • Do you want to expose rollback functionality in your application?

Dolt solves this by…

If you have an application that would benefit from branches, merges, diffs, logs, and human review of changes, you can use Dolt to power that application. Dolt gives you branch, diff, and merge at the database layer.
Programmatically access git functionality via procedures, system tables, and functions. Programmatic control of Git operations combined with the ability to use standard SQL creates the ideal foundation to add version control to your application.
Dolt ships with standard RDBMS tools like replication and backups. Run Dolt with a hot standby and failover just like MySQL or Postgres.
Hosted Dolt is a hosted version of Dolt that works like AWS RDS. Let us worry about operating Dolt in the cloud. Write your application against a cloud endpoint.
In the past applications that needed these features required slowly changing dimension or soft deletes. These approaches are cumbersome and do not support merge. Dolt gives application the full development power of Git.

Dolt replaces

Soft Deletes

A common technique to version your database is to use soft deletes. When your application would make an update or a delete, you application instead makes an insert and marks the old row invalid. Dolt obviates the need for this technique. You can keep your existing database schema and Dolt ensures every write is non-destructive. Queries against soft deleted rows become Dolt history queries against system tables.

Slowly Changing Dimension

A more advanced technique for versioning databases is slowly changing dimension. Slowly Changing Dimension is similar to soft deletes. Additional database columns are added to tables to manage versioning. Dolt is slowly changing dimension on every table by default. Queries involving the slowly changing dimension become Dolt history queries against system tables. Moreover, complicated merge processes can happen at the database layer. Merges must handled by custom code at the application layer with slowly changing dimension.

Companies Doing This

Case Studies