Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
[Aggarwal & Vitter ’88] 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
....
. 
. 
. 
. 
. 
. 
. 
. 
. 
[Aggarwal & Vitter ’88] 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
....
. 
. 
. 
. 
. 
. 
. 
. 
. 
[Aggarwal & Vitter ’88] 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
....
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
[Brodal & Fagerberg ’03] 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
...
. 
. 
. 
. 
. 
. 
. 
[Brodal & Fagerberg ’03] 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Wr...
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)
Upcoming SlideShare
Loading in …5
×

Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)

4,259 views

Published on

Доклад Лейфа Уолша на HighLoad++ 2014.

Published in: Internet
  • Be the first to comment

Глубокое погружение в дисковые структуры данных, B-деревья, LSM-деревья и фрактальные деревья, Leif Walsh (Tokutek)

  1. 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Leif Walsh Tokutek, Inc. leif@tokutek.com @leifwalsh November 1, 2014 Leif Walsh (Tokutek) Fractal Trees November 1, 2014 1 / 31
  2. 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Background Leif Walsh (Tokutek) Fractal Trees November 1, 2014 2 / 31
  3. 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Data structures: Leif Walsh (Tokutek) Fractal Trees November 1, 2014 3 / 31
  4. 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Data structures: Leif Walsh (Tokutek) Fractal Trees November 1, 2014 3 / 31
  5. 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Data structures: Provide retrieval of data. Lookup(Key) Pred(Key) Succ(Key) Leif Walsh (Tokutek) Fractal Trees November 1, 2014 3 / 31
  6. 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Data structures: Provide retrieval of data. Lookup(Key) Pred(Key) Succ(Key) Dynamic data structures let you change the data. Insert(Key; Value) Delete(Key) Leif Walsh (Tokutek) Fractal Trees November 1, 2014 3 / 31
  7. 7. . . . . . . . . . [Aggarwal & Vitter ’88] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures DAM model Problem size N. Memory size M. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 4 / 31
  8. 8. . . . . . . . . . [Aggarwal & Vitter ’88] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures DAM model Problem size N. Memory size M. Transfer data to/from memory in blocks of size B. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 4 / 31
  9. 9. . . . . . . . . . [Aggarwal & Vitter ’88] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures DAM model Problem size N. Memory size M. Transfer data to/from memory in blocks of size B. Efficiency of operations is measured as the number of block transfers, a.k.a. IOPS. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 4 / 31
  10. 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures A B-tree (Б-tree?) is an external memory data structure: Leif Walsh (Tokutek) Fractal Trees November 1, 2014 5 / 31
  11. 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures A B-tree (Б-tree?) is an external memory data structure: Leif Walsh (Tokutek) Fractal Trees November 1, 2014 5 / 31
  12. 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures A B-tree (Б-tree?) is an external memory data structure: Balanced search tree. Fanout of B (block size / key size). Leif Walsh (Tokutek) Fractal Trees November 1, 2014 5 / 31
  13. 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures A B-tree (Б-tree?) is an external memory data structure: Balanced search tree. Fanout of B (block size / key size). Internal nodes < M. Leaf nodes > M. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 5 / 31
  14. 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures A B-tree (Б-tree?) is an external memory data structure: Balanced search tree. Fanout of B (block size / key size). Internal nodes < M. Leaf nodes > M. Search: O(logB N) I/Os Insert: O(logB N) I/Os Leif Walsh (Tokutek) Fractal Trees November 1, 2014 5 / 31
  15. 15. . . . . . . . [Brodal & Fagerberg ’03] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Leif Walsh (Tokutek) Fractal Trees November 1, 2014 6 / 31
  16. 16. . . . . . . . [Brodal & Fagerberg ’03] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures Leif Walsh (Tokutek) Fractal Trees November 1, 2014 7 / 31
  17. 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization in external memory data structures OLAP Leif Walsh (Tokutek) Fractal Trees November 1, 2014 8 / 31
  18. 18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP OLAP: Online Analytical Processing Leif Walsh (Tokutek) Fractal Trees November 1, 2014 9 / 31
  19. 19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP OLAP: Online Analytical Processing Key idea: Analyze data collected in the past. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 9 / 31
  20. 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP OLAP: Online Analytical Processing Key idea: Analyze data collected in the past. B-tree inserts are slow, but…logging and sorting are fast. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 9 / 31
  21. 21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Merge sort: Leif Walsh (Tokutek) Fractal Trees November 1, 2014 10 / 31
  22. 22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Merge sort in external memory: Leif Walsh (Tokutek) Fractal Trees November 1, 2014 11 / 31
  23. 23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Merge sort in external memory: Merge sort cost in DAM model is: Cost to scan through all the data once. Multiplied by the # of levels in the merge tree. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 11 / 31
  24. 24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Merge sort in external memory: Merge sort cost in DAM model is: Cost to scan through all the data once. N/B Multiplied by the # of levels in the merge tree. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 11 / 31
  25. 25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Merge sort in external memory: Merge sort cost in DAM model is: Cost to scan through all the data once. N/B Multiplied by the # of levels in the merge tree. logM/B N/B Leif Walsh (Tokutek) Fractal Trees November 1, 2014 11 / 31
  26. 26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Merge sort in external memory: Merge sort cost in DAM model is: Cost to scan through all the data once. N/B Multiplied by the # of levels in the merge tree. logM/B N/B O ( N B logM/B N B ) Leif Walsh (Tokutek) Fractal Trees November 1, 2014 11 / 31
  27. 27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Insert N elements into a B-tree: O ( N logB N M ) Merge sort: O ( N B logM/B N B ) Leif Walsh (Tokutek) Fractal Trees November 1, 2014 12 / 31
  28. 28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Insert N elements into a B-tree: O ( N logB N M ) Merge sort: O ( N B logM/B N B ) 2N B Typically, M/B is large, so only two passes are needed to sort. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 12 / 31
  29. 29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Insert N elements into a B-tree: O ( N logB N M ) N Merge sort: O ( N B logM/B N B ) 2N B Typically, M/B is large, so only two passes are needed to sort. Intuition: Each insert into a B-tree costs 1 seek, while sorting is close to disk bandwidth. Leif Walsh (Tokutek) Fractal Trees November 1, 2014 12 / 31
  30. 30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write-optimization technique #1: OLAP Insert N elements into a B-tree: (assuming 100-1000 byte elements) O ( N logB N M ) N 10

×