Je me demandais s'il y avait de bonnes solutions pour enregistrer des données dans une base de données NoSQL et les convertir ensuite en RDBMS?
Par exemple, si vous souhaitez capturer rapidement certaines données, comme les journaux de session, mais que vous souhaitez ensuite pouvoir en créer des rapports.
Ma base de données préférée est Postgres, donc si votre réponse est pertinente dans Postgres, ce serait génial.
Réponses:
La réponse rapide - Oui. Arrive tout le temps.
Il existe de nombreuses bonnes solutions. Quelles solutions sont déjà dans votre environnement? J'aide un client qui prend ses informations d'activité de site Web / session à partir de son application Web, il les écrit dans xml puis désérialise ce xml dans Hadoop. Ils utilisent ensuite Hive au-dessus de Hadoop pour créer des agrégations et des faits (en joignant ces données de journal pour référencer les données de leur site Web qu'elles stockent dans une base de données Postgres). Ces agrégations et faits sont ensuite chargés dans un SGBDR (ils utilisent SQL Server, en raison des riches analyses fournies dans la pile SQL Server).
J'explorerais Hadoop, regarder Hive qui est un moteur de requête au-dessus de Hadoop qui vous permet d'écrire des requêtes déclaratives qui ressemblent étroitement à SQL et d'être traduites en travaux MapReduce dans les coulisses. Regardez ensuite Sqoop qui est un autre outil de la famille Hadoop qui vous aide à exporter / importer des données.
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/
Il existe également d'autres options ...
la source
Tous les NoSQL ne sont pas identiques. Par exemple, MongoDB a de très bonnes capacités de requête. il est très facile de récupérer des données, de les trier d'une manière qui vous rappelle SQL. Donc, ce que je dis, c'est que vous ne devriez pas penser - SQL pour le reporting, sauf si vous avez des outils standard qui nécessitent des données conformes à SQL, bien sûr. Certains des autres NoSQL sont un peu plus impliqués dans la mesure où obtenir des résultats de type SQL de votre magasin, CouchDB par exemple, n'est pas trivial pour définir une simple requête de type clause where. MongodDB - j'ai utilisé le pilote Python - est un jeu d'enfant. Je trouve donc moins important de s'inquiéter du portage de mes données vers un magasin relationnel.
la source