Your SlideShare is downloading. ×
0
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Alexander Krizhanovsky Krizhanovsky Hpds
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Alexander Krizhanovsky Krizhanovsky Hpds

511

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
511
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Высокопроиз-водительные сиситемы хранения
  • 2. Содержание <ul><li>Кэширование и ввод-вывод в современных СУБД (MySQL InnoDB)
  • 3. Page cache и планировщик ввода-вывода в Linux 2.6
  • 4. Non-ACID хранилище на основе Linux page cache </li></ul>
  • 5. MySQL InnoDB: кэши <ul><li>Собственный data cache (O_DIRECT) </li></ul>
  • 6. MySQL InnoDB: ввод-вывод <ul><li>------ </li></ul>
  • 7. Linux: page cache <ul><li>Собственный data cache (O_DIRECT) </li></ul>
  • 8. Linux: vmscan Сбросом грязных страниц занимаются (???) <ul><li>Kswapd : когда почти уже не осталось памяти
  • 9. Pdflush : сброс грязных страниц </li></ul>Эта часть ядра Linux активно разрабатывается, поэтому возможны проблемы при «необычных» нагрузках
  • 10. Linux: IO scheduler <ul><li>Уровень блочного ввода-вывода (между ФС и драйвером устройства)
  • 11. Накапливает, переупорядочивает и отдает на ввод-вывод драйверу запросы ввода-вывода </li></ul>
  • 12. ОС &amp; СУБД <ul><li>Дублирование механизмов кэширования данных
  • 13. Дублирование планирования ввода-вывода
  • 14. Двойное индексирование блоков данных в БД и ФС </li></ul>
  • 15. Linux: mmap() <ul><li>В большинстве случаев сопровождается выделением новой VMA (Virtual Memory Area)
  • 16. Zero-copying (страницы сбрасываются на диск без копирования) </li></ul>
  • 17. Linux: x86-64 <ul><li>Можно адресовать 128TB в user space (32M страниц 4KB)
  • 18. При этом расходы на page table - ~256GB RAM
  • 19. Если использовать Hugetlbfs с 2MB страницами, то pagetable будет занимать всего 512MB
  • 20. Можно использовать 1GB страницы
  • 21. Для больших страниц процессоры используют отдельный (не больщой) TLB cache </li></ul>
  • 22. Non-ACID HP storage: задачи <ul><li>Высокая производительность на сильно нелокализованных данных
  • 23. Быстрота реализации
  • 24. Относительная надежность (возможность восстановления данных)
  • 25. Простая модель данных (мало зависимостей по данным) </li></ul>
  • 26. Non-ACID HP storage: архитектура <ul><li>Вся база данных mmap() &apos;ится небольшими кусками (extents) в память
  • 27. Старые экстенты периодически принудительно сбрасываются на диск ( munmap() ) для очистки page table
  • 28. Pdflush автоматически сбрасывает наименее грячие страницы
  • 29. IO scheduler планирует очередность записи </li></ul>
  • 30. Non-ACID HP storage: целостность <ul><li>Мы больше не контролируем очередность записи на диск при гранулярности выше 512 байт (физического блока данных)
  • 31. Целостность можно обеспечить только избыточной записью в переделах 512 байт
  • 32. Для каждого блока считаются контрольные суммы
  • 33. На старте, в случае некорректного завершения работы, проверяется консистентность
  • 34. Индекс можно восстановить из данных </li></ul>
  • 35. Спасибо! <ul>[email_address] </ul>

×