Ola Bini
Ola Bini skriver om databaser och vad man ska välja.

En av de viktigaste uppgifterna för att bygga ett system är att organisera data. Det är inte alltid så lätt – det finns många sätt att göra misstag, och exakt vilken väg man bör välja beror till stor del på hur data ska användas. Så vad kan man göra för att underlätta?

Det absolut viktigaste designvalet du kan göra vad gäller databaser är att begränsa vilka som kan använda den. Man bör aldrig använda en databas för mer än en applikation eller ett system. Om du inte följer det rådet blir det omöjligt att förändra och utveckla databasen i framtiden, vilket gör att ditt system inte kommer att åldras särskilt väl. Finns det flera system som behöver tillgång till data, se till att det går via applikationsgränssnitt och inte via databasen.

Läs mer: Ola Bini: Strunta i ramverken

Hur man organiserar data beror till stor del på hur de ska användas. Som programmerare lär vi oss tidigt att information inte ska finnas på mer än ett ställe, och det är ett bra råd även för databaser. Men beroende på hur information ska användas kan det ibland vara värt att bryta mot det rådet för att få till snabbare frågor.

Ett problem som ofta dyker upp är att mönstren för hur information läses är väldigt olika från hur den skrivs. Det kan ibland vara värt att separera data för läsning till en annan databas med en annan struktur än den databas där system skriver information. Det finns flera varianter på detta, man kan använda transaktionsloggar eller cqrs (Command Query Request Separation) för att göra dessa typer av system mer lätthanterliga.

Läs mer: Flexibilitet eller snabb leverans avgör molnvalet

Organiserar du din databas på rätt sätt kommer den göra utvecklingen av ditt system lättare – den kommer inte att begränsa dig. Gör du fel är det viktigt att du kan ändra struktur snabbt och smidigt.