Me preguntaba si hay alguna buena solución para registrar datos en una base de datos NoSQL y luego convertirlos en un RDBMS.
Por ejemplo, si desea capturar algunos datos rápidamente, como registros de sesión, pero luego desea poder crear informes sobre ellos más adelante.
Mi base de datos favorita es Postgres, por lo que si tu respuesta es relevante en Postgres, sería genial.
Respuestas:
La respuesta rápida: sí. Pasa todo el tiempo.
Hay muchas buenas soluciones. ¿Qué soluciones ya hay en su entorno? Estoy ayudando a un cliente que toma su sitio web / información de actividad de sesión de su aplicación web, lo escriben en xml y luego deserializan ese xml en Hadoop. Luego usan Hive sobre Hadoop para crear agregaciones y hechos (al unir estos datos de registro para hacer referencia a los datos de su sitio web que almacenan en una base de datos Postgres). Estas agregaciones y hechos luego se cargan en un RDBMS (usan SQL Server, debido a la rica analítica proporcionada en la pila de SQL Server).
Exploraría Hadoop, miraría a Hive, que es un motor de consulta en la parte superior de Hadoop que le permite escribir consultas declarativas que se parecen mucho a SQL y se traducen en trabajos de MapReduce detrás de escena. Luego mire Sqoop, que es otra herramienta de la familia Hadoop que lo ayuda a exportar / importar datos.
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/
También hay otras opciones por ahí ...
fuente
No todos los NoSQL son iguales. Por ejemplo, MongoDB tiene muy buenas capacidades de consulta. Es muy fácil recuperar datos, ordenar los datos de una manera que le recuerde a SQL. Entonces, lo que estoy diciendo es que no deberías pensar: SQL para informes, a menos que tengas herramientas listas para usar que requieren datos compatibles con SQL, por supuesto. Algunos de los otros NoSQL están un poco más involucrados en lo que respecta a obtener resultados similares a SQL de su tienda, CouchDB, por ejemplo, no es trivial para definir una consulta simple de tipo cláusula where. MongodDB, he usado el controlador Python, es muy fácil. Por lo tanto, considero que es menos importante preocuparse por portar mis datos a una tienda relacional.
fuente