AI-ügynökkel zsugorította legacy SQL-kódját az Ecolab

Az Ecolab egy AI-ügynök segítségével alakítja át összetett, örökölt SQL-adatrendszerét dbt-projektekké. A dbt Labs beszámolója szerint a teljes migráció során körülbelül hatodára csökkent a kód mennyisége, az adatkapcsolatok száma pedig negyedére esett vissza.
- Az Ecolab több mint 40 dbt-projektbe fordítja át örökölt SQL-logikáját.
- A teljes migrációban körülbelül hatszor kevesebb kód és négyszer kevesebb adatkapcsolat maradt.
- Egy kiemelt dimenzió modelljeinek száma 409-ről 170-re csökkent.
- Az első négy hétben körülbelül 90 táblát hagytak jóvá.
- A végleges átállás csak minden dimenzió és ténytábla jóváhagyása után történik meg.
Több száz modell és több ezer forrásrendszer
Az Ecolab higiéniai, élelmiszer-biztonsági és vízkezelési termékeket gyárt, amelyeket szállodák, éttermek, kórházak és gyártóvállalatok használnak világszerte. A vállalat alapmodellje több mint 400 egymástól függő dimenzióból és ténytáblából állt, amelyekhez több mint 3000 forrásrendszer szolgáltatott adatot.
A rendszer évek alatt, projektenként bővült. A központi modell köré rétegtáblák, ideiglenes táblák, kulcsleképező táblák és Snowflake-adatfolyamok épültek. A folyamatokat Snowflake-feladatok vezérelték, amelyek JavaScriptben írt tárolt eljárásokat hívtak meg.
Mivel a rendszer csak az új vagy megváltozott sorokat dolgozta fel újra, a régebbi rekordok idővel eltérhettek egymástól. Az adatminőségi problémák mértékét nem térképezték fel teljes körűen, ezért az Ecolab külön szerepkört hozott létre a termelési hibák kezelésére.
Az ügynök a dokumentálatlan tudást is felhasználja
Az Ecolab átlátható, dokumentált és verziókövetett átalakítási logikát szeretett volna, ahelyett hogy az üzleti szabályok egy Snowflake-tábla belsejében rejtőzzenek. A cél a kéthetente kiadott, manuális frissítések felváltása automatikus, igény szerinti kiadásokkal volt.
A migrációs partnere, a Datafold által készített ügynök először feltérképezi a teljes adatvonalat, a kódbázist és a szemantikai réteget. Ezután a wikikből és megbeszélések felvételeiből is kontextust gyűjt, hogy pótolja a korábban le nem írt intézményi tudást.
A legacy logikát több mint 40 különálló dbt-projektté fordítja le, egyértelmű felelősségi körökkel. A projektek közötti függőségeket a dbt Mesh kezeli. Minden új modell eredményét automatizált adategyeztetéssel hasonlítják össze a termelési adatokkal. Az ügynöknek az eltéréseket a régi és az új kód, valamint az eredeti követelmények alapján kell megindokolnia. A meg nem magyarázott különbségek visszakerülnek a folyamatba, amíg fel nem oldják őket.
Kevesebb kód, jóváhagyásra váró modellek
Egy kiemelt dimenzió újraépítésekor a modellek száma 409-ről 170-re csökkent. Ezzel körülbelül 70 000 sor kódot és 1000 adatkapcsolatot távolítottak el. A teljes migrációban az Ecolab körülbelül hatszor kevesebb kódot és négyszer kevesebb adatkapcsolatot lát a régi rendszerhez képest.
A Git-alapú verziókövetés, valamint az automatizált tesztelés és telepítés miatt az új folyamat a dbt Labs szerint már megfelelésre késznek tűnik a SOC 2 szempontjából is, noha a megfelelés eredetileg nem szerepelt a projekt céljai között.
Az adatgazdák kezdetben attól tartottak, hogy minden eltérés hibás új adatfolyamot jelent. A vizuális, sorszintű adategyeztetés azonban gyorsabban eloszlatta ezeket az aggályokat, mint az írásos magyarázatok. Az első négy hét ellenőrzése alatt körülbelül 90 táblát hagytak jóvá.
A teljes átállás még hátravan
A projekt tapasztalatai szerint az ilyen migráció inkább agilis folyamatként működik, mint vízesésmodellben. Már az első működő dbt-projekt új elnevezési és szerkezeti igényeket hozott felszínre. A csapat azt is megtanulta, hogy az apró, kozmetikai módosításokat, például egy oszlop átnevezését, érdemes az adatok ellenőrzése utánra hagyni, mert ezek az ügynök számára több modellhívást is igényelhetnek.
Tomasz Kaczmarek, az Ecolab migrációs projektjének technikai vezetője elmondta, hogy kezdetben saját maga is szűk keresztmetszetet jelentett, mert bizalmi problémák miatt mindent kézzel ellenőrzött. A csapat fokozatosan nagyobb súlyt ad a folyamat automatizált ellenőrzéseinek.
Az új modellekre való végleges átállás ebben a szakaszban még nem része a projektnek. Az Ecolab csak akkor cseréli le a meglévő riportálási réteg mögötti táblákat, amikor minden dimenziót és ténytáblát átnéztek és jóváhagytak. A felhasználók számára ez azt jelenti, hogy a kód és az adatkapcsolatok egyszerűsítése már mérhető, a riportok mögötti teljes technológiai váltás azonban még fokozatosan zajlik.


