Tietokanta. Tämä on termi, johon ohjelmointia opetellessa väistämättä jossain vaiheessa törmää. Tietokanta on yksinkertaistettuna paikka, jonne tallennetaan informaatiota. Yleisimmät tietokantaohjelmistot perustuvat relaatiomalliin. Englanniksi tällaista kutsutaan nimellä ”relational database”.
Tietokannat ovat vanha keksintö
Tietokannat eivät suinkaan ole mikään 2000-luvun it-nörttien keksintö. Nykyään käytössä olevien modernien tietokantojen edeltäjiä nimittäin kehitettiin jo 1960-luvulla.
Tietokanta on hyvin keskeisessä roolissa käytännössä kaikenlaisissa sovelluksissa, ja esimerkiksi käytännössä jokainen nettisivusto sisältää jonkinlaisen tietokannan. Tietokantoihin tallennetaan mm. nettisivustojen käyttäjien tunnukset ja salasanat, verkkokaupan tuottet ja varastosaldot, pankin asiakastiedot ja niin edelleen. Sinäkin olet mitä todennäköisimmin ollut tänään tekemisissä usean tietokannan kanssa, vaikka et sitä välttämättä tiedosta.
Tietokantojen haasteet
Tietokannat voivat tuntua simppeleiltä, ja sitä ne monesti ovatkin: käytännössä kyseessä on vain eräänlainen Excel-taulukko, johon tietoa on tallennettu eri sarakkeille ja riveille.
Tietokannat muuttuvat kuitenkin haasteellisiksi siinä vaiheessa, kun tietoa on käsiteltävinä suuria määriä. Monet haasteet liittyvät suuriin tietomassoihin joita pitäisi pystyä käsittelemään nopeasti. Tietoa pitäisi saada haettua, muutettua ja tallennettua suureen tietokantaan käytännössä silmänräpäyksessä. Suurten tietokantojen käsittelyssä pilvipalvelut ovatkin viime aikoina yleistyneet merkittävästi, johtuen niiden helposti skaalautuvasta prosessointikapasiteetista. Näistä kuitenkin lisää myöhemmissä artikkeleissa – palataanpa hetkeksi takaisin tietokantojen perusasioiden äärelle.
Tietokannoissa yksi malli jyrää
Tietokannat tosiaan saivat alkunsa jo 1960-luvulla, ja heti 1970-luvulla alalle nousi muut syrjäyttänyt toimintamalli joka on edelleen käytössä käytännössä kaikkialla: relaatiomalli ja kyselykieli SQL. SQL on edelleen todella paljon käytetty kyselykieli, ja esimerkiksi 2020-luvun moderneimmat web-analytiikkaohjelmistot hyödyntävät tietojen säilömiseen ja yhdistelyyn SQL-tietokantoja. Hurjaa, eikö!
Relaatiomallille on kuitenkin alkanut nousta jo haastajia, joten aivan monopoliasemassa olevasta mallista ei voida enää kaikissa tilanteissa puhua. Jatketaan näistä kuitenkin myöhemmissä artikkeleissa – koodailemisiin!