Configuration Management#
Problem#
- Is your configuration too big and complex for files?
- Is your configuration more like code than configuration?
- Does configuration have a large production impact?
- Are configuration changes hard to review?
- Are multiple configuration changes hard to merge together when it’s time to ship?
- Are you building a game with lots of assets and configuration?
Doltgres solves this by…#
Configuration is generally structured and managed as large text files. YAML and JSON formatted configuration is very popular. These formats are unordered, meaning standard version control solutions like Git cannot reliably produce diffs and merges. Moreover, configuration can get quite large, running up against the file size limits of tools like Git.
Some configuration is better modeled as tables. Tables by design are unordered. Tables can contain even JSON columns for parts of your configuration you want to remain loosely typed.
Doltgres is an ideal solution for version controlling tabular configuration. Doltgres allows for all the version control features you came to know and love when your data was small like branches, diffs, and human review of changes before they merge.
This use case is particularly popular in video games where much of the game functionality is modeled as configuration. Store the likelihood of an item drop or the strength of a particular enemy in Doltgres tables. Review and manage changes. When the configuration is ready, use a build process to create whatever format your game needs.
Doltgres replaces…#
Files in Git#
Most large configuration files are stored and versioned in Git. If the files get too large they are store in cloud storage and linked to Git using git-lfs. If the files are stored in git-lfs, you lose the ability to diff the contents of the files. Doltgres improves the experience by adding query capabilities and large fine-grained diffs to the data stored in configuration files. The diff and merge experience will be greatly improved in Doltgres for this type of data.
Companies Doing This#
These companies use Dolt, Doltgres’s MySQL-compatible cousin, for configuration management:
Case Studies#
Let us know if you would like us to feature your use of Doltgres for configuration management here.