Det har funnits utmanare till relationsdatabasen. Några av dem, bland annat objektdatabasen, försvann snart ut i periferin igen. Några lyckades hitta en nisch, framför allt på datalagersidan har flera nyheter tagits emot med öppna armar.
Den stadiga tillväxten av datatrafik har dock lett till nya behov. Det finns många som tror att dagens databashanterare inte är rätt vapen för att tackla alla de nya problemen.
Semantiska lån
Ett alternativ är en databashanterare som bygger på den associativa modellen. Genom att hämta idéer från snarlika koncept, bland annat tankar från semantiska databaser och så kallade topic maps, har Simon Williams, grundare av företaget Lazysoft, byggt en lösning som kan överbrygga flera av de problem som dagens relationsdatabaser har.
Simon Williams har siktat in sig på den brist på flexibilitet han ser i traditionell relationsmodellering. Ett exempel är den strikta tabellstruktur som gör att varje ny tillämpning i princip måste rita om kartan, eftersom den sannolikt inte passar med befintliga strukturer. Av samma anledning är det svårt att slå ihop två datamängder med varandra. Information lagras i regel inte på samma sätt.
Dynamisk lagringsyta
Ytterligare en konsekvens av den strikta modellen är att det är svårt att anpassa en produkt till en given kund. Specialbehov kräver ofta stora ingrepp och utvecklarna försöker fånga upp alla tänkbara möjligheter med parameterstyrning.
Den associativa modellen bygger på en tredelad struktur, enligt formen subjekt-verb-objekt. Några exempel är ”TechWorld-är-en Tidning”, ”Kund-köper-Tidning” eller ”Nisse-har-100 kronor”. Ambitionen är att försöka använda ett språk som känns naturligt för att beskriva förhållanden och fakta.
I modellen skiljer man på entiteter och associationer. Det förstnämnda är saker och ting som finns representerade i den verkliga världen, exempelvis en person eller en tidning. Roller de kan ta, till exempel som kund och leverantör, hör till den andra gruppen.
Stora möjligheter
Metadata lagras tillsammans med övrig information i databasen. Att kunder köper tidningar är ett exempel på detta, medan Nisses penningstyrka är ett exempel på vanlig datainmatning.
Tjusningen är att det är enkelt att bygga vidare på en befintlig struktur. Ska kunder också kunna köpa böcker är det bara att definiera. Befintliga data eller kopplade strukturer påverkas inte.
Det är också möjligt att bygga relativt avancerade regelverk för enskilda värden i databasen. Om en ny kund kräver kreditspärr är det bara att lägga till en regel för just dem. Det kan göras helt utan att justera kod, det räcker med en metadatainmatning.

Sökmotorn utmanar. Kanske blir det sök som tar över efter relationen. Fördelen med sökmotorn är att data inte behöver organiseras och att användaren kan nå olika typer av informationskällor.
Inga tomma utrymmen
En annan, mindre fördel är att man inte behöver lagra tomrum. I relationsmodellen är det vanligt med tabellkolumner som inte innehåller data för en stor del av raderna. Det försvinner helt med den associativa modellen. Jämfört med vissa databashanterare kan det spara utrymme, men det ger framför allt en renare lösning.
I implementationen lagras alla värden, eller items, i en lång lista tillsammans med en syntetisk nyckel. De knyts ihop med länkar. Det räcker med ett fåtal strukturer för att lagra all tänkbar information.
Hela modellen ryms i ett par tabeller. En som innehåller alla datapunkter, items, och en som lagrar relationerna, links. Att försöka bygga detta i en traditionell databasmotor är i de flesta fall en dålig idé. Resultatet skulle bli ett program med långa svarstider.
Att den associativa modellen ännu inte har fått något genomslag har flera olika orsaker. En är att den skapades som ett kommersiellt projekt i stället för att utvecklas till en vanlig standard. Det innebär att det i dag bara finns en enda implementation tillgänglig, Javabaserade Sentences. Koden till den kan dock vara på väg att släppas helt fri, något som skulle kunna leda till flera förbättringar och kloner i andra språk.
Det magiska gränssnittet
Metadataspråket extended markup language, xml, har fått mycket uppmärksamhet. Ursprungligen utvecklades det för att göra det enkelt att flytta information mellan olika system. Det sågs som ett migrationsverktyg och en ersättning till exempelvis edi.
I takt med att frekvensen på informationsskick ökade började allt fler fundera på varför man inte också skulle kunna lagra data i formatet och på så sätt slippa mellansteget med konverteringar. Databashanterare fokuserade på xml har anammats av användare i alla led.
Lösningen bygger på taggar som byggs upp i en hierarkisk struktur. Genom att knyta ihop delar av metadata med det faktiska innehållet blir det enkelt att snabbt tolka strukturen. Strukturen styrs upp med så kallade scheman, som finns i olika varianter.
Xml är inte något idealiskt språk för att lagra information. Det blir en massiv redundans, eftersom man lagrar metadata för varje given datamängd. Mer avancerade sökningar kan också bli trögare än motsvarande operation i ett traditionellt relationssystem.

Både källa och mål. Så här ser den associativa modellen ut ur ett relationellt perspektiv.
Notera hur samma objekt, TW, kan agera både källa och mål i olika sammanhang.
Bärare av populära data
I grund och botten är det möjligheten att enkelt sprida och ta emot data som är nyckeln. Därför är det inte konstigt att webbaserade lösningar passar bra för tekniken. Den semantiska webben är ett bra exempel på detta.
”Med xml blir det mindre risk för fel och enklare att transportera data.”
Företag använder också tekniken internt. Även om information inte lämnar företaget hör det till vanligheterna att den sprids mellan olika interna system. Genom att använda xml blir det mindre risk för fel och enklare att transportera data.
Det stora intresset för den nya modellen har gjort att det i dag finns en lång rad databashanterare som enbart jobbar med xml-formatet.
Kaos den bästa ordningen
Den vassaste utmanaren till relationsmodellen kan dyka upp från ett något oväntat håll. I stället för en smartare struktur kan det visa sig att oorganiserat är lösningen. Det kan därför bli sökmotorerna som erbjuder en riktig revolution på datahanteringsområdet.
Enligt analytikerna på IDC skapades det inte mindre än 281 exabyte data på jorden under 2007. Inom bara ett par år kommer siffran att ha ökat till det tiodubbla. Tyvärr är en väldigt stor andel av informationen inte ordnad.
Oavsett form vill användare komma åt all information. Att det man vill åt ligger i ett Officedokument, ett blogginlägg eller kanske som en ljud- eller bildfil spelar ingen roll för mottagaren. Att försöka organisera data och lagra i traditionella relationsdatabaser är i regel alltför omständligt. Det är här sökmotorerna kan erbjuda ett bättre alternativ.
Ännu i sin linda
Lösningarna skiljer sig åt, men i grund och botten bygger de på en form av effektiv indexhantering och avancerade analysverktyg. Lösningarna gör att det går oerhört snabbt att leverera ett svar till slutanvändaren och i regel har de inga problem att skala till oerhörda datamängder.
Träffsäkerheten är långt ifrån perfekt och det är svårt för maskiner att sålla bort strunt, men tekniken utvecklas i en rasande fart. Dessutom fungerar det betydligt bättre på mer kontrollerade källor, exempelvis lokala företagsnät.
”Smartare algoritmer gör att programmen förstår vad användaren söker efter.”
Det är när tekniken blir bättre som det kan bli riktigt intressant. Smartare algoritmer och olika sätt att träna programmen gör att de börjar förstå vad det är användarna söker efter. Om all information man önskar kan plockas fram med ett generiskt verktyg, oavsett hur den lagras, är frågan om det behövs någon förutbestämd struktur.
Det som ska utveckla produkterna är olika former av analysverktyg. Ambitionen är att de ska lyckas få programmet att förstå innehållet i de många dokument som har lästs in och hur de hör ihop. Då behöver inte slutanvändaren söka på exakt rätt begrepp för att få korrekta svar.
Ett användningsområde där tekniken har börjat dyka upp är datalager. De avancerade metoderna för kvalitetssäkring genom textanalys och förmågan att knyta ihop källor gör att det är ett verktyg som passar många projekt.
Bara att mata in i rutan
Det är inte omöjligt att tänka sig en enklare affärslösning helt baserad på dokument skapade i kontorsprogram. Slutanvändaren behöver inte veta någonting om hur något lagras. Önskas alla data om ett företag är det bara att mata in det i en sökruta. Motorn ser sedan till att leta upp, gruppera och presentera fakturor, avtal, anteckningar och annan information som är relaterad till kunden. Med lite enkel metataggning inne i centrala dokument skulle det till och med vara möjligt att hantera siffror och ekonomi.
På kort sikt är det osannolikt att sökteknik på allvar kan konkurrera med lösningar som bygger på organiserade data. Men om ett antal år kan det se helt annorlunda ut. Då kanske vi har teknik som är bra nog för att göra många av dagens strukturerade lösningar redundanta.
Fler alternativ på gång
Givetvis är dessa tre alternativ bara en bråkdel av allt som är på gång på marknaden. I bakgrunden finns flera andra databasvarianter och trender. Och det är troligt att nya tankebanor dyker upp i takt med att problemen blir större.
Oavsett hur bra alternativen är kommer dock inte relationsmodellen att försvinna inom överskådlig framtid. Alltför många produktbolag, experter och företag har investerat enorma summor i tekniken.
Kanske visar det sig att relationsdataexperten Chris Date hade rätt. Relationsmodellen är helt enkelt det bästa sättet att lagra data på och det betyder att vi har 40 nya år av dominans att se fram emot.
Illustration & grafik: Jonas Englund
» Läs mer om databaser på vår specialsida!
» Läs mer om lagring på vår specialsida!
- Datalager. Ett system där man lagrar och bearbetar historiska data för statistikuttag.
- EDI. Electronic data interchange, ett antal standarder för att flytta data mellan olika system.
- Edgar Codd. Mannen som beskrev relationsmodellen i ”A relational model of data for large shared data banks”.
- Exabyte. Betyder 1024^6. Exa är det prefix som kommer efter peta. Utskrivet är talet hela 19 siffror långt.
- Index. En struktur som fungerar likt ett innehållsregister i exempelvis en vanlig produktkatalog. Gör att databasmotorn snabbt hittar rätt.
- Metadata. Den informationsmängd som beskriver den interna strukturen för hur övriga data hänger ihop.
- Saas. Software as a service, en lösning där man säljer program som en webbaserad tjänst och tar betalt för användningen.
- W3C. World Wide Web Consortium, en internationell standardiseringsenhet som bland annat står bakom html. Läs mer på www.w3.org.