Migration Oracle vers MySQL plus de 10 millions d'enregistrements

Migration Oracle vers MySQL plus de 10 millions d'enregistrements - SQL/NoSQL - Programmation

Marsh Posté le 03-12-2009 à 17:09:07    

Bonjour à tous,
 
Je dois faire une étude pour la migration d'une base de données d'Oracle vers MySQL avec des millions d'enregistrement.
 
J'ai déjà fait pour plusieurs Go de données, mais là, je me demande si les outils standards de migration vont tenir le coup ?
 
Je pense faire un web service qui pointe sur oracle et qui va chercher les données, les reformates pour accélérer le processus.
 
Pouvez vous me donner des conseils ?
 
Merci

Message cité 2 fois
Message édité par gustoune le 03-12-2009 à 17:09:20
Reply

Marsh Posté le 03-12-2009 à 17:09:07   

Reply

Marsh Posté le 03-12-2009 à 21:01:52    

Bonsoir,
 
Je n'ai jamais fait de migration d'Oracle vers MySql, mais uniquement d'Oracle vers Sql Server ou inversement. Je ne vois pas trop où tu veux en venir avec la méthode du web service ?
Les millions d'enregistrement ne devraient pas trop poser de problème (en tout cas entre Oracle et SQL Server ça se passe bien).Si tu passes par un web service, tu vas ajouter 2 connecteurs de bdd, un programme au milieu pour traiter tes données, et ce sera plus compliqué de faire de l'ensembliste. Avec un outil ou même des SQL Loader, tu traiteras simplement tout ça non ?
 
Bon courage,

Reply

Marsh Posté le 05-12-2009 à 16:24:54    

Tibar a écrit :

Bonsoir,
 
Je n'ai jamais fait de migration d'Oracle vers MySql, mais uniquement d'Oracle vers Sql Server ou inversement. Je ne vois pas trop où tu veux en venir avec la méthode du web service ?
Les millions d'enregistrement ne devraient pas trop poser de problème (en tout cas entre Oracle et SQL Server ça se passe bien).Si tu passes par un web service, tu vas ajouter 2 connecteurs de bdd, un programme au milieu pour traiter tes données, et ce sera plus compliqué de faire de l'ensembliste. Avec un outil ou même des SQL Loader, tu traiteras simplement tout ça non ?
 
Bon courage,


 
 
Oui, mais j'ai des tables de 10 millions d'enregistrements minimum, avec une table qui en fait plus de 300 millions du coup je vois mal mon petit logiciel faire ca. avec un web service, c'est plus rapide non ?
 
 
 
Merci de ton retour .

Reply

Marsh Posté le 05-12-2009 à 20:55:44    

si tu es plus à l'aise avec ton web service vas-y, de tte facon il y a rarement plus rapide que les outils en natif du SGBD

Reply

Marsh Posté le 05-12-2009 à 22:57:06    

t'as bien raison gustoune, rien de plus efficient que de passer par un webservice pour faire sql vers sql !

 

xmlerde vaincra !


Message édité par Dion le 05-12-2009 à 22:57:27

---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
Reply

Marsh Posté le 07-12-2009 à 06:58:44    

je pense que c'est une histoire d'affinité, migrer 10 million de lignes c'est pas énorme, si c'est plus rapide pour lui de le faire en webservice et qu'il a le temps pour la migration et la coupure disponible, y'a pas de raison...

Reply

Marsh Posté le 07-12-2009 à 08:15:31    

Après cela dépend de la largeur d'une ligne pour ces 10 millions.
Autrement il y a la méthode classique d'unload/load, où il faut créer un fichier à partir de la table sous Oracle puis charger par un loader sous MySQL.
A mon avis c'est le plus rapide, mais nécessite un peu de développement.

Reply

Marsh Posté le 07-12-2009 à 09:09:42    

si tu as une migration  à faire, tu prends une ETL plutot que de le redevelopper à la main
Soit tu te diriges vers des outils libres comme Talend, soit des outils payants ( ici on utilise data intelligency , d'oxio )


---------------

Reply

Marsh Posté le 07-12-2009 à 10:23:20    

des tables de 300 millions de lignes sous mysql?[:tibo2002]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-12-2009 à 10:36:12    

c'est sûr qu'il faudra un peu benchmarker, après il me semble que mysql intègre maintenant du partionnement, non ?

Reply

Marsh Posté le 07-12-2009 à 10:36:12   

Reply

Marsh Posté le 07-12-2009 à 10:37:11    

couak a écrit :

c'est sûr qu'il faudra un peu benchmarker, après il me semble que mysql intègre maintenant du partionnement, non ?


aucune idée, mais perso j'oserais même pas tenter le coup.[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-12-2009 à 10:42:40    

sinon j'ai un outil de conversion fait main, qui fait de la conversion Oracle vers MySQL :o
100% assembleur, se reposant sur la plus basse couche possible du sgbd (OCI pour Oracle, et natif pour MySQL), interface immonde (2 listboxes qui présentent les 2 bases), mais exécutable de 4936 octets et vitesse moyenne de 80000 lignes/s en fonction du type de données à migrer [:kbchris]

 

edit: il marche plus sous Vista et 7 [:zytrasnif]

Message cité 1 fois
Message édité par Harkonnen le 07-12-2009 à 10:43:53

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-12-2009 à 11:10:37    

avec ce genre d'outil tu mets en péril le marché du hardware :o il est préférable de faire un webservice basé sur hibernate pour relancer le marché des CPU, de la RAM et des disques SSD

Reply

Marsh Posté le 07-12-2009 à 11:18:09    

faudrait que je reprenne le développement de ce bouzin tiens... déjà le rendre compatible Win 7, et faire une interface utilisable par quelqu'un d'autre que moi même [:jean-guitou]

Spoiler :

à condition que je retrouve les sources [:pingouino]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-12-2009 à 11:25:48    

Harkonnen a écrit :

sinon j'ai un outil de conversion fait main, qui fait de la conversion Oracle vers MySQL :o
100% assembleur, se reposant sur la plus basse couche possible du sgbd (OCI pour Oracle, et natif pour MySQL), interface immonde (2 listboxes qui présentent les 2 bases), mais exécutable de 4936 octets et vitesse moyenne de 80000 lignes/s en fonction du type de données à migrer [:kbchris]
 
edit: il marche plus sous Vista et 7 [:zytrasnif]


Mais tu es fou :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 07-12-2009 à 11:27:49    

gustoune a écrit :

Bonjour à tous,

 

Je dois faire une étude pour la migration d'une base de données d'Oracle vers MySQL avec des millions d'enregistrement.

 

J'ai déjà fait pour plusieurs Go de données, mais là, je me demande si les outils standards de migration vont tenir le coup ?

 

Je pense faire un web service qui pointe sur oracle et qui va chercher les données, les reformates pour accélérer le processus.

 

Pouvez vous me donner des conseils ?

 

Merci


Un ETL sinon rien, c'est prévu exactement pour ce genre de choses.

 

Ton webservice, tu vas passer perdre plus de temps à le programmer qu'à migrer tes données.


Message édité par drasche le 07-12-2009 à 11:28:51

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 07-12-2009 à 11:34:54    

drasche a écrit :


Mais tu es fou :D


c'est ce que m'avait dit mon boss de l'époque :o
déjà il me prenait pour un fou de faire ça chez moi pendant mes lolLoisirs, et en plus quand je lui ai dit le fonctionnement du truc (allocation de la plus grande plage mémoire dispo sur la machine, recopie d'Oracle vers la mémoire, puis de la mémoire vers MySQL après conversion des données via MMX ou SSE si dispo -ce qui permet de traiter 2 voire 4, 8 ou 16 champs dans le même cycle en fonction de la taille des données-, et contrôle final de l'intégrité des données à la FPU), il voulait me faire interner [:petrus75]
testé à l'époque sur une table ne contenant que des champs de taille 1 octet (CHAR) : transfert de 3 millions de lignes en 4 secondes [:kbchris]

 

j'avais même fait une version 3DNow! à l'époque, c'était la techno qui avait le vent en poupe [:ddr555]


Message édité par Harkonnen le 07-12-2009 à 11:35:21

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-12-2009 à 11:35:14    

nan, un export/import au format CSV ca marche aussi :o

Reply

Marsh Posté le 07-12-2009 à 11:52:03    

a condition de bien pendre en compte les diverses encodages de fichier, et paramètre d'échappement


---------------

Reply

Marsh Posté le 07-12-2009 à 18:00:55    

gustoune a écrit :

Bonjour à tous,
 
Je dois faire une étude pour la migration d'une base de données d'Oracle vers MySQL avec des millions d'enregistrement.
 
J'ai déjà fait pour plusieurs Go de données, mais là, je me demande si les outils standards de migration vont tenir le coup ?
 
Je pense faire un web service qui pointe sur oracle et qui va chercher les données, les reformates pour accélérer le processus.
 
Pouvez vous me donner des conseils ?
 
Merci


 
faut faire du Bulk.


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed