NoSQL et RDBMS ensemble?

13

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.

Joe
la source
À ce stade, postgres a xml, json nativement et gis, et hstore (clé, valeur) comme extensions. Très peu besoin d'une base de données nosql si vous utilisez postgres.
xenoterracide
Cela dit, le modèle cqrs est conçu pour faciliter votre question
xenoterracide

Réponses:

10

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 ...

Mike Walsh
la source
Eh bien, c'est une réponse extrêmement complète. Cela ne semble pas trop simple, mais on dirait qu'il utilise beaucoup de technologies intéressantes.
Joe
Eh bien, ce n'est pas "simple" en termes de nombre de pièces, etc., mais ce n'est vraiment pas si complexe une fois que vous avez commencé. L'outil que vous sélectionnez pour les pièces dépend de ce que vous avez dans votre environnement et de ce que vous êtes à l'aise. Jetez un œil à ces liens, consultez ce lien de recommandation de livre.
Mike Walsh
4

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.

Dantalion
la source
3
Avez-vous un lien ou une affiliation avec MongoDB? Je viens de rejoindre, quatre réponses, toutes très positives sur MongoDB qui sonnent comme du marketing. Vous avez peut-être raison, mais c'est une mauvaise forme si vous avez un intérêt ...
gbn
Apparemment, vous l'avez fait peur là-bas GBN
jcolebrand