Pebbles DB: Building Key-Value Stores using Fragmented Log- - - PowerPoint PPT Presentation

pebbles db building key value
SMART_READER_LITE
LIVE PREVIEW

Pebbles DB: Building Key-Value Stores using Fragmented Log- - - PowerPoint PPT Presentation

Pebbles DB: Building Key-Value Stores using Fragmented Log- Structured Merge Trees(II) Peter Sassaman Overview Sentinel Guards Guard Selection (MurmurHash) SSTables High Levels in memory (1) FLSM can be viewed


slide-1
SLIDE 1

Pebbles DB: Building Key-Value Stores using Fragmented Log- Structured Merge Trees(II)

Peter Sassaman

slide-2
SLIDE 2

Overview

  • Sentinel
  • Guards
  • Guard Selection (MurmurHash)
  • SSTables
  • High Levels in memory
slide-3
SLIDE 3

(1) “FLSM can be viewed as a generalization of the LSM data structure.”. Please explain this statement.

slide-4
SLIDE 4

(2)“New sstables are simply added to the correct guard in the next level. There are two exceptions to the no-rewrite rule”. Describe these two exception compaction scenarios.

Level 4 Level 5

1,2 1,2

Level 3 Level 4 Level 5

1,2 1,2 1,2 An SSTAble An SSTAble Guard on this level almost full

slide-5
SLIDE 5

(3)“deleting a guard will involve a significant amount of compaction work” Please describe the

  • perations involved in a guard deletion.
  • At Compaction
  • add to in-memory set
  • SS Tables are Either appended to neighbor guard in same level or

child guards in next level.

  • Keep metadata
  • If needed delete at levels > i
  • delete levels < i
slide-6
SLIDE 6

(4) Describe how a range query is served.

Query: Get 2- 5

slide-7
SLIDE 7

(4) Describe how a range query is served.

Query Get 2 - 5

  • 1. Guard: 1,5
slide-8
SLIDE 8

(4) Describe how a range query is served.

Get 2 - 5

  • 1. Guard: 1,5
  • 2. 2. Binary

2

slide-9
SLIDE 9

(4) Describe how a range query is served.

Get 2 - 5

  • 1. Guard: 1,5
  • 2. Binary
  • 3. 3. Merge

2,3

slide-10
SLIDE 10

(4) Describe how a range query is served.

Get 2 - 5

  • 1. Guard: 1,5
  • 2. Binary
  • 3. Merge
  • 4. End

2,3,5

End of Query

slide-11
SLIDE 11

(5) “In Workload F, all writes are read-modify-writes: the workload does a get() before every put() operation. As a result, the full write throughput of PebblesDb is not utilized, resulting in performance similar to that of other key-value stores.” Explain why for this workload PebbleDB has similar performance.

slide-12
SLIDE 12

Images From

  • http://www.cs.utexas.edu/~vijay/papers/sosp17-pebblesdb.pdf
  • https://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/LSM_

Tree.png/1200px-LSM_Tree.png