Ho praticato tecniche di database agili per circa vent'anni. Il mio uso di queste tecniche non è iniziato come un piano prestabilito; piuttosto, si è evoluto nel tempo mentre mi consultavo su vari progetti. Aveva senso cercare modi per lavorare più velocemente e con una maggiore interazione con i clienti.
Mi vengono in mente almeno tre tipi di tecniche di database agili:
- Modellazione dei dati
- Sviluppo del data warehouse
- Reverse engineering del database
Modellazione agile dei dati
Molti considerano la modellazione dei dati un compito laborioso. Ma non è necessario che sia così. Puoi portare la modellazione dei dati fuori dalla stanza sul retro e farlo davanti a un cliente. Potresti pensare che i clienti sarebbero scoraggiati dal sangue tecnico, ma non lo sono. Il personale aziendale ha una passione per il proprio lavoro e una visione di dove vuole andare. Sono entusiasti di avere l'IT come facilitatore piuttosto che come ostacolo.
Per la modellazione dati agile, uno sviluppatore deve effettuare le seguenti operazioni:
- Essere fluente con i concetti di modellazione dei dati e uno strumento di modellazione dei dati.
- Procurati un pubblico amichevole per le tue prime volte. Devi provare le tue tecniche su un pubblico educato finché non acquisisci sicurezza.
- Avere almeno un campione di affari tra il pubblico:qualcuno che riceva i risultati del tuo lavoro, qualcuno che comprenda profondamente il business e aiuterà gli altri a raggiungere il consenso.
- Avere un progetto solido con un obiettivo chiaro e una giustificazione commerciale.
Con la modellazione agile dei dati, gli sviluppatori lavorano rapidamente e forniscono frequenti revisioni del modello. Preferisco che le sessioni di modellazione dei dati durino non più di due ore. Queste sessioni sono intense, con tutti che si battono attorno alle idee. Dopo due ore, i partecipanti avranno bisogno di una pausa. Avrai anche bisogno di tempo per ripulire il modello e recuperare il ritardo con la documentazione.
Le tecniche agili si applicano a tutti gli aspetti della modellazione dei dati, inclusi i sistemi operativi quotidiani, i data warehouse, i modelli di dati master e i modelli di dati aziendali.
Tecniche di sviluppo di data warehouse agili
Le tecniche agili sono importanti anche quando crei un data warehouse. Nello specifico, ci sono due aree in cui abbiamo applicato queste tecniche allo sviluppo del magazzino.
Il primo è staging dei dati . È buona norma utilizzare tabelle di staging intermedie per bufferizzare il magazzino vero e proprio dalle fonti operative. Le tabelle di staging duplicano i dati operativi e aggiungono metadati come il sistema di origine, la data di elaborazione, il timestamp effettivo e il timestamp di scadenza. Attualmente, la maggior parte degli sviluppatori elabora i dati di staging con codice ETL personalizzato. (ETL è l'acronimo di Extract, Transform e Load.) Esiste almeno uno strumento (A2B Data) che automatizza la creazione e il popolamento di schemi di tabelle di staging.
Utilizziamo anche tecniche agili per migliorare l'elaborazione dei dati di magazzino . Per questo, preferiamo un mix di ETL e SQL. ETL viene utilizzato per le tabelle principali con logica complessa, mentre SQL viene utilizzato per le tabelle periferiche e ce ne sono molte in un tipico magazzino. È circa 10 volte più veloce scrivere SQL rispetto a ETL. Il codice SQL è anche più facile da evolvere e testare. Ragionevolmente, puoi aspettarti di sostituire ETL con SQL per circa la metà delle tabelle; l'importo esatto dipende dalla complessità del magazzino e dalla tua abilità SQL.
Questi miglioramenti riducono la quantità di codice ETL che deve essere scritto mentre lo si distribuisce dove è più prezioso:per set di dati di grandi dimensioni con più origini da integrare ed elaborare.
Agilità nell'ingegneria inversa di database
Utilizziamo anche tecniche agili durante il reverse engineering. Il reverse engineering prende un progetto esistente e lavora a ritroso per dedurre l'intento logico sottostante. Il reverse engineering del database può avere diverse motivazioni. Potresti eseguire la conversione da una piattaforma di database a un'altra. Oppure potresti provare a comprendere meglio il modello per scopi di manutenzione. Oppure potresti provare a salvare i requisiti impliciti in uno schema affinché vengano presi in considerazione dal nuovo software.
Di solito iniziamo analizzando lo schema esistente. Uno schema è spesso disponibile ed è qualcosa che possiamo studiare rapidamente. Possiamo aumentare questo con altre risorse, come documentazione, dati e conversazioni con gli sviluppatori.
Uno strumento di modellazione dei dati è una risorsa importante per lo studio dello schema. La maggior parte degli strumenti può importare lo schema SQL in modo da poter vedere le tabelle e come si connettono tra loro. Spesso, ciò è sufficiente per l'analisi di reverse engineering.
Tecniche di database agili:l'asporto
Lo sviluppo agile è un argomento popolare che ha diverse implicazioni per il database. Un approccio agile è utile per la modellazione dei dati, lo sviluppo del data warehouse e il reverse engineering del database.
Michael Blaha è un consulente e formatore specializzato nell'ideazione, architettura, modellazione, progettazione e messa a punto di database. Ha lavorato con decine di organizzazioni in tutto il mondo. Il Dr. Blaha è autore di sette brevetti statunitensi, sette libri, molti articoli e due videocorsi. La sua pubblicazione più recente è Agile Data Warehouse Design video corso di O'Reilly. Ha conseguito il dottorato presso la Washington University di St. Louis ed è un ex allievo di GE Global Research a Schenectady, New York. Puoi trovare maggiori informazioni sul suo profilo LinkedIn o su superdataguy.com.