En snak om RavenDb

Ayende Rahien aka Oren Eini er kommet for at fortælle om RavenDb her på Goto Konference.

Han fortæller at grunden til at de gik igang med at udvikle RavenDb var fordi de var trætte løse de samme trivielle problemer hver gang de tog en ny kunde. Som database optimerings eksperter havde de en lille liste af ting som de gennemgik hver gang de startede, som for eksempel hvor mange forespørgelser per page visit, for mange rækker læst i tabeller som er søgt i når man laver en forspøgelse. Og han siger at disse problemer bliver løst automatisk af RavenDb.

For mange læste rækker pr forespørgelse Det sidst er noget man kan optimere med indekse, men som mange glemmer at udnytte, det betyder at det hele virker rigtigt godt når der er fem brugere, men ikke når der er 100.000.

RavenDb løser det ved at automatisk genering af indekser, som bliver lavet “on the fly”, således at man tager et performance hit første gang man laver en ny forespørgelse og så derefter bliver indekset brugt ved gentagende forespørgelser. Bagved ligger der en slags index skraldemand (garbage collector) som sørger for at ubrugte indekser bliver slettet.

En anden ting som virker nemt i RavenDB er sharding, som betyder at man distribuere sine data i flere cluster på tværs datacentre. Det gør man nemt ved hjælp en simple opsætning (sharding er ret kompliceret, og selvom det ser nemt ud i hello-world eksemplet, skal man nok prøve lidt tungere eksempler før man burde være overtalt). Ideen er at man opretter et sharding index som man basere på den data kolonne som man vil opdele data på, some f.eks. region, så flyder data automatisk til den rigtige cluster når man indsætter data.

Der blev også introduceret mapreduce framework til at aggregere data. Det smarte ved dette framework er at det kan finde ud af at distribueret aggregeringen på tværs af clusters og så reducere igen inden det endelige resultat bliver præsenteret til forspørgeren.

RavenDB lyder bestemt som en spændende database, som man bør holde sig opdateret om. Her er en beskrivelse af den præsentation som jeg hørte: Highly Available & Scalable Solutions with RavenDB

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *