#39 – Mihin tietokantojen replikointia käytetään OP:lla?

Jaksossa 39 Kristianin vieraaksi saapuu OP:n Jukka Köykkä, joka tunnetaan kovan luokan tietokanta-asiantuntijana. Hän työskentelee Product Ownerina OP:n Digitaaliset alustat -heimossa, jonka tehtävänä on pitää OP:n tietokannat toimintakykyisinä koko niiden elinkaaren ajan.

Tässä jaksossa Kristian ja Jukka keskustelevat muun muassa siitä,

  • mitä tietokantojen replikointi tarkoittaa ja mihin sitä tarvitaan,
  • millaisia muutoksia tietokantojen parissa on näkynyt ja
  • millä tavoin OP:lla on saatu ratkaistua haastava reaaliaikainen replikointi.

Katso tästä, mitä edellinen jakso käsitteli >>

Mitä tietokantojen replikointi tarkoittaa ja mihin sitä tarvitaan?

Tietokantojen replikoinnilla tarkoitetaan sitä, että tietokannasta säilytetään kopiota jossakin toisessa paikassa kuin alkuperäisessä lähdejärjestelmässä. Voidaan puhua myös tietokannan toistamisesta. Miksi tietokantoja sitten tarvitsee replikoida?

OP:lla kaikkein tärkein syy tietokantojen replikointiin on varmistaa, että tietokantojen tiedot ovat käytettävissä myös vikatilanteissa. Tällöin pankin palvelut pysyvät nopeasti saatavilla. Toinen hyvin tärkeä syy replikointiin on se, että yksittäisen tietokannan sisältämää tietoa voidaan viedä muihin järjestelmiin reaaliaikaisesti ja kustannustehokkaasti. Replikoinnilla voidaan siis varmistaa, ettei master-järjestelmä kyykkää paisuvan kuormituksen alla.

Uusien palveluiden kehitys laittaa tietokannat koville ja vaatii enemmän replikoinnilta

Jukka on nähnyt työuransa aikana melkoisen määrän muutoksia ja kehitystä tietokantojen parissa. Kun pankkitransaktiot olivat tietokantojen näkökulmasta aluksi hyvin yksinkertaisia, niiden kylkeen on tullut paljon uusia toimintoja, esimerkiksi estoja rahanpesuun ja petoksiin. Tietokantojen toimintakykyä haastavat myös monet reaaliaikaiset toiminnot, kuten pikamaksut ja erilaiset mobiilipalvelut, joissa noudetaan tietoa tietokannasta.

“Meillä kehitetään paljon uusia palveluja, jotka tekevät hakuja master-järjestelmistä. Tietokantojen tietoja myös käytetään tiheämmin kuin ennen”, Jukka kertoo.

Kun uusia teknisiä alustoja ja standardeja ilmaantuu saataville tiuhaan, on haastavaa valita sopivat tietokantaratkaisut pidemmän aikavälin käyttöön. Jukka on ehtinyt nähdä muun muassa objektitietokantojen tulon markkinoille ja lopulta sen, etteivät ne kuitenkaan vakiintuneet käyttöön. Sitten XML-tietokannat nousivat framille, mutta nekään eivät tulleet jäädäkseen. Sama on tapahtunut myös esimerkiksi JSON:lle.

“Kun tehdään satojen miljoonien investointia core-järjestelmään, täytyy varmistaa, että softan elinkaari on vähintään 20 vuotta”, Jukka painottaa.

Näin OP:lla on ratkottu reaaliaikaisen replikoinnin haasteita

Jukka on hiljattain ratkonut työssään, kuinka replikointi onnistuu reaaliaikaisesti. Se ei olekaan ollut ihan yksinkertainen tehtävä – OP:n core-järjestelmät kun ovat pankkitoiminnan kannalta kriittisiä ja käytössä 24/7.

Haastavinta reaaliaikaisessa replikoinnissa ovat lähdejärjestelmän huoltotilanteet ja muutokset. Silloin tietojen synkronointi voi tuottaa harmaita hiuksia. Jotta replikointi on luotettavaa, on kiinnitettävä erityistä huomiota esimerkiksi siihen, kuinka paljon tietoa on siirretty lähdejärjestelmästä ja mistä tiedonsiirtoa pitää vikatilanteen jälkeen jatkaa. Se vaatii ennakkosuunnittelua ja tarkkaa valvontaa. Pelkkä tuotteen kytkeminen core-järjestelmän kylkeen install-nappia painamalla ei suinkaan riitä.

Jukan tiimi pohti erilaisia vaihtoehtoja vikatilanteista selviytymiseen ja onnistui ratkomaan haasteen lisäämällä replikointiin niin kutsuttuja heterogeenisiä targetteja. Tieto ei siis siirry lähdejärjestelmästä vain yhteen paikkaan, vaan OP:n tapauksessa esimerkiksi ETL-targetteihin (data stage), pilveen Kafkaan tai muihin tietokantoihin onPrem konesalissa. Parhaillaan on käynnissä myös enablerin kehitys, jolla tietokannat saadaan toistettua myös RDS-tietokantaan pilveen ja oman konesalin toiseen tietokanta-alustaan.

“Näiden kaikkien pitäminen käynnissä luotettavasti on iso ponnistus”, Jukka kertoo.

Kuuntele Jukan ja Kristianin keskustelu kokonaisuudessaan Spotifysta >>

Jakson sisältö

  • Mitä tietokantojen replikointi tarkoittaa?
  • Mihin replikointia tarvitaan?
  • Mikä tietokantojen parissa on muuttunut?
  • Näin OP:lla on ratkottu reaaliaikaisen replikoinnin haasteita
  • Miten tietokantakonkari ylläpitää omaa osaamistaan?

Jakson kesto: 17:36 min

Jatketaan keskustelua sosiaalisessa mediassa! Verkostoidu Jukan ja Kristianin kanssa

Twitterissä: @kluoma

LinkedInissä: Jukka Köykkä & Kristian Luoma

Jukkaan voit olla yhteydessä myös sähköpostitse, jukka.koykka(a)op.fi.