That’s a good list. I would add - storage of edit conflicts (as a special case of “storing JSON documents”) - revision tree management - ICU collation in secondary indexes (I suppose not strictly “data model” but it’s quite close) - attachments
Also not sure “replication” needs to be on that list. Cheers, Adam > On Jan 29, 2019, at 4:12 PM, Ilya Khlopotov <iil...@apache.org> wrote: > > Hi, > > As a continuation of discussions about rebasing of CouchDB on top of > FoundationDB it would be good to start discussions about how different > CouchDB features might be implemented in FoundationDB. It is hard to map all > CouchDB features into FoundationDB in a single pass. Since it is time > consuming and reduces opportunities for contribution. We can simplify > contributions by splitting design of the data model into manageable chunks. > Providing ideas for some aspect of the data model is way easier than > proposing a solid data model for the whole project. We would create different > discussion threads for every "design aspect". > > This thread aim is: > > - to collect a list of "design aspects" which we would use to create > discussion threads. > > Out of scope: > > - detailed designs of features > > Here is the initial list of "design aspects" > > - changes feed > - storing JSON documents > - primary index > - secondary indexes > - tracking metrics (disk size / number of documents) > - replication > - reduce functions > > Best regards, > iilyak