NoSQL e RDBMS juntos?

13

Eu queria saber se existem boas soluções para gravar dados em um banco de dados NoSQL e depois convertê-los em um RDBMS?

Por exemplo, se você deseja capturar alguns dados rapidamente, como logs de sessão, mas deseja criar relatórios sobre eles posteriormente.

Meu banco de dados favorito é o Postgres; portanto, se sua resposta for relevante no Postgres, isso seria ótimo.

Joe
fonte
Neste ponto, o postgres possui xml, json nativamente e gis e hstore (chave, valor) como extensões. Muito pouca necessidade de um banco de dados nosql se estiver usando o postgres.
Xenoterracide
Dito isto o padrão cqrs é projetado para facilitar a sua pergunta
xenoterracide

Respostas:

10

A resposta rápida - Sim. Acontece o tempo todo.

Existem muitas boas soluções. Quais soluções já estão em seu ambiente? Estou ajudando um cliente que obtém suas informações de atividade de site / sessão de seu aplicativo Web, ele as grava no xml e depois desserializa esse xml no Hadoop. Eles então usam o Hive no topo do Hadoop para criar agregações e fatos (juntando esses dados de log para referenciar dados de seu site que eles armazenam em um banco de dados do Postgres). Essas agregações e fatos são carregados em um RDBMS (eles usam o SQL Server, devido à rica análise fornecida na pilha do SQL Server).

Gostaria de explorar o Hadoop, ver o Hive, que é um mecanismo de consulta sobre o Hadoop que permite escrever consultas declarativas que se assemelham ao SQL e serem traduzidas para trabalhos do MapReduce nos bastidores. Em seguida, observe o Sqoop, que é outra ferramenta da família Hadoop que ajuda na exportação / importação de dados.

http://hadoop.apache.org/ http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/ref=sr_1_1?s=books&ie=UTF8&qid=1319160463&sr=1-1 http : //www.cloudera.com/blog/2009/06/introducing-sqoop/ http://hive.apache.org/

Existem outras opções por aí também ...

Mike Walsh
fonte
Bem, essa é uma resposta extremamente completa. Não parece muito simples, mas parece que usa muitas tecnologias interessantes.
Joe
Bem, não é "simples" em termos de número de peças, etc., mas na verdade não é tão complexo assim que você avança. Qual ferramenta você seleciona para as peças depende do que você tem em seu ambiente e do que você se sente confortável. Dê uma olhada nesses links, confira o link de recomendação de livros.
Mike Walsh
4

Nem todos os NoSQL são iguais. Por exemplo, o MongoDB possui recursos de consulta muito bons. é muito fácil recuperar dados, classificá-los de uma maneira que o lembre do SQL. Então, o que estou dizendo é que você não deveria pensar em SQL para geração de relatórios, a menos que tenha ferramentas prontas para uso que exijam dados compatíveis com SQL, é claro. Alguns dos outros NoSQL estão um pouco mais envolvidos na obtenção de resultados semelhantes a SQL da sua loja, o CouchDB, por exemplo, não é trivial para definir uma consulta simples do tipo cláusula where. MongodDB - eu usei o driver Python - é muito fácil. Portanto, acho menos importante se preocupar em transportar meus dados para um armazenamento relacional.

Dantalion
fonte
3
Você tem algum link ou afiliação ao MongoDB? Acabei de participar, quatro respostas, todas muito positivas sobre o MongoDB que parecem marketing. Você pode estar correto, mas é ruim se você tiver interesse ...
gbn
Aparentemente, você o assustou fora lá GBN
jcolebrand