Jag har tränat agila databastekniker i ungefär tjugo år nu. Min användning av dessa tekniker började inte som en fast plan; snarare, det utvecklades över tiden när jag konsulterade om olika projekt. Det var vettigt att leta efter sätt att arbeta snabbare och med större kundinteraktion.
Jag kan tänka på minst tre typer av agila databastekniker:
- Datamodellering
- Utveckling av datalager
- Omvänd databasutveckling
Agil datamodellering
Många tänker på datamodellering som en mödosam uppgift. Men så behöver det inte vara. Du kan ta ut datamodellering från bakrummet och göra det inför en kund. Du kanske tror att kunderna skulle bli avskräckta av det tekniska påhoppet, men det är de inte. Företagspersonal har en passion för sitt arbete och en vision om vart de vill gå. De är glada över att ha IT som en facilitator snarare än en vägspärr.
För agil datamodellering måste en utvecklare göra följande:
- Var flytande med datamodelleringskoncept och ett datamodelleringsverktyg.
- Skaffa dig en vänlig publik de första gångerna. Du måste prova dina tekniker på en uppmuntrande publik tills du får självförtroende.
- Ha minst en företagsmästare i publiken – någon som tar emot resultatet av ditt arbete, någon som förstår verksamheten på djupet och som hjälper till att driva andra till konsensus.
- Ha ett gediget projekt med ett tydligt mål och affärsmotivering.
Med smidig datamodellering arbetar utvecklare snabbt och levererar frekventa modellrevisioner. Jag föredrar att ha datamodelleringssessioner som inte tar mer än två timmar. Dessa sessioner är intensiva, med alla som kämpar kring idéer. Efter två timmar behöver deltagarna vila. Du behöver också tid för att rensa upp modellen och komma ikapp med dokumentationen.
Agila tekniker gäller alla aspekter av datamodellering, inklusive dagliga operativa system, datalager, masterdatamodeller och företagsdatamodeller.
Agil Data Warehouse-utvecklingsteknik
Agila tekniker är också viktiga när du bygger ett datalager. Specifikt finns det två områden där vi har tillämpat dessa tekniker för lagerutveckling.
Den första är datalagring . Det är en god praxis att använda mellanliggande tabeller för att buffra lagret från de operativa källorna. Staging-tabeller duplicerar driftsdata och lägger till metadata som källsystem, bearbetningsdatum, effektiv tidsstämpel och utgångstidsstämpel. För närvarande bearbetar de flesta utvecklare iscensättningsdata med anpassad ETL-kod. (ETL är en akronym för extrahera, transformera och ladda.) Det finns minst ett verktyg (A2B-data) som automatiserar skapandet och populationen av iscensättningstabellscheman.
Vi använder också agila tekniker för att förbättra databearbetning i lager . För detta föredrar vi en blandning av ETL och SQL. ETL används för kärntabeller med komplex logik, medan SQL används för perifera tabeller - och det finns många sådana i ett typiskt lager. Det är ungefär 10 gånger snabbare att skriva SQL än ETL. SQL-koden är också lättare att utveckla och testa. Rimligen kan du förvänta dig att ersätta ETL med SQL för ungefär hälften av tabellerna; det exakta beloppet beror på lagrets komplexitet och din SQL-färdighet.
Dessa förbättringar minskar mängden ETL-kod som behöver skrivas samtidigt som den distribueras där den är som mest värdefull:för stora datamängder med flera källor att integrera och bearbeta.
Agility i Databas Reverse Engineering
Vi använder även agila tekniker under reverse engineering. Reverse engineering tar en befintlig design och arbetar baklänges för att sluta sig till den underliggande logiska avsikten. Databasreverse engineering kan ha olika motiv. Du kanske konverterar från en databasplattform till en annan. Eller så kanske du försöker förstå modellen bättre i underhållssyfte. Eller du kanske försöker rädda krav som är implicita i ett schema för övervägande av ny programvara.
Vi brukar börja med att analysera det befintliga schemat. Ett schema är ofta tillgängligt och det är något som vi snabbt kan studera. Vi kan utöka detta med andra resurser, såsom dokumentation, data och utvecklarkonversationer.
Ett datamodelleringsverktyg är en viktig resurs för att studera schemat. De flesta verktyg kan importera SQL-schemat så att du kan se tabellerna och hur de ansluter till varandra. Ofta är det tillräckligt för omvänd ingenjörsanalys.
Agil databasteknik:The Takeaway
Agil utveckling är ett populärt ämne som har flera databasimplikationer. Ett agilt tillvägagångssätt är användbart för datamodellering, utveckling av datalager och omvänd databasutveckling.
Michael Blaha är en konsult och utbildare som är specialiserad på att utforma, arkitektur, modellera, designa och finjustera databaser. Han har arbetat med dussintals organisationer runt om i världen. Dr. Blaha har skrivit sju amerikanska patent, sju böcker, många artiklar och två videokurser. Hans senaste publikation är Agil Data Warehouse Design videokurs från O’Reilly. Han doktorerade från Washington University i St. Louis och är en alumn vid GE Global Research i Schenectady, New York. Du kan hitta mer information på hans LinkedIn-profil eller på superdataguy.com.