Databasteknik: Tillkomsten av Mimer

Som framgår i texten om ”Utvecklingen av ITC-infrastrukturen vid UU och SLU efter 1960” (1965–1970), ingick i begreppet universitetsdatacentral installation och drift av en kraftfull elektronisk datamaskinanläggning. Men dessutom tillkom en så kallad stödprogrammerargrupp, med uppgiften att initiera användningen av en sådan facilitet inom andra vetenskapliga områden än – som traditionellt – naturvetenskapen.

Universitetsdatacentralerna fick dessutom uppgiften att med hjälp av denna stödprogrammerargrupp sprida kunskap om den nya tekniken till det regionala näringslivet och den offentliga sektorn samt – på kommersiella villkor – hjälpa till med användningen av tekniken.

Det var den delen av infrastrukturen som lade grunden till de flesta väsentliga och uthålliga innovationerna som har sina rötter i Uppsala. Mimer är en av dessa.

I slutet av 1960-talet var ett flertal mycket maskinkapacitetskrävande applikationsprogram i rutinmässigt bruk i Uppsala. Stödprogrammerargruppen hade utvecklat dessa tillsammans med olika användare. Ett par exempel är system för hälsokontroller och administrativa system för UU, SLU och andra universitet i Sverige.

Ett stort hinder inom all systemutveckling och vidareutveckling av system var på den tiden att varje applikationsprogram krävde sitt eget sätt att lagra ingående data. Löneutbetalningssystemets persondata kunde med andra ord inte användas av andra administrativa applikationsprogram.

På UDAC hade Werner Schneider och hans närmaste medarbetare alltmer insett att lagringen och återvinningen av data borde ske genom ett särskilt system, som kunde användas av vilka applikationsprogram eller -system som helst. Men något sådant fanns inte tillgängligt.

I samband med att UDAC 1971 tog en ny datamaskinanläggning i drift, IBM 370/155, fick stödprogrammerargruppen tillsammans med övriga användare tillgång till ett sådant system, IBM-IMS. Detta innebar ett klart framsteg, dock med många fällor, hinder och nackdelar. För UDACs del var främsta nackdelen ineffektiviteten. IMS var en äkta innovation, men hemskt ineffektiv med avseende på maskintidsåtgång.

En av program/systemutvecklarna vid UDAC, Åke Persson, fann i boken System Analysis for Data Transmission av James Martin ett kapitel som handlade om relationella databaser. Han läste då också de ursprungliga publikationerna av E.F. Codd, en forskare hos IBM, upphovsgivaren till modellen för denna typ av databaser. (Se ”A Relational Model of Data for Large Shared Data Banks”.)

På hans initiativ bildade Werner Schneider redan i början av 1974 en utvecklingssektion inom UDAC, i första hand för att ta fram prototypen för en relationsdatabas, RAPID.

För att uppnå bästa möjliga effektivitet och minnesutnyttjande skrevs RAPID i IBM-assembler.

Den första versionen började sättas i drift inom olika applikationssystem 1974–1975. På grund av att ett kanadensiskt dataföretag försökte registrera varumärket Rapid för ett liknande databassystem döptes UDACs RAPID år 1977 om till Mimer, för att man skulle slippa en onödig varumärkesstrid. Detta måste sägas vara ett fyndigt namnval. Mimer var i nordisk mytologi en jätte som vaktade Kunskapens brunn och genom att dricka ur brunnen fick han förmågan att svara på alla frågor. Ingen annan än Mimer fick tillgång till källan, men Oden offrade sitt ena öga i brunnen och kunde på så vis se framåt och bakåt i tiden. Man skulle kunna säga att Mimer var gudarnas system för informationsbehandling. Och Mimers brunn lär enligt sägnen ha legat i trakterna av Uppsala.

(BILD: Mimer drickandes ur brunnen)

Ganska snart så ville andra delar av universitet och andra universitetsdatacentraler också få tillgång till databashanteraren Mimer. Eftersom dessa använde datorsystem från till exempel Digital (DEC-10, PDP-11, VAX), Norsk Data, Prime och Control Data måste Mimer anpassas till dessa system. För att undvika att göra en omskrivning till varje målmiljö beslöts att– så långt det över huvud taget var möjligt – göra Mimer maskinoberoende (portabel). Det programmerades därför med den mest rudimentära kärnan av programmeringsspråket FORTRAN. Inte mer än 2 % av Mimer var maskinberoende som måste omprogrammeras för varje datorsystem. Övriga 98 % var portabel mellan alla olika datortyper.

Idén till detta hade naturligtvis sina rötter i erfarenheterna från tiden 1960-64, där forskarna – bland annat Werner Schneider – fick ragga maskintid på vilken maskintyp som helst i USA och Europa för att kunna köra mycket maskintidskrävande program inom olika forskningsområden. Det gällde med andra ord att definiera den för alla maskintyper gemensamma kärnan av FORTRAN.

Mimer hade två moduler: Den ena var själva databashanteringssystemet, MAMI (Mimer Access Method Interface), och den andra var frågespråket Miman.

Omkring 1980 kompletterades Mimer med 4GL-verktyget Midam. Det var en programgenerator som från en högnivårepresentation kunde generera MAMI-applikationer i Fortran och Cobol. Midam var baserad på Tore Rischs doktorsarbete Lidam.

Med hjälp av Mimer kunde databas-applikationer göras portabla mellan olika datormiljöer, men presentationsdelarna måste fortfarande omprogrammeras för varje datormiljö. På en annan avdelning på UDAC utvecklades därför en portabel skärmhanterare, UDAC Screen, som också inlemmades i Mimer-familjen.

För att lättare kunna marknadsföra de olika modulerna i Mimer-familjen skedde ett namnbyte 1982:

MAMI – Mimer/DB
Miman – Mimer/QL
Midam – Mimer/PG
UDAC Screen – Mimer/SH

Frågespråkmodulen kallades ”QL” på grund av att man hade valt att implementera ett av de mest använda internationella frågespråken QUEL.

Ett stort genombrott skedde på Very Large Databases, en världskongressen för databasforskare i Rio de Janeiro år 1979 där relationsdatabaser var huvudämnet. UDAC var representerat genom Åke Persson. En av presentationerna beskrev en helt ny transaktionshanteringsmetod, On Optimistic Methods for Concurrency Control, av H.T. Kung och John T. Robinson (http://www.seas.upenn.edu/~zives/cis650/papers/opt-cc.pdf). Denna metod bygger på att konflikter vid samtidig databasaccess är ovanliga även i hårt belastade transaktionssystem. Istället för att pessimiskt låsa databasresurser vid varje databasacess så hanterar ett Optimistic Concurrency Control-baserat system konflikter när de uppstår. Detta gör systemet både mer effektivt och lättanvänt.

På förslag av Åke Persson utvecklades en ny version av Mimer i vilken den nya transaktionshanteringsmetoden implementerades. Det blev en jätteframgång! Ingen av konkurrenterna på databasproduktområdet kom i närheten av Mimers prestanda.

Även Mimers frågespråksmodul fick en betydande förändring. Det av IBM utvecklade frågespråket SQL hade som enda frågespråk blivit föremål för en internationell standardiseringsprocess. Detta innebar att Mimer fick byta ut QUEL mot SQL.

Båda dessa förändringar lade grunden till att produkten MIMER SQL även 2012 är världens mest avancerade ”relational database management system”. Det är det enda systemet som bygger på optimistic concurrency control. MIMER SQL finns tillgänglig för Microsoft Windows, Mac OS X, Linux, Android, Symbian OS, Unix, VxWorks and OpenVMS.[1]

Mimer tillhörde UDAC fram till 1984 då det övergick till ett nystartat separat bolag, Mimer Information Systems, med Sven G. Johansson från UDAC som chef. Företaget har fortfarande sitt huvudkontor i Uppsala, nu med namnet Mimer Information Technology, varifrån all utveckling och internationell marknadsföring och försäljning hanteras.

Exempel på Mimer-produkter finns i avsnittet ”Mimertillämpningar”.

Av Stefan Eck, Mimer SQL Marketing