There are some projects on GitHub which use a key/value store like leveldb and rocksdb to make a NoSQL/SQL store. For example levelgraph is a graph DB written in Nodejs and uses leveldb under the hood. YugaByte DB is a distributed RDBMS on top of rocksdb. These projects specially levelgraph motivated me to make a document store on top of rocksdb/leveldb. Since i'm not familar with the algorithms, data structures and in general theory of DBs, I want to know what's the best approach to make an embeddable document store (I don't want it to be distributed right now).
Questions:
- Is there any academic paper or reference on this subject? would you please list the required skills i need to obtain to finish the project?
Levelgraphis written in node.js usinglevelup, wrapper forabstract-leveldowncompliant stores. leveldown is pure C++ Node.jsleveldbbinding. If i want to program my DB inNodejsusinglevelup`, How much language difference will impact the DB performance?