2011-03-15 7 views
3

Au travail, nous envisageons de passer d'une base de données Oracle à une base de données NoSQL, donc je dois faire un test sur Cassandra et MongoDB. Je dois déplacer beaucoup de tables vers la base de données NoSQL. L'idée est de synchroniser les données entre ces deux plates-formes.Déplacer des données d'Oracle vers Cassandra et/ou MongoDB

Donc je crée une procédure simple qui fait des sélections dans la base de données Oracle et l'insère dans mongo. Certains de mes collègues soulignent qu'il existe peut-être un moyen plus facile (et plus professionnel) de le faire.

Quelqu'un a déjà eu ce problème? comment le résolvez-vous?

Répondre

8

Si votre objectif est de copier votre structure existante d'Oracle vers une base de données NoSQL, vous devriez probablement reconsidérer votre déplacement en premier lieu. En faisant cela, vous perdez l'un des avantages que vous voyez d'aller dans un magasin de données non relationnel. Une bonne première étape serait de jeter un long regard sur votre structure existante et de déterminer comment il peut être modifié pour avoir un impact positif sur votre application. En outre, considérez un système hybride en même temps. Cassandra est idéale pour beaucoup de choses, mais si vous avez besoin d'un système relationnel et que vous utilisez déjà beaucoup de fonctionnalités Oracle, il est logique que la plupart de votre base de données reste dans Oracle, tout en déplaçant les éléments qui nécessitent des écritures fréquentes. bénéficier d'une structure différente à Mongo ou Cassandra. Une fois que vous avez pris les décisions concernant votre structure, je suggère d'écrire des scripts/programmes/ajouter un module à votre application existante, pour écrire les données dans le nouveau format dans le nouveau magasin de données. Cela vous donnera le contrôle le plus fin sur chaque étape du processus, ce que je voudrais avoir dans un grand changement architectural à l'échelle du système.

1

Vous pouvez également utiliser des composants de l'écosystème Hadoop pour effectuer ce type de tâche (ETL). Pour cela, vous devez modéliser votre base de données Cassandra selon les exigences. Il est possible de migrer les données de votre table Oracle vers HDFS (en utilisant de préférence SQOOP), puis d'écrire le travail Map-Reduce pour transformer ces données et les insérer dans le modèle de données Cassandra.

Questions connexes