8 Noms - a versioned, forkable, syncable database

github.com godoc.org goreportcard.com posted by lolly 2815 days ago  

Introducing Noms. Noms is different from other databases. It is:

Content-addressed. If you have some data you want to put into Noms, you don't have to worry about whether it already exists. Duplicate data is automatically ignored. There is no update, only insert.

Append-only. When you commit data to Noms, you aren't overwriting anything. Instead you're adding to a historical record. By default, data is never removed from Noms. You can see the entire history of the database, diff any two commits, or rewind to any previous point in time.

Strongly-typed. Noms doesn't have schemas that you design up front. Instead, each version of a Noms database has a type, which is generated automatically as you add data. You can write code against the type of a Noms database, confident that you've handled all the cases you need to.

Decentralized. If I give you a copy of my database, you and I can modify our copies disconnected from each other, and come back together and merge our changes efficiently and correctly days, weeks, or years later.

Register to comment or vote on this story