October 2017, St. Petersburg
Software Engineering Conference Russia
October 2017, St. Petersburg
Software Engineering Conference Russia
Log-Structured SiLo
Евгений Анастасиев
Slide 2
Slide 2 text
О чем речь?
Дедупликация – технология экономии места
за счет того, что на СХД не записываются
одинаковые данные
«У меня в нортоне слева C: и
справа C:, зачем мне два
одинаковых? Один нужно
удалить!»
1
Slide 3
Slide 3 text
Какая дедупликация бывает
Файловая
• На уровне файлов
• Не работает для файлов с
небольшими отличиями
Блочная
• На уровне бинарных
блоков памяти
• Как правило,
обеспечивает большую
экономию места
• Требует больше
метаданных
2
Slide 4
Slide 4 text
Блочная дедупликация
• Получаем данные
• Считаем хэш
• Проверяем
совпадения
• Создаем записи в
таблицах метаданных
3
Slide 5
Slide 5 text
Проблемы дедупликации
• Много (очень много!) метаданных
• Дополнительная нагрузка на процессор и
диски
• Низкая скорость записи
4
Slide 6
Slide 6 text
Решение проблемы метаданных: SiLo
• Выборочное индексирование
• Почти все метаданные – на дисках
• По мере необходимости их подгружаем
5
Slide 7
Slide 7 text
Similarity-Locality: схема работы 6
Slide 8
Slide 8 text
Минусы SiLo
• Меньшая экономия пространства
• Еще более низкая скорость записи при
коллизиях
7
Slide 9
Slide 9 text
Особенности размера суперблока
8
Slide 10
Slide 10 text
Решение проблемы производительности
• Лог-структурированная
запись
• Неактуальные данные
помечаются и
дефрагментируются
• Скорость случайной
записи возрастает в
десятки раз
9
Slide 11
Slide 11 text
Результаты: метаданные в RAM 10
0
1000
2000
3000
4000
5000
6000
7000
0% 25% 50% 75% 100%
Требуется хранить в RAM, MB
Степень дедупликации данных
Standard
SiLo+LS