Det här är ett avsnitt i en webbkurs om databaser som finns fritt tillgänglig på adressen http://www.databasteknik.se/webbkursen/. Senaste ändring: 18 juli 2005.

Av Thomas Padron-McCarthy. Copyright, alla rättigheter reserverade, osv. Skicka gärna kommentarer till webbkursen@databasteknik.se.

Distribuerade databaser

En databas är en samling data som hör samman på något sätt. En distribuerad databas är en samling data som hör samman på något sätt, och där dessa data är fysiskt utspridda på flera olika datorer som är sammankopplade med ett datornät. Ett distribuerat databashanteringssystem är det program, eller system av program, som hanterar den distribuerade databasen. På engelska kallas det ibland DDBMS eller Distributed Database Management System. Motsatsen till en distribuerad databas är en "vanlig" eller "centraliserad" databas.

Vad är en distribuerad databas?

Man brukar skilja på följande olika typer av system, som alla är relaterade genom att datornät är inblandade:

Här är en bild som ska illustrera att data i en distribuerad databas är utspridda på olika ställen, och att det går att komma åt dem via datornätet:

En distribuerad databas

Fördelar och nackdelar

Fördelar med distribuerade databaser, jämfört med ett centraliserat system: Det finns också nackdelar med distribuerade databaser:

Design av distribuerade databaser

När man konstruerar en vanlig, centraliserad databas brukar man börja med att göra en konceptuell beskrivning, till exempel ett ER-diagram. Sen översätter man den konceptuella beskrivningen till den datamodell som databashanteraren använder, oftast relationsmodellen med tabeller. Till slut väljer man fysiska lagringsstrukturer.

I fallet med en distribuerad databas tillkommer ett steg till, nämligen att bestämma

Fragmentering kan göras per tabell (eller motsvarande), så att en tabell lagras helt och hållet på en viss dator. En tabell kan också delas upp och lagras på olika ställen, och då brukar man skilja mellan horisontell och vertikal fragmentering. Vid horisontell fragmentering delar man tabellen med ett eller flera "horisontella streck", och placerar hela rader på olika platser. Vid vertikal fragmentering delar man i stället upp tabellen med "vertikala streck", och placerar kolumnerna på olika ställen.

Horisontell och vertikal fragmentering

Normalt är det inte någon person som sitter och bestämmer att den här raden ska hit och den där raden ska dit, utan databashanteraren har fått en uppsättning regler som talar om hur det ska göras. De reglerna utgör ett fragmenteringsschema och samtidigt att placeringsschema. På samma sätt kan man tala om ett replikeringsschema.

Litteratur

Det finns även mer specialiserad litteratur. Här är en grundbok om distribuerade databaser:


Webbkursen om databaser av Thomas Padron-McCarthy.