Open bryanburgers opened 7 years ago
The successor to levelDB for block store style access is probably the random-access-* family of modules such as https://github.com/mafintosh/random-access-file. It might prove to be valuable prior art, as it's a good example of what people that need block store APIs actually use in the wild to implement databases on.
And it's also important to note that random-access modules only implement read() and write(). It may make sense to implement an asynchronous size() or length(), but this can also be done in userland by writing a first block of metadata, so these aren't strictly necessary. Everything else can be built on top of asynchronous read() and write().
Does https://github.com/Level/levelup provide any prior art that can be used? It's a binary object store that uses keys and values, and has a lot of backends implemented (which problem means it generically solves many problems – it's not just for Google's leveldb).
(I'm not offended if it doesn't. I just came across your tweet about this repo and was curious if levelup could provide some use cases, etc.)