Transcription
c.
OldOLTP RememberhowweusedtobuyairplaneHcketsinthe1980s Bytelephone ) Commerceatthespeedoftheintermediary rediblestretchgoal!!!! HPTS(1985)VoltDB2
HowhasOLTPChangedin25Years?Theinternet Clientisnolongeraprofessionalterminaloperator InsteadAuntMarthaisusingthewebherself SendsvolumethroughtheroofVoltDB3
HowhasOLTPChangedin25Years?PDAsandsensors YourcellphoneisatransacHonoriginator Everythingisbeinggeo- ‐posiHonedbysensors(marathonrunners,yourcar, .) SendsvolumethroughtheroofVoltDB4
HowhasOLTPChangedin25Years?ThedefiniHons — Theoncomingdatatsunamiiso endeviceandsystem- ‐generated transacHon— High- ‐throughputACIDwriteoperaHonsareanewrequirement rementsVoltDB5
ExamplesMaintainthestateofmulH- usiondetecHonRiskmanagementonWallStreetVoltDB6
drespondinreal- ‐HmeYouo enneedreal- ‐HmeanalyHcsVoltDBVoltDB777
SoluHonChoices OldSQL LegacyRDBMSvendors NoSQL GiveupSQLandACIDforperformance NewSQL PreserveSQLandACID GetperformancefromanewarchitectureVoltDB8
OldSQLTradiHonalSQLvendors(the“elephants”) CodelinesdaHngfromthe1980’s “bloatware” Notverygoodatanything— almarketIknowof MediocreperformanceonNewOLTP— Atlowvelocityitdoesn’tmaeer— OtherwiseyougettotearyourhairoutVoltDB9
DBMSLandscapeOther appsDBMSappsData WarehouseVoltDBOLTP10
DBMSLandscape–PerformanceNeedsOther appshighlowhighData WarehouseVoltDBhighOLTP11
OneSizeDoesNotFitAll- ‐- ‐PictoriallyElephants only get“the crevices”NoSQLArrayDBMSsOpensourceVoltDBColumn storesLow-overheadHadoopMain memory DBs12
RealityCheck TPC- ‐CCPUcycles OntheShoreDBMSprototype ElephantsshouldbesimilarVoltDB13
TheElephants AreslowbecausetheyspendalloftheirHmeonoverhead!!! Notonusefulwork Wouldhavetore- ‐architecttheirlegacycodetodobeeerVoltDB14
ToGoaLotFasterYouHaveto Focusonoverhead BeeerB- ‐treesaffectsonly4%ofthepathlength GetridofALLmajorsourcesofoverhead Mainmemorydeployment–getsridofbufferpool— Leavingother75%ofoverheadintact— i.e.winis25%VoltDB15
LongTermElephantOutlook Upagainst“ TheInnovatorsDilemma” Steamshovelexample Diskdriveexample SeethebookbyClaytonChristensonformoredetails Longtermdriintothesunset Themostlikelyscenario UnlesstheycansolvethedilemmaVoltDB16
NoSQL GiveupSQL GiveupACIDVoltDB17
GiveUpSQL? wleveloperaHons pplicaHon 30yearsofRDBMSexperience Hardtobeatthecompiler e, ) Storedproceduresaregood!— perrecord— Movethecodetothedata,nottheotherwayaroundVoltDB18
GiveUpACID ryourhairoutbydoingdatabase“heavyli ing”inusercode Canyouguaranteeyouwon’tneedACIDtomorrow?ACID goodness, in spite of what these guys sayVoltDB19
WhoNeedsACID? Fundstransfer OranybodymovingsomethingfromXtoY Anybodywithintegrityconstraints Backoutiffails ceptableoutcome AnybodywithamulH- ‐recordstate E.g.moveandshootVoltDB20
WhoneedsACIDinreplicaHon Anybodywithnon- ‐commutaHveupdates Forexample, and*don’tcommute Anybodywithintegrityconstraints Can’tsellthelastitemtwice . 21
NoSQLSummary Appropriatefornon- ‐transacHonalsystems aHve NotagoodfitforNewOLTP UsetherighttoolforthejobInteres5ng Tworecently- reamazinglysimilarto(youguessedit!)SQLVoltDB22
NewSQL SQL ACID PerformanceandscalabilitythroughmoderninnovaHveso warearchitectureVoltDB23
NewSQL g(1stbigsourceofoverhead) Hmestamporder MVCC YourgoodideagoeshereVoltDB24
NewSQL verhead) Mainmemory(atleastfordatathatisnotcold) SomeotherwaytoreducebufferpoolcostVoltDB25
NewSQL bigsourceofoverhead) SomeinnovaHveuseofB- ‐trees Single- ‐threading YourgoodideagoeshereVoltDB26
NewSQL NeedsasoluHontowrite- ‐aheadlogging(4thbigsourceofoverhead) Obviousanswerisbuilt- ‐inreplicaHonandfailover NewOLTPviewsthisasarequirementanyway Somedetails On- ‐linefailover? On- ‐linefailback? LANnetworkparHHoning? WANnetworkparHHoning?VoltDB27
ANewSQLExample–VoltDB Main- ‐memorystorage Singlethreaded,runXactstocompleHon Nolocking Nolatching Built- ‐inHAanddurability Nolog(inthetradiHonalsense)VoltDB28
Yabut:WhatAboutMulHcore? ForAK- s i.e.convertmulH- ‐coretoKsinglecoresVoltDB29
WherealltheHmegoes revisitedBeforeVoltDBVoltDB30
CurrentVoltDBStatus RunsasubsetofSQL(whichisgetnglarger) OnVoltDBclusters(inmemoryoncommoditygear) NoWANsupportyet Workingonitrightnow 50XapopularOldSQLDBMSonTPC- ‐C 5- ‐7XCassandraonVoltDBK- ‐Vlayer Scalesto384cores(biggestironwecouldgetourhandson) Clearlynotethisisanopensourcesystem!VoltDB31
SummaryOldOLTPNewOLTPOldSQLforNewOLTP Tooslow DoesnotscaleNoSQLforNewOLTP Lacksconsistencyguarantees Low- ‐levelinterfaceNewSQLforNewOLTP Fast,scalableandconsistent SupportsSQLVoltDB32
theNewSQLdatabaseyou’llneveroutgrowThankYou
the NewSQL database you'll never outgrow OldSQL'vs.'NoSQL'vs.'NewSQL' onNew'OLTP' Michael Stonebraker, CTO VoltDB, Inc.