Än så länge dominerar de gamla relationsdatabaserna, eller sql-databaserna som de ofta kallas, på marknaden. Visst ökar nosql-databaser av olika typer och andra nyare lösningar i popularitet. Men de har en bra bit kvar till relationsdatabasens utbredning.

Det är främst tre saker som talar för relationsdatabasen i dag:

  • Den installerade basen. Man byter inte ut den stora mängden existerande lösningar som baseras på relationsdatabaser i en handvändning, speciellt inte som de har etablerade supportlösningar på plats.
  • Kompetens. Det finns helt enkelt fler personer tillgängliga som kan den äldre tekniken.
  • Teknisk funktionalitet som helt enkelt inte finns i de nyare lösningarna. Åtminstone så saknar de nyare alternativen den bredd av flitigt använda tekniska funktioner som finns i relationsdatabaser.

Den främsta av de tekniska fördelarna med relationsdatabaser torde vara deras hantering av transaktioner. På ren svenska innebär det att man kan lite på att information som visas är korrekt, även om den har ändrats i en process som består av många operationer och har manipulerats av många användare.

Läs också: GDPR: Här är allt du behöver veta om EU:s nya dataskyddsregler

Ett enkelt exempel på en transaktion är en överföring av pengar mellan två bankkonton. Den består av två delar: först tas pengar ut från ett konto och sedan sätts de in på ett annat. Tänk dig att uttaget görs från det första kontot och saldot i databasen för det kontot minskas. Sedan kraschar databasen innan saldot i databasen ökas för det andra kontot. Försvinner pengarna då?

En transaktion i databassammanhang innebär att antingen alla delar, eller ingen, i en sammanhängande process utförs. I vårt exempel skulle det innebära att saldot för det första kontot ökas på igen, när saldot för det andra inte kan uppdateras.

Det har varit lite si och så med transaktionshantering för till exempel nosql-databaser. Ett begrepp som florerar är ”eventual consistency”, vilket innebär att korrekt information garanteras ”så småningom”. Det finns många användningsfall när det inte duger, vår banköverföring är ett exempel på det.

Men nu ser det ut att hända grejer. MongoDB som är leverantör av den ledande nosql-databasen av dokumenttypen med samma namn meddelar att man jobbar på att införa transaktionshantering för operationer som inbegriper flera dokument. Det innebär att man ska kunna garantera att korrekt information visas för olika kopior, så kallade replicas, av en databas.

Rent tekniskt pratar man om acid-transaktioner (atomicity, consistency, isolation, durability). Det är det begrepp som används för att beskriva den här typen av hantering.

Funktionaliteten betatestas just nu. Planen är att den ska vara klar i version 4.0 av MongoDB som ska komma under sommaren.

Läs också: Kan avancerad teknik locka mindre kunder till Oracles molntjänster?

Grigori Melnik som är produktchef för MongoDB skriver i ett blogginlägg att man tror att mellan 80 och 90 procent av alla applikationer inte behöver den här typen av transaktionshantering. Men det gäller alltså antalet applikationer. Om man skulle prata om volymen affärskritiska data så skulle andelen säkerligen vara betydligt högre.

Framför allt innebär det att MongoDB blir ett bättre alternativ för många stora system, med allt vad det innebär av ökad användning av produkten.

Melnik skriver vidare att den nya transaktionshanteringen gör att MongoDB blir ett alternativ för ”de flesta applikationer”. Det återstår att se hur det kommer att fungera i praktiken. Men det är definitivt en spännande utveckling, med potential att förändra användningen av den kanske mest grundläggande mjukvara som finns. Databasen.