Dolt is a version-controlled SQL database that supports Git-like operations such as fork, clone, branch, merge, push, and pull.
Dolt is a SQL database that integrates Git-style version control directly into the data layer. It allows users to fork, clone, branch, merge, push, and pull databases just like Git repositories, enabling collaborative data workflows and full auditability of changes. It combines the power of a modern relational database with the collaboration and versioning features of Git.
Data engineers, data scientists, and developers who need version-controlled, auditable, and collaborative data workflows, especially those working with datasets that require tracking changes, branching for experimentation, or merging contributions from multiple team members.
Developers choose Dolt because it provides native Git-like version control for data within a fully functional SQL database, offering features like cell-level lineage, time travel queries, and conflict detection during merges. Unlike traditional databases or version control systems applied to data dumps, Dolt integrates versioning directly into the database operations, making data as manageable and traceable as code.
Dolt – Git for Data
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Dolt provides familiar Git commands like commit, branch, and merge for tables, enabling collaborative data workflows directly within the database, as highlighted by its CLI and SQL procedures.
It connects seamlessly with any MySQL client up to version 8.4, allowing standard SQL queries and integration with existing tools like TablePlus, as demonstrated in the getting started guide.
Tracks changes at the individual cell level with system tables like dolt_diff and dolt_history, offering full transparency into who changed what and when, a core feature for auditing.
Allows querying historical states using AS OF syntax and provides procedures like dolt_reset to revert mistakes, enhancing data safety and error recovery, as shown in the 'Oh no! I made a mistake' section.
Maintaining full commit history and branching can slow down write operations and increase storage compared to traditional non-versioned databases, a trade-off for its auditability features.
Doltgres, the PostgreSQL-compatible version, is currently in beta, meaning it may lack stability, full feature parity, or production readiness for teams reliant on Postgres ecosystems.
Merging data branches can lead to conflicts that require manual intervention using commands like dolt conflicts, which can be more involved than code merging due to data dependencies and integrity constraints.