Бинарные (файловые) хранилища- страшная сказка с...
TRANSCRIPT
Немного теории• Файл (англ. file) — именованная
область данных на носителе информации– Слишком большая, чтобы
обращаться с неи как с единои сущностью
• Краеугольный камень современного массового обмена данными– Наследие мрачных времен
медленных каналов
Фаиловые хранилищаСегодня следует переименовать в «отдавалища»• В бизнес-требованиях не
написано «хранить файлы»– Даже когда написано – это
ошибка• В бизнес требованиях написано
«отдавать файлы»• Но отдать можно лишь то, что
имеешь
Еще чуть-чуть теории:фаиловые системы• винтажные и
журналируемые• плоские и иерархические• контроль доступа и
расширенные атрибуты
И еще: POSIX• Стандарт на интерфейс файловой
системы– Open– Read– Write– seek, который мы ненавидим
• Случайное (не последовательное) чтение
• Случайная (не последовательная) запись
• Операции атомарные и нет
HighLoad – это сеть• Протоколы доступа
– stateless– statefull
• двуличная bitch отказоустойчивость– целостность данных– бесперебойные запись и
чтение• consistency-availability-partition
Берем большую-пребольшую СХД и…• локальный кеш?!• конкурентная запись?!!• Берем OCFS2 и…
– Как “падают виртуалки”?!– И почему так медленно?
• А еще большую-пребольшую СХД довольно трудно получить в свое распоряжение
Берем CEPH/Lustre/LeoFS и…• Почему так медленно?!• Что значит “ребалансинг”?!• И вообще – атомарные
операции такие атомарные
А какова задача?• А надо ли экономить?• POSIX - нужен ли он?• Большие файлы - нужны ли они?• Атомарные операции - нужны ли они?• Версионирование - нужно ли
версионирование?• Насколько большим должно быть наше
хранилище?• И собираемся ли мы удалять файлы?• И каков будет профиль нагрузки?
Так что же все-таки делать?• искать бюджет• все-таки сложить все файлы в
базу– личное мнение докладчика
• написать свое– не так это и сложно!– но все же довольно сложно