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.
Respostas:
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 ...
fonte
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.
fonte