Para entendemos melhor o que é o projeto Level, primeiro temos que entender um pouco mais do seu principal engine chamado LevelDB, banco de dados NoSql do tipo Key/Value, onde o value pode ser um Json{}, open source e idealizado pelo Google.
A princípio, o Google desejava encontrar um substituto ao SqlLite que estava sendo utilizado em seu navegador Chrome e levar alguns conceitos do Big Table para o Chrome. Assim, o LevelDB foi implementado no chrome como IndexedDB.
O LevelDB rapidamente mostrou-se tão poderoso que a empresa Basho fez um fork para erlang e adotou no seu framework de alta disponibilidade chamado RIAK, que é utilizado como banco de dados para o game Angry Birds e pelo Best-Buy, entre outros. Para maiores informações acesse: http://basho.com/assets/RelationaltoRiak.pdf
Com o passar do tempo, surgiram vários outros forks do LevelDB, entre eles o Hyper da empresa e o RocksDB do facebook.
Maiores informações sobre a arquitetura do levelDb podem ser encontradas nos links:
Visto isso, o senhor Rod Vagg, um dos committers do LevelDB e apaixonado por Node.js, teve a brilhante ideia de criar um framework Node.js que pudesse adotar os diversos sabores do LevelDB, porém a ideia acabou se estendento para outros bancos tais como: Mysql, LMDB, etc.
O projeto Level mais uma vez foi rapidamente adotado pelos principais criadores do Node.js e amantes do Javascript, sendo assim, ocorreu uma febre de pacotes NPM implementando “N” funcionalidades ao Level, entre elas destacam-se: LevelWeb, Level-subLevel, Level-live-Stream, level-schedule, level-replicate, level-Master, MultiLevel, Level-WriteStream, Level-Sessions, Level-Inverted-Index(full text search), entre outros.
A lista completa de modulos encontra-se em neste link.
Para quem é usuário de MongoDB, o jsonquery-engine pode ser uma boa opção.
A imagem abaixo demonstra o ecossistema do projeto Level e seu criador Rod Vaag:
Outro projeto muito interessante é o é o LevelGraph, criado por Matteo Collina, que aplica a teoria de Graphos sobre o Leveldb, sendo uma excelente alternativa ao Neo4J, porém este vai ser assunto para um próximo artigo.
já para os fanáticos em Benchmarks: https://github.com/rvagg/node-leveldown/tree/master/bench. Porém não se assustem! Nos meus testes ele foi pelo menos duas vezes mais rápido do que o MongoDB: (Notebook intel core i7 de 2º geração e HD SATA).
Isso sem levar em conta que o Level pode ser configurado para trabalhar no modo Master-Master e o MongoDB não pode.
Para os maiores interessados veja aqui uma palestra do @rvaag criador do level.