I have a bunch of data that's clearly relational: object A has a many:1 relationship with B, and B has a 1:many relationship with C, and so on. I can write a bunch of code to maintain this without insert/update/delete anomalies, but it feels like reinventing the wheel: relational DBs do a great job at this.
SQLite would actually be a great fit here, if not for one thing...
The data, once updated, has to be stored in an SCM system, and changes to the data need to be auditable by humans, which (in my estimation) requires cleartext storage.
Is there an engine out there that will give me relational semantics but store the data in cleartext?
Recapping, what I think my requirements are:
- Stores data in cleartext
- Maintains/enforces referential integrity
- (nice to have) implemented as a library rather than a standalone executable, a la SQLite
- (nice to have) bindings for the Go language
And here are some things that are not requirements:
- SQL; any interface is fine
- High performance; I don't care if access is somewhat slow, it'll be dealing with megabytes of data / hundreds of thousands of records at most.