Building a rails application which will be used to edit documents, two persons may edit the same document concurrently but on their own branch, each can't see others' change until they are ready to push a开发者_JAVA百科nd merge it back to the master branch, and until they pull the latest changes from the master into their own branch.
what's the best NoSQL DB or solution for this rails application?
You could do all of this with the filesystem and git
so I'm not sure why you'd even need a database here except for auxiliary functions. There's nothing in your requirements that would promote one DB over another.
I'd go with whatever you know best. Even a regular SQL DB would have zero trouble handling this.
Are the documents stored as plain text or encoded in a format (such that it needs to be binary in the DB) that requires the server to decoded and perform the merge itself?
The scenario you are describing it some what documented collection oriented in that you're effectively pushing the same type of metadata but potentially with different key/values. You may be interested in something like CouchDB or MongoDB. Both express a document in a JSON (BSON in MongoDB) like fashion, allowing each document to have differing keys.
精彩评论