#GHC18 DROPBOX FULL- TEXT FULL SEARCH PAGE 2 | GRACE HOPPER - - PowerPoint PPT Presentation

ghc18 dropbox full text full search
SMART_READER_LITE
LIVE PREVIEW

#GHC18 DROPBOX FULL- TEXT FULL SEARCH PAGE 2 | GRACE HOPPER - - PowerPoint PPT Presentation

N A U T I L U S : L E S S O N S F R O M B U I L D I N G D R O P B O X S L A R G E S C A L E , D I S T R I B U T E D S E A R C H E N G I N E Samantha Steele | sammyst@dropbox.com #GHC18 DROPBOX FULL- TEXT FULL SEARCH PAGE 2 |


slide-1
SLIDE 1

Samantha Steele | sammyst@dropbox.com

N A U T I L U S : L E S S O N S F R O M B U I L D I N G D R O P B O X ’ S L A R G E S C A L E , D I S T R I B U T E D S E A R C H E N G I N E

#GHC18

slide-2
SLIDE 2

PAGE 2 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC 18

DROPBOX FULL- TEXT FULL SEARCH

slide-3
SLIDE 3

PAGE 3 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

REPLACING DROPBOX’S LEGACY SEARCH SYSTEM

  • Built in 2013, served Dropbox well for

many years

  • Only scaled to paid users
  • Not fmexible for fast experimentation
  • Didn’t support modern search features

(I18N Support, Snippets)

slide-4
SLIDE 4

PAGE 4 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

ELASTICSEARCH EVALUATION

15 Clusters, each composed of:

  • 5 Master hosts
  • 50 Data hosts, each running 2

ElasticSearch data nodes

  • 150 shards with 2x replication for a

total of 300 shards.

slide-5
SLIDE 5

PAGE 5 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

ELASTICSEARCH EVALUATION

Single cluster P95 Latency corresponds to p75 end to end latency

slide-6
SLIDE 6

PAGE 6 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

NAUTILUS GOALS

  • Scale to all 500 million

users

  • Low-latency, 350ms p95
  • High availability
  • Support fast

experimentation

  • Incremental fjeld updates

for metadata indexing

slide-7
SLIDE 7

PAGE 7 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

NAUTILUS ARCHITECTURE

slide-8
SLIDE 8

PAGE 8 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

NAUTILUS ENGINE

Nautilus Partitioning Document Sharing within a Partition

slide-9
SLIDE 9

PAGE 9 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

INFORMATION RETRIEVAL 101

DocID 1, Metadata: T erm Frequency = 152 Positions = 5, 12, 22… Inverted Search Index Single Posting list Entry

slide-10
SLIDE 10

PAGE 10 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

INVERTED INDEX BUILT ON ROCKSDB

slide-11
SLIDE 11

PAGE 11 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

OPTIMIZING ROCKSDB PERFORMANCE

Old Posting List Format New Exploded Posting List

slide-12
SLIDE 12

PAGE 12 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

OPTIMIZING CGO PERFORMANCE

  • C Memory != Go Memory
  • Cgoroutines != Goroutines
  • C to go calls are very

expensive

slide-13
SLIDE 13

PAGE 13 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

DEBUGGING AVAILABILITY ISSUES

# of partitions served drops as processes repeatedly OOM

slide-14
SLIDE 14

PAGE 14 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

OOM CASE STUDY 1

Inverted Search Index Classic Memory Leak profjle

slide-15
SLIDE 15

PAGE 15 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

MEMORY USAGE ON ANOTHER MACHINE

Infmection Point

slide-16
SLIDE 16

PAGE 16 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

ROOT CAUSE

slide-17
SLIDE 17

PAGE 17 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

#GHC 18

OOM CASE STUDY 2

Sudden Memory Spikes

slide-18
SLIDE 18

PAGE 18 | GRACE HOPPER CELEBRATION 2018 PRESENTED BY ANITAB.ORG AND THE ASSOCIATION FOR COMPUTING MACHINERY

#GHC18

Nautilus launched to 100% in June Steady state 99.9% availability 300ms latency p95 Coming soon: Better I18N Support, Snippets and more

CONCLUSIONS

slide-19
SLIDE 19

#GHC18

Feel free to reach out: sammyst@dropbox.com