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.

Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подольский (Qmobi.Com)

8,640 views

Published on

1. Вводная часть: базовые понятия и определения
1.1. Что такое “файл”
1.2. Роль файлов в современном мире, миф о ненужности файлов
1.3. Файловое хранилище АКА файловая система
1.3.1. внутреннее устройство
1.3.1.1. винтажные и журналируемые. зачем нужен журнал
1.3.1.2. плоские и иерархические
1.3.1.3. контроль доступа
1.3.2. POSIX
1.3.2.1. произвольное чтение
1.3.2.2. произвольная запись
1.3.2.3. атомарные операции
1.3.3. bells and whistles
1.3.3.1. сжатие, шифрование, дедупликация
1.3.3.2. snapshots
1.4. кеширование чтения и записи
2. HighLoad - это сеть
2.1. что вообще такое “HighLoad”, или “ведет ли кроилово к попадалову”
2.2. протоколы доступа: stateless и stateful
2.3. отказоустойчивость и ее двуличие
2.3.1. целостность данных
2.3.2. бесперебойные запись и чтение
2.4. Теорема CAP
3. Так в чем проблема?
3.1. Берем большую-пребольшую СХД и…
3.1.1. локальный кеш?!
3.1.2. конкурентная запись?!!
3.1.3. Берем OCFS2 и…
3.1.3.1. Как “падают виртуалки”?!
3.1.3.2. И почему так медленно?
3.1.4. А еще большую-пребольшую СХД довольно трудно получить в свое распоряжение
3.2. Берем CEPH/Lustre/LeoFS и…
3.2.1. Почему так медленно?!
3.2.2. Что значит “ребалансинг”?!
3.3. И немного о резервном копировании
3.3.1. Резервное копирование - это не отказоустойчивость
3.4. И снова про атомарные операции
3.5. Так почему все-таки нельзя просто сложить файлы в базу?
4. Что же делать?
4.1. В первую очередь это зависит от того, какова наша задача
4.1.1. А надо ли экономить?
4.1.2. POSIX - нужен ли он?
4.1.3. Большие файлы - нужны ли они?
4.1.4. Атомарные операции - нужны ли они?
4.1.5. Версионирование - нужно ли версионирование?
4.1.6. Насколько большим должно быть наше хранилище?
4.1.7. И собираемся ли мы удалять файлы?
4.1.8. И каков будет профиль нагрузки?
4.2. I’m feeling lucky - для некоторых сочет�

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подольский (Qmobi.Com)

  1. 1. Бинарные (файловые) хранилища Даниил Подольский Git in Sky
  2. 2. страшная сказка с мрачным концом
  3. 3. Немного теории •  Файл (англ. file) — именованная область данных на носителе информации –  Слишком большая, чтобы обращаться с ней как с единой сущностью •  Краеугольный камень современного массового обмена данными –  Наследие мрачных времен медленных каналов
  4. 4. Файловые хранилища Сегодня следует переименовать в «отдавалища» •  В бизнес-требованиях не написано «хранить файлы» –  Даже когда написано – это ошибка •  В бизнес требованиях написано «отдавать файлы» •  Но отдать можно лишь то, что имеешь
  5. 5. Еще чуть-чуть теории: файловые системы •  винтажные и журналируемые •  плоские и иерархические •  контроль доступа и расширенные атрибуты
  6. 6. И еще: POSIX •  Стандарт на интерфейс файловой системы –  Open –  Read –  Write –  seek, который мы ненавидим •  Случайное (не последовательное) чтение •  Случайная (не последовательная) запись •  Операции атомарные и нет
  7. 7. И последнее: bells and whistles •  сжатие, шифрование, дедупликация •  snapshots
  8. 8. Самое последнее •  Кеширование чтения •  Кеширование записи
  9. 9. HighLoad – это сеть •  Протоколы доступа –  stateless –  statefull •  двуличная bitch отказоустойчивость –  целостность данных –  бесперебойные запись и чтение •  consistency-availability-partition
  10. 10. Так в чем проблема?
  11. 11. Берем большую- пребольшую СХД и… •  локальный кеш?! •  конкурентная запись?!! •  Берем OCFS2 и… –  Как “падают виртуалки”?! –  И почему так медленно? •  А еще большую-пребольшую СХД довольно трудно получить в свое распоряжение
  12. 12. Берем CEPH/Lustre/ LeoFS и… •  Почему так медленно?! •  Что значит “ребалансинг”?! •  И вообще – атомарные операции такие атомарные
  13. 13. А СУБД? Нельзя просто так взять и сложить все файлы в базу
  14. 14. Резервное копирование •  Не, не слышал •  Резервное копирование – это НЕ отказоустойчивость
  15. 15. Что же делать?
  16. 16. А какова задача? •  А надо ли экономить? •  POSIX - нужен ли он? •  Большие файлы - нужны ли они? •  Атомарные операции - нужны ли они? •  Версионирование - нужно ли версионирование? •  Насколько большим должно быть наше хранилище? •  И собираемся ли мы удалять файлы? •  И каков будет профиль нагрузки?
  17. 17. I’m feeling lucky •  для некоторых сочетаний требований решение есть! •  А для остальных - решения нет.
  18. 18. Так что же все-таки делать? •  искать бюджет •  все-таки сложить все файлы в базу –  личное мнение докладчика •  написать свое –  не так это и сложно! –  но все же довольно сложно
  19. 19. Вопросы?

×