Alpine Drupal Camp 2011 - Data migration

717 views
641 views

Published on

Alcuni spunti e strumenti utili pre procedere alla migrazione di dati da piattaforme differenti a Drupal

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
717
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Alpine Drupal Camp 2011 - Data migration

  1. 1. Data Migration Marco Vito Moscaritolo @mavimo marco@agavee.com
  2. 2. Chi sono? Sviluppatore Drupal dal 2007 Socio fondatore della Associazione Drupal Italia ed attuale presidente Consulente freelance e membro di agavee Contatti @mavimo marco@agavee.com
  3. 3. Come procederemo Parte introduttiva  I tool che si possono “teorica” sulle utilizzare (e quando procedure di possono essere usati) migrazione Disclaimer  Io NON conosco la verità, potrei sbagliarmi!  NON esiste un metodo unico e sempre valido per migrare i dati  Tutto quello che dirà NON potrà MAI essere usato contro di me  Le mie affermazioni si basano sulla mia esperienza, se vi risulta diversamente non fatevi problemi a contraddirmi, anzi!
  4. 4. Cosa intendiamo per data migration?
  5. 5. ...e se i dati crescono o i tempi sistringono (o tipicamente entrambi)?
  6. 6. Risultato?
  7. 7. Forse cè un modo migliore? !! u g!! ai b io cch Facciamolo fareO alle macchine!
  8. 8. Come procediamo?  Recuperare i dati di partenza  Archiviarli in maniera da essere manipolabili facilmente  Normalizzarli/ripulirli (per quanto possibile)  Esporli al sistema di import  Importarli
  9. 9. Ottenere i dati di partenza (buona fortuna)
  10. 10. Rendere i dati manipolabili
  11. 11. I dati di partenza...
  12. 12. ...devono, DEVONO, essere “puliti”...
  13. 13. ...e se non lo sono tocca a noi pulirli.
  14. 14. Esporre i dati da migrare  Attraverso WebService (più o meno complessi)  SOAP  XML-RPC  Feed  Attraverso connessioni dirette al DataBase  Dati importati da CSV  Provenienti da dump di DB
  15. 15. La teoria è facile, ma in pratica?
  16. 16. Processo di importazioneProcedura iterativa Dati iniziali Importo i dati Verifico i dati Pulizia dati Se ci sono errori correggo i dati di partenza Importazione Cancello/sostituisco i dati importati con una nuova Verifica dei dati importazione Ripeto e termino limportazione quando i dati Importazione sono importati corettamente terminata
  17. 17. Raccogliere i dati  Punto non standardizzabile, dipende dalle sorgenti a disposizione.  Normalmente CSV o SQL  Script (bash/php/perl/...) per organizzare i dati da importare  Utilizzo di PhpMyAdmin, MySQL workbanch per limport (anche mysql da CLI)
  18. 18. Esporre i datiAccesso al DB Attraverso webservice Metodo consigliato,  Il webservice deve meno problemi nella essere accessibile conversione dei dati dalla macchina che si Si può ottenere da file occupa CSV o XML esportati dellimportazione da altri strumenti con  I tempi per la poco lavoro migrazione, a causa della connessione possono essere lunghi
  19. 19. Importazione dei datiAccesso al DB Attraverso webservice Utilizzo di migrate  Utilizzo di feeds Soluzione consigliata  I tempi per la migrazione, a causa della connessioneAttraverso CSV possono essere lunghi Utilizzo di node_import Utilizzo di feeds
  20. 20. node_import / node_export Disponibile solo per  Permette di importare D6, abbandonato in dati precedentemente favore di feeds esportati (comodo per Permette di passaggi di versione) importare contenuti con i corrispettivi campi CCK più semplici
  21. 21. feeds  Configurabile da UI  Permette di importare nodi, utenti, tassonomia  Non gestisce le relazioni tra diversi elementi  Operazioni di importazione schedulabili
  22. 22. feeds Logica basata su  Fetcher: gestisce limportazione del dato  Parser: il modo in cui linformazione viene elaborata  Processor: in modo in cui le informazioni ottenute vengono inserite in Drupal
  23. 23. Migrate(ramo 1.x – unsupported – D6)  Configurabile da UI  Dipende da schema, table wizard, views, views bulk update  Richiede che i dati siano sul DB di Drupal per poter essere mappati
  24. 24. Migrate(ramo 2.x – supported – D6/D7)  NON configurabile da UI  Permette di importare dati da più sorgenti (CSV, SQL, JSON, XML, ...)  Completamente strutturato attraverso oggetti per la migrazione dei dati
  25. 25. DomandeGrazie perlattenzione Marco Vito Moscaritolo @mavimo marco@agavee.com

×