18
Dremel: Interactive Analysis of Web-Scale Datasets CS 744 BIG DATA PHIL MARTINKUS

Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Dremel: Interactive Analysis of Web-Scale Datasets CS 744 BIG DATA

PHIL MARTINKUS

Page 2: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Motivation  LargeScaleDatamustbeaccessibletoanalystsandengineers

 Interactivequeriesareimportantfordataexploration,monitoring,onlinecustomersupport,rapidprototyping,debuggingofdata,andothertasks

 Manydatabasesrequireacostlyloadingphase

 Webdataisoftennon-relational

Page 3: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

The Solution: Dremel  Dremelisasystemthatsupportsinteractiveanalysisofverylargedatasetsoversharedclustersofcommoditymachines.

 HasbeeninproductionatGooglesince2006 Canoperateondatainplaceusingadistributedstoragesystem

 Usesanovelcolumnarstorageformatfornesteddata

 Providesahigh-levelSQL-likelanguageforinteractivequeries

Page 4: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Data Model  Strongly-typednestedrecords Recordsconsistofoneormorefields

 Fieldscanberequired,optionalorrepeated

Page 5: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Data Model Example  EachRecordrepresentsadocument

 RequiredDocIdfield Linksisanoptionalgroupwithtwonestedrepeatedfields.

 NameisarepeatedgroupwithanestedLanguagegroup.

Page 6: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Nested Columnar Storage  Allvaluesofafieldarestoredconsecutivelyinblocks

 Goalsforthestoragesystem:◦ Losslessrepresentationofrecordstructureincolumnarformat

◦ Fastencodings◦ Efficientrecordassembly

 Repeatedrecordsarehandledwithrepetitionanddefinitionlevels

Page 7: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Repetition Levels  Usedtodisambiguateoccurrencesofthesamefieldwithinthesamerecord

 Tellusatwhatrepeatedfieldinthefield'spaththevaluehasrepeated

Page 8: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Repetition Level Example

Page 9: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Definition Levels  Wheneveranoptionalorrepeatedfieldisnotpresentinarecord,thesystemstoresaNULL.

 Tellushowmanyfieldsinthefield'spaththatcouldbeundefined(becausetheyareoptionalorrepeated)areactuallypresentintherecord.

 MostlyusefulfordistinguishingNULLvalues.

Page 10: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Definition Level Example

Page 11: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Splitting Records into Columns  Recursivealgorithmcomputeslevelsforeachfield

 Atreeoffieldwritersmatchthestructureofthefieldschema

 ManydatasetsatGooglearesparse

Page 12: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Record Assembly  Goalistoreconstructrecordsgivenasubsetoffields

 Finitestatemachine(FSM)readsvaluesandappendstooutputrecords

 AnFSMstatecorrespondstoafieldreader

 TheFSMistraversedfromthestartstatetotheendstateforeachrecord

Page 13: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Query Language  BasedonSQL Designedforcolumnarnestedstorage

Page 14: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Query Execution  UsesaTreearchitecture Rootreceivesincomingqueries

 Intermediateserversrewritethequery

 Leafserversaccessdata Eachserverhasaninternaltreecorrespondingtoaphysicalqueryexecutionplan.

Page 15: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Query Execution Example

Queryisrewritten

Querysenttoroot

Querysenttoleafnodes

Asetofiteratorsscantheinputcolumninlockstepandemitresultswithannotatedrepetitionanddefinitionlevelswithoutactuallyassemblingtherecords

Page 16: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Query Dispatcher  Dremelisamulti-usersystemthatexecutesqueriessimultaneously

 Thequerydispatcherschedulesqueries Dealingwithstragglers◦ Disproportionallyslowprocessesarerescheduledonanotherserver◦ Aparameterspecifiestheminimumpercentageoftabletsthatmustbescannedbeforereturningaresult

Page 17: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Experiments

Page 18: Dremel: Interactive Analysis of Web-Scale Datasetspages.cs.wisc.edu/~shivaram/cs744-slides/cs744-philip-dremel.pdf · Dremel is a system that supports interactive analysis of very

Questions?