Existe uma biblioteca de abstração do NOSQL / Chave-Value Store como existe o JDBC para bancos de dados?
-
20-09-2019 - |
Pergunta
Eu usei muitas bibliotecas de abstração SQL, como ODBC, JDBC e ActiveRecord. Quais são as opções de abstração no mundo da loja NoSQL / Chave-Value?
Estou pedindo principalmente isso para que, se eu escolher uma loja de valores-chave, eu possa usar uma biblioteca de abstração e não ser bloqueada, o que eu acho importante, dado o número de lojas de valor-chave.
Solução
Mesmo que os bancos de dados NoSQL sejam muito diferentes um do outro, eles podem ser divididos em grupos significativos, veja esta postagem do blog. Um novo projeto com o objetivo de definir abstrações em cima de diferentes bancos de dados NoSQL é Gremlin, veja InfoQ: Gremlin, um idioma para trabalhar com gráficos. Começando a partir do final do banco de dados de gráficos do espectro NoSQL, o projeto passou a documentar as lojas, criando um modelo de documento de objeto com implementações planejadas para MongoDB e CouchDB, consulte aqui e aqui.
Outras dicas
Não. No momento, os bancos de dados NoSQL são muito díspares, portanto, não podem ser embrulhados em uma interface padrão, permanecendo não triviais.
Temos uma abstração em Infogrid chamado de interface da loja. É muito simplista, mas foi criado exatamente para esse fim: uma API comum que permite que a Infogrid converse com diferentes implementações de lojas de valor-chave sem exigir alterações nos níveis mais altos.
Alguns links:
- Resumo da loja
- Interface da loja
- Interface IterableStore -o mesmo, mas iterável: algumas lojas de valor-chave podem ser iteradas com facilidade, alguns não podem
Gremlin corre em cima de Blueprints Tinkerpop. Ontem foi lançado a nova versão do Gremlin (0,5) com o apoio de novos armazenamentos, como Orientdb, um novo DBMS de documentos de código aberto.