20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Шардинг в MongoDB", Сергей Туленцев

588 views

Published on

20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Шардинг в MongoDB", Сергей Туленцев (netstat24.com)

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
588
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Шардинг в MongoDB", Сергей Туленцев

  1. 1. Шардинг  в  MongoDB  Сергей  Туленцев  Разработчик,  h@p://netstat24.com      2013   dev.it-­‐porUolio.net  
  2. 2. Шардинг  в  MongoDB  Сергей  Туленцев  Разработчик,  h@p://netstat24.com      2013   dev.it-­‐porUolio.net  
  3. 3. Ликбез  по  шардингу  dev.it-­‐porUolio.net   3  •  Что  это  такое?  
  4. 4. Ликбез  по  шардингу  4  
  5. 5. Ликбез  по  шардингу    •  Shard  key  5  
  6. 6. Range-­‐based  sharding  •  Что  это  такое?  •  Shard  key  очень  важен  – Хороший  ключ  улучшает  производительность  – Неудачный  ключ  –  ухудшает  6  
  7. 7. Range-­‐based  sharding  •  Примеры  плохих  ключей  – Основан  на  времени  7  
  8. 8. Range-­‐based  sharding  •  Примеры  плохих  ключей  – Другое  монотонно  возрастающее  значение  8  
  9. 9. Range-­‐based  sharding    •  Примеры  плохих  ключей  – Маленькая  мощность  (cardinality)  9  
  10. 10. Range-­‐based  sharding  •  Примеры  хороших  ключей  – No  sca@er/gather  10  
  11. 11. Range-­‐based  sharding  •  Примеры  хороших  ключей  11  
  12. 12. Range-­‐based  sharding  •  Плюсы  – Range  queries  12  
  13. 13. Range-­‐based  sharding  •  Минусы  – Горячие  шарды  – Неумный  алгоритм  балансировки  •  Pinning  chunks  to  shards  13  
  14. 14. Range-­‐based  sharding  •  Подставляем  костыль  14  
  15. 15. Range-­‐based  sharding  •  Подставляем  костыль  15  
  16. 16. Hash-­‐based  sharding  •  Теперь  «из  коробки»  16  
  17. 17. Hash-­‐based  sharding  •  Плюсы  – Равномерное  распределение  операций  записи  •  Минусы  – Неэффективные  range  queries  – Бесполезный  db.printShardingStatus()  17  
  18. 18. Выводы  •  Выбирайте  shard  key  с  умом  – Одно  лечим,  другое  калечим  – Профилятор  –  наше  всё  •  Ключ  на  основе  времени  –  плохо  •  10gen  нас  любит  18  
  19. 19. Спасибо  за  внимание.  Вопросы?  •  @stulentsev  •  h@p://tech.tulentsev.com  •  sergei.tulentsev@gmail.com  19  

×