Zajmuję się zwinnymi technikami baz danych od około dwudziestu lat. Moje użycie tych technik nie zaczęło się jako ustalony plan; raczej ewoluowała w czasie, gdy konsultowałem się przy różnych projektach. Sensowne było szukanie sposobów na szybszą pracę i większą interakcję z klientem.
Przychodzą mi do głowy co najmniej trzy rodzaje zwinnych technik baz danych:
- Modelowanie danych
- Rozwój hurtowni danych
- Inżynieria odwrotna bazy danych
Zwinne modelowanie danych
Wiele osób myśli o modelowaniu danych jako pracochłonnym zadaniu. Ale tak nie musi być. Możesz zabrać modelowanie danych z zaplecza i zrobić to przed klientem. Można by pomyśleć, że klienci byliby zniechęceni techniczną goreczką, ale tak nie jest. Pracownicy biznesu mają pasję do swojej pracy i wizję tego, dokąd chcą się udać. Są zachwyceni, że mają IT jako pomocnika, a nie przeszkodę.
W celu zwinnego modelowania danych programista musi wykonać następujące czynności:
- Posługuj się biegle koncepcjami modelowania danych i narzędziem do modelowania danych.
- Zdobądź przyjazny tłum na kilka pierwszych razy. Musisz wypróbować swoje techniki na opiekuńczej publiczności, aż nabierzesz pewności siebie.
- Miej co najmniej jednego mistrza biznesu na widowni – kogoś, kto otrzyma wyniki Twojej pracy, kogoś, kto głęboko zrozumie biznes i pomoże doprowadzić innych do konsensusu.
- Miej solidny projekt z jasnym celem i uzasadnieniem biznesowym.
Dzięki zwinnemu modelowaniu danych programiści pracują szybko i dostarczają częste wersje modeli. Wolę, aby sesje modelowania danych trwały nie dłużej niż dwie godziny. Te sesje są intensywne, wszyscy miotają się wokół pomysłów. Po dwóch godzinach uczestnicy będą potrzebować odpoczynku. Będziesz także potrzebował czasu na oczyszczenie modelu i zapoznanie się z dokumentacją.
Techniki zwinne mają zastosowanie do wszystkich aspektów modelowania danych, w tym codziennych systemów operacyjnych, hurtowni danych, modeli danych podstawowych i modeli danych korporacyjnych.
Techniki rozwoju zwinnych hurtowni danych
Techniki zwinne są również ważne, gdy budujesz hurtownię danych. W szczególności istnieją dwa obszary, w których stosujemy te techniki do rozwoju magazynu.
Pierwsza to inscenizacja danych . Dobrą praktyką jest wykorzystanie pośrednich tabel pomostowych do buforowania właściwego magazynu ze źródeł operacyjnych. Tabele pomostowe duplikują dane operacyjne i dodają metadane, takie jak system źródłowy, data przetwarzania, efektywny znacznik czasu i znacznik czasu wygaśnięcia. Obecnie większość programistów przetwarza dane tymczasowe za pomocą niestandardowego kodu ETL. (ETL to akronim od słów Extract, Transform i Load). Istnieje co najmniej jedno narzędzie (Dane A2B), które automatyzuje tworzenie i wypełnianie schematów tabel pomostowych.
Używamy również technik zwinnych, aby poprawić przetwarzanie danych w hurtowni . W tym celu preferujemy połączenie ETL i SQL. ETL jest używany do tabel podstawowych ze złożoną logiką, podczas gdy SQL jest używany do tabel peryferyjnych — a w typowym magazynie jest ich wiele. Pisanie SQL jest mniej więcej 10 razy szybsze niż ETL. Kod SQL jest również łatwiejszy do rozwijania i testowania. Rozsądnie można oczekiwać zastąpienia ETL SQL dla około połowy tabel; dokładna kwota zależy od złożoności magazynu i umiejętności SQL.
Te ulepszenia zmniejszają ilość kodu ETL, który wymaga napisania podczas wdrażania go tam, gdzie jest najbardziej wartościowy:w przypadku dużych zestawów danych z wieloma źródłami do integracji i przetwarzania.
Zwinność w inżynierii odwrotnej baz danych
Techniki zwinne wykorzystujemy również podczas inżynierii odwrotnej. Inżynieria odwrotna wykorzystuje istniejący projekt i działa wstecz, aby wywnioskować leżącą u jego podstaw intencję logiczną. Inżynieria wsteczna baz danych może mieć różne motywacje. Być może przechodzisz z jednej platformy bazy danych na inną. Lub możesz próbować lepiej zrozumieć model do celów konserwacji. Lub możesz próbować uratować wymagania zawarte w schemacie do rozważenia przez nowe oprogramowanie.
Zwykle zaczynamy od analizy istniejącego schematu. Schemat jest często dostępny i można go szybko przestudiować. Możemy to rozszerzyć o inne zasoby, takie jak dokumentacja, dane i rozmowy z programistami.
Narzędzie do modelowania danych jest ważnym źródłem do badania schematu. Większość narzędzi może importować schemat SQL, dzięki czemu można zobaczyć tabele i sposób ich połączenia. Często jest to wystarczające do analizy inżynierii wstecznej.
Zwinne techniki baz danych:na wynos
Programowanie zwinne to popularny temat, który ma kilka implikacji związanych z bazami danych. Podejście zwinne jest pomocne w modelowaniu danych, tworzeniu hurtowni danych i inżynierii wstecznej baz danych.
Michael Blaha jest konsultantem i trenerem specjalizującym się w projektowaniu, architekturze, modelowaniu, projektowaniu i tuningu baz danych. Współpracował z dziesiątkami organizacji na całym świecie. Dr Blaha jest autorem siedmiu amerykańskich patentów, siedmiu książek, wielu artykułów i dwóch kursów wideo. Jego najnowsza publikacja to Agile Data Warehouse Design kurs wideo od O’Reilly. Otrzymał doktorat na Washington University w St. Louis i jest absolwentem GE Global Research w Schenectady w stanie Nowy Jork. Więcej informacji można znaleźć na jego profilu LinkedIn lub na superdataguy.com.