Tiedonhallinnan tulevaisuuden näkymät standardien valossa

DB2000-seminaariin Tukholmaan oli keräytynyt arvovaltainen joukko tietokantaguruja, mm. E.F.Codd ja Chris Date, arvioimaan tietokantateknologian tulevaisuuden näkymiä. Tämä artikkeli on syntynyt tuon tilaisuuden ja 10 vuotisen omakohtaisen relaatiotietokantakokemuksen pohjalta.

KT-Tietokeskuksessa tehdään uudet ohjelmistotuotteet tietokantariippumattomasti, jolloin standardien merkitys on erittäin suuri. Oliomallintaminen ja olio-ohjelmointi on tuonut osaltaan haasteita relaatiotietokantojen ja oliomaailman yhteenliittämisessä. Standardointi näyttää tulevan ohjelmistokehityksen perässä, jolloin tietokantaohjelmistojen toimittajat tekevät markkinoiden vaatimia laajennuksia. Seminaarissa käsiteltiin myös oliotietokantoja, mutta pääasiassa relaatiotietokantojen laajennuksien pohjalta.

SQL-standardeista

Relaatiotietokannan standardi SQL 89 level 2 on toteutunut suhteellisenhyvin eri tietokantatuotteissa. Standardin sisältö on ollut aika suppea, joka on johtanut tietokantatoimittajien SQL-kielen laajennuksiin. SQL 92-standardi kuullosti Oracle:n, Informixin ja IBM:n edustajien mielestä toteuttamiskelpoiselta. Nähtäväksi jää, miten paljon toimittajat toteuttavat standardin eri tasoja. IBM lupasi toteuttaa kaikki tasot eli "full support", muut toimittajat eivät vielä uskaltaneet ottaa kantaa kaikkien tasojen toteuttamiseen.

Tekeillä on nyt SQL3-standardi, johon IBM:n edustajan mukaan he eivät tule implementoimaan kaikkia tekeillä olevan SQL3-standardin piirteitä, koska niiden toteuttaminen on liian kallista.

Näyttäisi siltä, että SQL3-standardissa on paljon sellaisia piirteitä, joita tietokantatoimittajat eivät tule tukemaan. SQL-kielen toimittajakohtaiset laajennukset tulevat lisääntymään ja varsinkin oliopiirteiden tuominen relaatiotietokannan jatkeeksi tulee lisäämään tietokantatuotteiden erilaisuutta.

Relaatiotietokanta vai oliotietokanta?

Puhtaan oliotietokannan edustajia ei seminaarissa ollut, mikä mielestäni oli selvä puute. En tiedä johtuiko tämä siitä, että oliokantatuotteilla on vajaan 1 prosentin markkinaosuus tiedonhallintamarkkinoista. Ilmeisesti oliotietokantojen standardointitilanne on myös heikko, jolloin oliokantatoimittajiin liittyy teknologiariskejä. Alan lehdistä päätellen tietokantapuolella on kahdenlaista tuulta:

Chris Date esityksessään piti tapansa mukaan vahvasti kiinni relaatioteorian säännöistä. Hänen viestinsä oli, että ei kannata tehdä mitään olemassa oleville relaatiotietokannoille. "The third manifesto" julistuksessa Date pyrki osoittamaan kuinka relaatiomaailma ja oliomaailma yhtyvät. Relaatiotietokantatoimittajat näyttivät olevan samaa mieltä. Nähtäväksi jää, miten toimittajat toteuttavat Daten teorian vai onko heillä omia konsepteja.

Standardit laahaavat pahasti jäljessä. Epäilen, että tulemme näkemään hyvin paljon toisistaan poikkeavia relaatiotietokantojen "oliolaajennuksia". Ilmeisesti avoimuus tietokannoissa vähenee entisestään ja houkutukset käyttää tietokantakohtaisia laajennuksia lisääntyvät.

DELTA-tietohakemisto

E. F. Codd esitteli DELTA-mallin, joka käsittää liiketoimintasääntöjen ja liiketoiminnan ohjauksen mallin. DELTA:ssa tietohakemisto nähdään liiketoiminnan näkökulmasta. Tietohakemistoja on ollut erilaisissa 4GL- ja CASE-välineissä, mutta ne ovat olleet suljettuja hakemistoja. Hakemistot ovat palvelleet etupäässä sovelluksen määrittelyä ja suunnittelua. DELTA-mallissa liiketoiminnan tietämys viedään formaalissa muodossa tietokantaan.

DELTA-mallilla Codd pyrkii luomaan universaalin tavan kuvata liiketoimintaa niin, että siinä ei tarvita sovelluskehittimiä eikä perinteisiä ohjelmointikieliä. CASE- ja 4GL-välineistä ja 3GL-kielestä voidaan "kutsua" näitä sääntöjä, jolloin päästään helpommin ylläpidettäviin ja portattaviin sovelluksiin.

Ohjelmointirajapintojen standardit

Aihetta ei käsitelty seminaarissa, mutta tehtäessä tietokantariippumattomia sovelluksia joudutaan ottamaan kantaa mihin SQL-rajapintaan sovellukset kiinnitetään. Esikäännettävän SQL:n standardi ("upotettu SQL") on suhteellisen hyvin toteutunut. Microsoft teki CLI-standardin pohjalta oman ODBC-määrityksen, josta tuli samalla de facto standardi. Jokaisella tietokantatoimittajalta löytyy ODBC-ajuri, jonka kautta työasemasovellus voi kommunikoida tietokannan kanssa. ODBC standardi on ollut SQL-palvelin sovellusten standardi. ODBC:ssä ohjelmointirajapinta on käytännössä client-päässä.

Sanomapohjaiset sovellukset eli yhteistoiminnalliset sovellukset eivät ole voineet pohjautua ODBC-standardiin. Nyt on tullut joitakin kaupallisia tuotteita, jotka mahdollistavat ODBC-tyyppisen tietokantaliitännän myös palvelimessa. IBM:n DRDA, ORACLE:n GLUE ja Borlandin IDAPI osoittavat myös standardoinnin huonoa tilannetta tällä alueella.

Tulevaisuus

Kehitys kiihtyy vuosi vuodelta, eivätkä standardit tahdo pysyä mukana. Toisaalta sovellusten kehittäjien kannalta tietokanta- ym. toimittajariippumattomuus on tullut tärkeäksi tekijäksi. Tehdyt investoinnit halutaan turvata standardiratkaisuilla. Tekniikan muuttuminen ei saa näkyä koko sovelluksen arkkitehtuurin muutoksena. Tietokantatekniikka on tarvinnut ja tarvitsee edelleen vahvoja "guruja" ja "guruorganisaatioita", jotka pystyvät tuomaan alalle standardeja. Nähtäväksi jää ketä kuunnellaan ja kenen konsepteihin uskotaan.

Sauli Tujunen, KT-Tietokeskus Oy

Lauri Laitinen lauri.laitinen@research.nokia.com