Data Platform: replikointi ja integraatio palveluna
Taustaa
Kirjoitimme edellisissä kirjoituksissa 1) ja 2) moderneista data platformeista eli data-alustoista. Data-alusta on organisaation datakeskeisen ajattelumallin keskiössä.
Muuttuvat integraatiotyylit
Uudet teknologiat, datamäärien kasvu sekä eräajoikkunan pienentyminen vaikuttavat tapoihin toteuttaa integraatioita. Perinteinen tapa kierrättää dataa integraatiopalvelimen kautta ei ole enää näissä olosuhteissa toimiva.
Tunnettu konsultti Rick van der Lans kirjoitti jo aiemmin miten erilaiset integraatiotavat muuttuvat. Ehkä aito reaaliaikaisuus / sanomapohjaisuus taikka replikointi ei ole vielä lyönyt täysin läpi vaikka onkin kovasti yleistynyt 2020 - luvulla.
Data-alusta ja kehityskustannukset
Data-alustan ja siihen liittyvien muiden palveluiden tulee kyetä tarjoamaan laajasti tukea kehittämiselle, kehittäminen ei ole kuitenkaan ilmaista, mihin asioihin kehittämisessä menee rahaa?
Infra maksaa, joko on-premises mallilla tuotettuna tai kokoelmana pilvipalveluita. Tyypillisesti pilvipalvelut tarjoavat käyttöön nopeasti joukon tarvittavia palveluita ja samalla saadaan aikaan joustavuutta. Pilvipalvelut muuttavat pääomainvestoinnit käyttömenoiksi ja tarvitaan uudenlaista ajattelua sekä seurantaa kustannusten hallitsemiseksi.
Useimmiten kuitenkin keskeisempi kustannus on ostetut tai itse tuotetut kehityspalvelut, palveluostojen tai maksettujen työvoimakustannusten muodossa. Millä tavalla kehityspalveluiden kustannusta olisi mahdollista alentaa taikka muuttaa osin infrakustannuksiksi?
Kaksi mielenkiintoista tapaa ovat:
- Replikaatio
- Integraatio palveluna
Replikaatio
Replikaatio on yksinkertaisesti datan kopiointia lähteestä kohteeseen, alla on lueteltu muutamia mekanismeja.
- Copy and upsert
- Pienet lähdedatamäärät
- Incremental load
- Muutosindikaattorin valinta
- Log replication / CDC
- Tietokannan transaktiologin hyödyntäminen
- Provider – subscriber
- PostgreSQL Londiste (Skype)
- Apache Kafka
- Debezium
Hyötyinä ovat usein, että datamäärät voivat olla perinteistä integraatiota pienempiä, voidaan päästä lähes reaaliaikaisuuteen sekä CDC - mekanismilla voi olla kevyt jalanjälki lähdetietokannan kannalta.
Ongelmia tai kustannuksia aiheuttavia asioita ovat:
- Voi vaatia erityistoimenpiteitä DBA-tiimin tai ICT:n taholta
- Jos synkronisointi epäonnistuu, niin uudelleenkäynnistys ja selvitys mitä jäi tulematta
- Kattaako yksi tuote riittävän määrän käyttötapauksia?
- Tiedostointegraatioiden tapauksessa eräajo ehkä yksinkertaisempi ratkaisuna
Perinteisesti on-premises ympäristössä replikointituotteet ovat olleet kalliita ja toisaalta tiettyjen tietokantatuotteiden valmiit toiminnallisuudet eivät välttämättä ole tukeneet sitä että dataa replikoidaan toisenlaisesta järjestelmästä toiseen.
Integraatio palveluna
Integraation palveluna käyttäminen tarkoittaa sitä, että oman kehitystyön kustannusta muutetaan palvelumaksujen muodossa tapahtuvaksi kustannukseksi, tämä voi olla järkevää huomioiden kehittäjien palkkataso ja muut tekijät.
Integraatio palveluna voi parhaimmillaan tarkoittaa sitä, että organisaatio ottaa käyttöön plug – and – play - tyyliin joukon erilaisia connectoreja eli yhteyksiä tietolähteisiin. Nämä vain konfiguroidaan ja sen jälkeen palvelu pitää huolen, että data virtaa tietolähteistä kohteeseen.
Integraatio palveluna tarjoaa ajansäästöä, organisaatio voi heti ottaa käyttöön esimerkiksi markkinoinnin datalähteensä ja maksupalvelupalvelussa olevat transaktiotiedot. Tällöin on mahdollista heti tutkia mitkä kampanjat tuottivat parhaat tuotot käytetyillä panoksilla.