Évtizedek óta dolgozunk nagy- és közepes vállalatoknál, és az adattárházi, üzleti intelligencia vagy akár migrációs projektek során több alkalommal belefutottunk olyan adatbázisokba, amelyekből ki kellett volna nyerni adatot, azonban a folyamatot valamely alábbi (akár egyszerre több) tényező korlátozta:
- Dokumentáció – nem létezik. Amennyiben mégis, akkor minimum 10+ évvel ezelőtti
- Hozzáértő belsős kolléga – Amennyiben egy ilyen kolléga a rendelkezésünkre áll, előfordulhat, hogy nagy mértékben leterhelt, és a rendszer dokumentálására sincs kapacitása. A kapacitáshiány miatt sokszor még egy külsős partnercéggel való konzultációra sem jut elég idő.
- A rendszer szállítója, fejlesztője már nem elérhető, nincs megfelelő támogatás
- A fluktuáció miatt a fentiek hatványozódnak: „én már egy másik kollégától vettem át, aki szintén egy harmadik kollégától örökölte ezt pár éve…” – ezáltal az adatbázis struktúra és működés egyre nagyobb szelete vész a feledés homályába.
Az ilyen adatbázisok egészen addig a pontig nem okoznak problémát, amíg „csak” a napi operáció kiszolgálása a feladatuk – bár idővel ott is felmerülhet, hogy egy-egy karbantartás kimenetele mennyire jelezhető előre és mennyire biztonságos azt elvégezni.
Amint azonban valamilyen céllal szükség lenne az adatbázisban tárolt adatokra, az „elhanyagolt” adatbázis akár show-stopper is lehet, vagy felboríthatja a projekttervekben tervezett ráfordítás-becsléseket és költségeket.
Vegyük például a következő esetet:
Egy menedzsment információs rendszer (MIS) kialakítása során felmérjük azt, hogy egy régi HR vagy pénzügyi szoftverből kell kinyerni és felhasználni adatokat. A „régi jó” rendszer frontendjén a képernyőkön lehetőségünk van ezeket kilistázni, de ezek adatbázison belüli elérésében, pontos lekérdezhetőségében senki nem tud segítséget nyújtani. Ebben az esetben elhalhat a kezdeményezés azzal kapcsolatban, hogy ebből a rendszerből adatokat nyerhessünk ki, vagy adott esetben legalább manuálisan exportálhatóak legyenek a szoftver felületéről.
Tapasztalataink alapján az alábbi esetekben lehet hasznos „újraépíteni” a tudást egy adatbázishoz (amennyiben már a fent leírt állapot előállt):
- A meglévő architektúra már nem tudja hatékonyan kiszolgálni a napi működést – pl. egy régi adatbázis-kezelő szoftverben íródott, és új adatbázis platformra kell átültetni
- Be kell kapcsolni az adatbázist a céges „vérkeringésbe” – legyen ez akár egy adattárház vagy üzleti intelligencia fejlesztés, akár egy új szoftver, amelynek interakcióba kell lépnie ezzel az adatbázissal
- Az adatbázist használó alkalmazás lecserélésre kerül és az adatbázis tartalmat migrálni kell az új rendszerbe
Hogyan tudjuk ezt megtenni? Lássuk az adatbázis takeover egyes lépéseit (az egyes pontok relevanciája függ a takeover céljától).
- Adatbázis feltérképezés, modell-építés
Leképezzük a meglévő adatbázist. „Egy kép többet mond ezer szónál”. Már a modell felrajzolása során azonosíthatunk problémákat, anomáliát, duplikációt, stb. - Adattisztaság ellenőrzés
Bármire is akarjuk használni az adatokat, hiteles információkat csak helyesen rögzített adatokból lehetséges kinyerni – ez nem csak szemantikai megfelelést jelent, hanem sokszor logikai összefüggéseket is (pl. egy adott adattípusnál mely mezők kitöltöttsége az elvárt akár más, kapcsolódó adattáblákban, entitásokban) - Adatbázis-kódok (eljárások, rendszeresen futtatott job-ok) felülvizsgálata, optimalizálási lehetőségek azonosítása
Akár adatbázis-platform verzióváltás miatt, akár az adatbázis adott verzióján belül létezhetnek olyan megoldások a kódban, amelyeket teljesítmény- és hatékonyság-javítási céllal érdemes átkódolni - Dokumentáció készítése
Érdemes olyan dokumentálási formát választani, ami értelmezhető ráfordítással karbantartható, annak érdekében, hogy ne álljon elő ismét rövid időn belül az az állapot, hogy a dokumentáció elavulttá válik - Feladatok azonosítása a felhasználási célhoz – ez lehet pl. egy adatmigráció scope-jának definiálása, adattisztítási terv, az adatbázis optimalizáció specifikálása, stb.
Ezen lépések segítségével el tudunk jutni abba az állapotba, hogy tisztán látjuk a végrehajtandó feladatokat, fejlesztéseket az adatbázis újjáépítésére és/vagy modernizálására. Ezt követően már csak a megvalósítás szükséges a rendelkezésünkre álló kapacitások mentén, hogy újra egy jól kézben tartott és a céljaink szerint hatékonyan használható adatbázist üzemeltessünk tovább.