Omgevingen en het landschap
Een klant heeft geen losse databases. Hij heeft een landschap: bronnen, ETL, een datawarehouse en rapporten die samenhangen. En dat landschap bestaat meestal meerdere keren, in ontwikkeling, test, acceptatie en productie. Plainwater AI kent beide begrippen.
Omgevingen
Elke bron hoort bij een omgeving: productie, acceptatie, test of ontwikkeling. Een klant kan meerdere omgevingen hebben, elk met hun eigen bronnen.
Per omgeving kun je eigen regels zetten. Een paar voorbeelden:
- In ontwikkeling mag een agent vrije SQL draaien en scripts uitvoeren.
- In productie mag een agent alleen kijken, en gaat elke wijziging via een voorstel dat een mens goedkeurt.
- In test staat de datatoegang op open, omdat de testdatabase geen echte personen bevat.
"Productie" is geen eigenschap van een klant maar van een bron. Een klant kan tegelijk een productiedatabase en een ontwikkeldatabase hebben, met heel verschillende regels.
Het landschap
Het landschap is een kaart van één omgeving: welke systemen er zijn, welke databases, welke pipelines, welke datasets en rapporten, en hoe ze met elkaar verbonden zijn.
| Soort knooppunt | Voorbeeld |
|---|---|
| Systeem | het ERP-pakket, het personeelssysteem |
| Database en schema | het datawarehouse, het stagingschema |
| Pipeline en trigger | de nachtelijke lading, het uurlijkse schema |
| Dataset en rapport | het semantisch model, het rapport voor de directie |
Verbindingen zeggen wat er gebeurt: laadt, leest, start, ververst, hangt af van.
Samen tekenen
Een agent en een mens tekenen de kaart samen. De agent kan meten (deze pipeline schrijft naar die tabel) of afleiden (deze view leest vermoedelijk uit dat schema). Een mens kan een verbinding bevestigen. Op de kaart is altijd te zien welke verbinding gemeten, afgeleid of bevestigd is.
Alleen een mens publiceert de kaart. Publiceren maakt een nieuwe versie; oude versies blijven bewaard.
Uitgangspunt, geen waarheid
De gepubliceerde kaart gaat mee naar elke opdracht in die omgeving. De agent hoeft dan niet elke keer opnieuw uit te zoeken hoe alles samenhangt. Maar de kaart gaat mee als uitgangspunt, niet als waarheid: een agent die iets anders meet, mag dat melden en een wijziging voorstellen.
Ook op de kaart staan de namen van de klant als pseudoniem, net als overal waar iets naar een model gaat.
Voorbeeld
Een klant heeft een warehouse in drie omgevingen.
- In ontwikkeling tekent een agent met een data-engineer het landschap: zes bronsystemen, een stagingschema, twaalf pipelines, vier rapporten.
- De engineer bevestigt de verbindingen die hij kent en publiceert de kaart.
- Een week later vraagt een collega waarom een rapport leeg is. De agent krijgt de kaart mee, ziet welke pipeline dat rapport voedt, en begint daar te zoeken.