DF2010 Livet på servicedesken - Prosa
DF2010 Livet på servicedesken - Prosa
DF2010 Livet på servicedesken - Prosa
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Traditionel transaktionsorienteret database<br />
Logging 17%<br />
Latching 19%<br />
Seks nye databaser<br />
Låsning 21%<br />
en klar grænse mellem relationsdatabaser<br />
og key-value-modeller. En relationsdatabase<br />
kan nemlig godt implementeres oven <strong>på</strong> en<br />
key-value-store. Det nye i de nye databaser<br />
er, at de forsimpler ideen om, hvad en database<br />
skal kunne. Én størrelse passer nemlig<br />
ikke til alle.<br />
– En generaliseret database, der passer<br />
til alle behov, er i sagens natur sværere at<br />
optimere end en specialiseret, siger Rasmus<br />
Resen Amossen.<br />
Buffer manager 35%<br />
Brugbart<br />
arbejde<br />
8%<br />
Alle de databaser, der nævnes her, findes i open source-udgaver.<br />
Cassandra<br />
En nøgle-værdi-database (key-value-store) uden SQL, oprindeligt<br />
udviklet af Facebook til at håndtere søgning i brugerens indboks.<br />
Cassandra er et klyngesystem, hvor alle noder efter et vist<br />
stykke tid er i en konsistent tilstand, altså indeholder samme<br />
data. Alle klyngens noder er identiske. Skrevet i Java.<br />
MongoDB<br />
Også en nøgle-værdi-database uden SQL, men værdierne kan<br />
være strukturerede som dokumenter i JSON-formatet. MongoDB<br />
gemmer data i hukommelsen og skal udrulles i en master-slavekonfiguration<br />
for at sikre, at data ikke forsvinder ud i det blå ved<br />
nedbrud. Skrevet i C++ med drivere til mange andre miljøer.<br />
VoltDB<br />
En ny database skabt af MIT-professoren Michael Stonebraker,<br />
som tidligere har haft en finger med i spillet om SQL-databaserne<br />
Ingres, Postgres og kolonne-databasen Vertica. VoltDB<br />
adskiller sig fra de andre databaser i den nye generation ved at<br />
Facebook benytter sin egen hjemmelavede<br />
key-value-database Cassandra.<br />
– Facebook er så kæmpestort, og de skal<br />
håndtere en mega-belastning, så hvert<br />
millisekund tæller. Der er uhensigtsmæssigheder<br />
i de gamle paradigmer, og hvis<br />
Facebooks arbejdsbelastning bruger, hvad<br />
man kan finde i en key-value-store, så er<br />
det jo fint.<br />
En anden ny type database, som Rasmus<br />
Resen Amossen synes flere danskere skulle<br />
VoltDB<br />
Overhead 5%<br />
Brugbart arbejde 95%<br />
Databaser<br />
Ved at fjerne en række af funktionerne i de klassiske databaseparadigmer<br />
kan VoltDB opnå en væsentlig forbedring af ydelsen.<br />
Kilde: VoltDB.<br />
kigge <strong>på</strong>, er kolonnedatabaser, som er skabt<br />
til analytiske opgaver. Ved at gemme data i<br />
kolonner i stedet for i rækker er det meget<br />
nemmere at udføre såkaldte aggregeringer,<br />
som for eksempel at finde summen af alle<br />
tal i en kolonne.<br />
– Du kan ofte opnå en kæmpe faktor i<br />
speedup ved at flytte data over i kolonnedatabaser,<br />
hvis dit workload er analytisk.<br />
Det er derfor lidt ærgerligt, at mange ikke<br />
kender til de her systemer.<br />
benytte klassiske tabeller og SQL. VoltDB kan ifølge sine egne<br />
benchmarks slå stort set alle andre databaser af banen, målt i<br />
transaktioner per tid. Ligesom MongoDB sker det ved at håndtere<br />
alle data i hukommelsen samt at skære unødvendige funktioner<br />
væk og undgå JDBC- og ODBC-drivere. Søgninger udføres<br />
via stored procedures, som skrives i Java. Bygger <strong>på</strong> Java og C++.<br />
CouchDB<br />
Minder meget om MongoDB ved at være dokumentorienteret<br />
med JSON og uden SQL, men benytter disk som lager og er skrevet<br />
til at køre <strong>på</strong> en klynge af almindelige pc’er. Skrevet i Erlang.<br />
Værdier i CouchDB kan tilgås med en URL.<br />
Redis<br />
Kalder ikke sig selv for en database, men benytter i stedet den<br />
mere ydmyge betegnelse ’datastore’. Benytter også nøgle-værdi-modellen,<br />
hvor værdier kan være strenge samt forskellige<br />
strukturerede mængder af strenge, såsom lister, hashmaps osv.<br />
Skrevet i C.<br />
MonetDB<br />
Er en kolonne-orienteret database med blikket rettet mod meget<br />
store analytiske opgaver.<br />
<strong>Prosa</strong>bladet · 11 · 2010 27