Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Emner
  • Opret bruger
  • Log ind
Se kommentarer (15)
Emner Open source, Java, Databaser

Open source-database overhaler MySQL med faktor 100

100 gange hurtigere transaktioner end Mysql, 13 gange hurtigere end NoSQL-favoritten Cassandra og 45 gange hurtigere end Oracle. Det er ydelsen, som spritnye Voltdb kan byde på.

Af Tania Andersen Mandag, 5. juli 2010 - 16:01

Med bestemte begrænsninger er det ikke noget problem at slå alverdens databaser målt på transaktioner. I hvert fald ikke, når databasens ophavsmand hedder Michael Stonebraker og tidligere har haft en finger med i spillet om Ingres, Postgres, Vertica og meget mere.

Michael Stonebraker, som til daglig er professor på MIT, har bygget databasen Voltdb oven på en tidligere udviklet forskningsdatabase H-store, som han selv har udviklet sammen med forskere fra en række andre universiteter. Dertil kommer et grænsefladelag skrevet i Java.

Ifølge ophavsmanden selv kan Voltdb klare transaktioner væsentligt hurtigere end mange andre databaser: 100 gange hurtigere end Mysql, 13 gange hurtigere end NoSQL-favoritten Cassandra og 45 gange hurtigere end Oracle.

Det hemmelige trick består først og fremmest i at placere hele databasen i hukommelsen. Det er ikke det store problem med billig RAM og 64-bit styresystemer, mener Michael Stonebraker. De fleste databaser er nemlig ikke oppe i Facebook- og Google-størrelse.

Voltdb har en SQL-grænseflade og understøtter ACID-kravene, som består i, at transaktionen udføres helt eller slet ikke, men aldrig delvis, at systemet er altid i en konsistent tilstand, at transaktioner foregår isoleret fra omverdenen, samt at transaktioner ikke kan gå tabt på grund af systemnedbrud (på engelsk atomicity, consistency, isolation og durability).

SQL-grænsefladen benyttes via stored procedures, som skrives i Java. Voltdb kommer ikke med nogen gængs databaserdriver, så som ODBC eller JDBC. Sådanne drivere er nemlig alt for langsomme, mener Michael Stonebraker.

SQL i sig selv er ikke rigtigt en flaskehals, lyder en anden af hans pointer. Men hvis man alligevel hellere vil have en nøgle-baseret database, som det kendes fra NoSQL-verden, er det nemt at få Voltdb til at opføre sig på den facon.

Hans database er heller ikke god til analytisk arbejde, men det er muligt at sende transaktionerne videre til et datavarehus i et særskilt system.

Voltdb er open source under GNU-licensen og kan afvikles på de fleste Unix-agtige systemer, herunder Linux og Mac. Den findes også i kommerciel aftapning med support-muligheder.

Send Tweet
Udskriv

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Java backend-udvikler søges til freelance-opgave
Udgivet 11. jan 11.00
Java udviklere – Web-frontend
Udgivet 16. jun 2011 14.21
Java J2EE udvikler ( J2EE )
Udgivet 23. nov 2011 13.43
IT Security Specialist
Udgivet 20. jan 9.45

Kommentarer (15)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Ida Jacobsen 5. jul. 2010 - 16.23
 
Eksterne links?

Er der monstro nogle eksterne links til denne interessante nyhed?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Mads Bendixen 5. jul. 2010 - 16.44
 
Re: Eksterne links?
SQL i sig selv er ikke rigtigt en flaskehals, lyder en anden af hans pointer. Men hvis man alligevel hellere vil have en nøgle-baseret database, som det kendes fra NoSQL-verden, er det nemt at få Voltdb til at opføre sig på den facon.

"hans pointer" linker til:
http://voltdb.com/_pdf/VoltDB-MikeStonebraker-SQLMythsWebinar-060310.pdf

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jacob Christian Munch-Andersen 5. jul. 2010 - 18.53
 
Databaser, hastighed og SQL.

Rigtig godt at se, det har i lang tid irriteret mig at se hvor langsomt praktisk talt alle databaser kører, samt en 'sådan er det bare' accept fra de fleste udviklere.

Jeg vil lige præcisere omkring SQL. Hvor langsomt det er kommer primært an på hvilke features man vælger at benytte. Hvis man bruger en 'gammeldags' query streng vil der altid være et overhead i forbindelse med at få den omsat til kode, relativt til udførslen af en simpel forespørgsel er det et stort overhead. Men det kan blive meget værre når man hiver fat i de komplicerede features som fx joints og nestede queries. (At hitte ud af hvor galt eksakt det går er en kompliceret affærer som afhænger af hvordan disse features bliver brugt, og hvor god databasen er til at optimere den genererede kode.)

I Voltdb kan en simpel SQL sætning kompileres helt væk så der basalt set ikke er nogen spor af SQL i den kode som rent faktisk bliver kørt, men jeg går ud fra at det også er muligt at skrive kode som ikke tager turen lige så pænt.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jonas Finnemann Jensen 5. jul. 2010 - 18.59
 
GNU-licensen ?

Ved godt det er off-topic, men GNU er ikke en licens, ifølge [1]:

GNU was launched in 1984 to develop a complete Unix-like operating system which is free software— software which respects your freedom.

For de interesserede er VoltDB, ifølge [2], frigivet under GNU GPLv3.

Derudover ved ikke lige hvad jeg skal mene om oversættelsen "Unix-agtige". For min skyld behøver man ikke oversætte Unix-like, men okay...

[1] http://www.gnu.org/
[2] http://en.wikipedia.org/wiki/VoltDB

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Danny Thomsen 5. jul. 2010 - 19.32
 
Hurtigere end Oracle?

Mig bekendt må man da ikke lave benchmarks på Oracles DB og sammenligne den med andre...?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Niels Dybdahl 5. jul. 2010 - 20.46
 
Re: Hurtigere end Oracle?
Mig bekendt må man da ikke lave benchmarks på Oracles DB og sammenligne den med andre...?

Gælder det ikke kun dem som kan læse engelsk?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Danny Thomsen 5. jul. 2010 - 21.23
 
Re: Hurtigere end Oracle?

Tror nu deres advokater er ligeglade.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Flemming G. Jensen 5. jul. 2010 - 21.48
 
Hvilket hemmeligt trick?

"Det hemmelige trick består først og fremmest i at placere hele databasen i hukommelsen. Det er ikke det store problem med billig RAM og 64-bit styresystemer, mener Michael Stonebraker"

MySQL, Oracle og sikkert også alle andre relationelle databaser har da kunnet det samme trick i årevis, nemlig at implementere data i forskellige former for RAM baserede caches i årevis, hvis vi taler om read transaktioner. Hvis Mr. Stonebraker taler om inserts eller updates, så lyder det besynderligt at sammenligne ustrukturede data i NoSQL med strukturede data i relationelle databaser.

Det er et ret gammelt trick fra leverandører at påstå netop deres produkt er ca. 101,45% hurtigere end alle konkurrenternes. Den type målinger sammenligner imidlertid altid æbler med pærer og kan i sidste ende ikke bruges til andet end reklamer og artikler i agurketiden.

Hvis man vil "bevise" at et statement kører rigtigt langsomt i MySQL eller Oracle, så skal man såmen blot sørge for at det bliver hard parset hver gang det bliver eksekveret.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Hans Schou 5. jul. 2010 - 22.26
 
postgresql PGOPTS -F

Hvis man slår fsync(2) fra med Postgresql, så får man også bedre skrivehastighed. Ulempen er at man kan miste hele databasen ved system-crash. I mange sammenhænge kan det være helt fint at gøre det, specielt hvis input til databasen er maskin-genereret og kan reproduceres. Så bliver der lige enkelt gang om året eller så, hvor databasen skal genopbygges, og har man så valgt at leve med. Når man kun har data i RAM, så bruger man heller ikke fsync().

Der findes alle mulige slags data, og de skal behandles forskelligt. Nogen mener de har behov for Oracle, andre at de kan nøjes med MySQL - dem om det.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Martin Bøgelund 6. jul. 2010 - 08.37
 
In-memory databaser er lidt varmt for tiden

Bl.a. SAP ser på at lægge deres data i en in-memory database:
http://www.zdnet.com/blog/btl/sap-plots-in-memory-database-pilots-analyt...

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Martin August Pedersen 6. jul. 2010 - 09.53
 
SolidDB

Evt. bruge SolidDB?

http://www-01.ibm.com/software/data/soliddb/

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Ida Jacobsen 6. jul. 2010 - 10.47
 
Re: Eksterne links?

Tak for det

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Uffe Kousgaard 6. jul. 2010 - 12.53
 
Re: Databaser, hastighed og SQL.
Men det kan blive meget værre når man hiver fat i de komplicerede features som fx joints og nestede queries.

"Joints" må vist være én af de mere sjældne features. Er det når beregningerne er så komplicerede, at pc'en begynder at ryge? :-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Rasmus Schultz 6. jul. 2010 - 15.49
 
Re: Hvilket hemmeligt trick?

Der findes en memory driver til MySQL, der bruger nøjagtig samme strategi - den holder hele databasen i hukommelsen.

Memory-baserede databaser er jo mægtig fint, hvis man ikke har noget i databasen man skal bruge, og ikke har noget andet at bruge 4 GB RAM til ;-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Kristian Larsen 6. jul. 2010 - 16.56
 
Re: Hvilket hemmeligt trick?

Huh?

Som jeg læser det er VoltDB stadig ACID og re-etablering sker via replica.
Og som det nævnes, hvis alle binære data ikke bliver proppet i databasen så er det altså MEGET få databaser som kommer op i 1TB størrelse.

Jeg skal lige have læst lidt mere på det fordi jeg kan se nogle backup/restore problemer - samt jeg kan forudse nogle problemer med at snakke med en DB hvor man selv skal lave stored procedures hele vejen for det man vil (ie. DB'en bliver hurtigt "bundled" til applikationen).

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Bornholmske betjente: Polsag kunne skære en uge af opklaringstiden

Udgivet 6. feb 16.06Opdateret 6. feb 16.06

Microsoft skrotter Startknappen i Windows 8

Udgivet 6. feb 15.46Opdateret 6. feb 15.46

Netbank-login uden NemID-papkort får høvl af it-sikkerhedschef

Udgivet 6. feb 15.05Opdateret 6. feb 17.08

Dokumentation: Se konsulenternes mange thumbs up til Polsag

Udgivet 6. feb 14.23Opdateret 6. feb 15.07

Polsag sejlede rundt uden business case i mindst 5 år

Udgivet 6. feb 12.40Opdateret 6. feb 12.40
Flere it-nyheder »
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Seneste debat

  1. Netbank-login uden NemID-papkort får høvl af it-sikkerhedschef

    30 comments.
    Last update 3 minutter 35 sekunder
    Skrevet af Henrik Krarup Lindholm
  2. Kan den næste Steve Jobs komme fra Danmark?

    15 comments.
    Last update 10 minutter 15 sekunder
    Skrevet af Carsten Jacobsen
  3. Stop SOPA, PIPA, ACTA, TPP og alle dem der kommer efter

    14 comments.
    Last update 4 timer 12 minutter
    Skrevet af Søren Bramer
  4. Mac-brugere kan ikke kryptere e-mails med NemID uden at bryde brugerbetingelserne

    26 comments.
    Last update 4 timer 58 minutter
    Skrevet af Benny Allan Andersen
  5. XBMC på fit-PC3

    2 comments.
    Last update 5 timer 51 minutter
    Skrevet af Peter Toft
  6. Seks rådgiverfirmaer var for få til at redde Polsag

    15 comments.
    Last update 6 timer 24 minutter
    Skrevet af Finn Christensen
  7. Microsoft skrotter Startknappen i Windows 8

    9 comments.
    Last update 6 timer 58 minutter
    Skrevet af Michael Olesen
  8. Video-afspilning med fit-PC3

    9 comments.
    Last update 7 timer 19 minutter
    Skrevet af Peter Toft
Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Digitaliseringsstyrelsen
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300