SlideShare a Scribd company logo
1 of 40
Эволюция программно-аппаратного
обеспечения хранения фотографий в Badoo
Какое ПО и “железо” использует Badoo,
для хранения фотографий и видео более
300 млн пользователей
Вступление
Мы храним много фото:
• Количество пользователей - более 320 млн.
• Число стран и регионов - 237?
• Общий объем хранимых фотографий и видео ~ 3 PTiB
Производительность, стоимость,
надежность. Поиск компромисса.
Сочетание
производительности,
надежности и стоимости -
определяет то как будет
выглядеть ваша СХД
Первый рабочий вариант СХД - 2009
Использование классических
мультиконтроллерных СХД
Основные компоненты:
• SAN - Fibre Channel
• Коммутаторы Qlogic/Brocade (4/8 Gbit)
• Адаптеры шины HBA (Emulex/Qlogic)
• Хранилища на базе LSI Engenio - Active-Passive
• Хранилища на базе Hitachi AMS 2500/2300 - Active-Active (ALUA)
• Вычислительные узлы - Oracle SunFire / HP ProLiant
Хранилищесдвумя
контроллерами
Проблемы в ходе эксплуатации
Технические:
• Переполнение очереди (512/число хостов/число lun <=32)
• Десинхронизация контроллеров
• Одновременный сбой носителей
• Ограничение числа конфигураций LUN-Masking
• Недостаточный инструментарий мониторинга
Проблемы в ходе эксплуатации
Организационные:
• Сложность резервирования и восстановления конфигураций
• Отсутствие документации
• Затянутые сроки ремонта и закупки компонентов
• Отсутствие оборудования на рынке
Доработка системы хранения и
кэширования фотографий
• Кэширование чтений на отдельной ферме машин.
• Унификация узлов. Отказ от Polyserve и переход на Ext3
• Замена RDAC на Linux MP/IO
• Реконфигурация SAN - Zoning, Fabric Interconnect.
• Ограничение зон видимости LUN - LUN Masking
• Введение кэширующего слоя на вычислительных узлах
• (flashcache/dm-cache)
• Увеличение объема ОЗУ на узлах
• Увеличение объема хранилищ - замена накопителей и
подключение новых дисковых полок
СХД после доработки
● Все узлы - bphotos
● FS - ext3
● Кэш на SSD
● Уточнен Lun-masking
Причины замены хранилищ на
собственные
Выработка ресурса, сбои
Исчерпание возможностей к расширению
Отсутствие приемлемой по цене альтернативы
Недостаточная производительность
Отсутствие документации
Низкая оперативность поддержки и ремонта
Низкая плотность
Переходный
вариант.
Проектирование новых хранилищ
• Прогнозирование роста объемов данных на ближайшие два
года, на основе накопленной статистики.
• Сравнительная оценка производительности (IO Capacity)
• Составление требований к функционалу.
• Обзор существующих решений и технологий.
• Выбор наиболее доступных и способных к быстрому введению
в эксплуатацию
Требования к функционалу - 1
• Узлы и SAN остаются прежними
• ПО - доступно, документировано и желательно открытым
• Знакомый инструментарий отладки и мониторинга
• Аппаратные компоненты - стандартны и доступны из разных
источников, с возможностью замены на другую модель
• Высокая дисковая плотность
• Данные доступны при замене компонентов системы.
• Конфигурация воспроизводима, изменения протоколируются
• Данные дублируются на двух хранилищах и доступны
одновременно
• изменять уровень RAID(Raid Level Migration)
• создавать снимки томов (snapshots)
• клонировать тома
• замены носителей на более емкие
• изменение объема тома “на лету”
• Хранилище модифицируемо, tiered storage, кэширование на
высокопроизводительных носителях.
• Поддержка Multipath IO.
• Различные транспорт - FC/FCOE/iSCSI/SRP и пр
Физическая
компоновка
хранилищ
Выбор аппаратных компонентов
Носители
Носитель информации используемый в СХД является расходным
материалом, а его тип - одним из определяющих условий, того
какова будет ее цена/надежность/производительность
Выбор носителей
Тип носителя (Media): SSD/HDD
SSD: - малое время доступа/высокая производительность, низкое
энергопотребление, толерантность к вибрации, малые объемы,
небольшое время наработки на отказ (MTBF) , высокая цена
HDD: умеренная цена, большой объем, долгий период наработки
на отказ, низкая производительность
Форм-фактор - 2.5” или 3.5”?
2.5”:
• Pro: малые физические
размеры, высокая плотность,
низкая вибрация, высокие
скорости вращения, малое
время доступа
• Contra: малый объем, высокая
цена за 1Mb.
3.5”:
• Pro: большой объем, низкая
цена, широкая доступность на
рынке
• Contra: большой размер-
низкая плотность per unit,
высокая вибрация, низкие
скорости вращения, большое
время доступа
Выбор интерфейса - SATA или SAS
SATA - широко доступны и имеют низкую цену, SATA может работать поверх
SAS, одноканальный доступ к диску (от одного Initiator-а), а так же имеют
меньший буфер под очередь команд (NCQ). Система внутреннего
мониторинга SMART сильно различается между моделями и
производителями
SAS - позволяет организовать двухканальный доступ к диску, имеет более
изощренные методы коррекции ошибок и позиционирования, традиционно
считаются более надежными и имеющими больший ресурс
SAS-SATA MUX (Интерпозер)
Мультиплексор SAS-SATA,
позволяет использовать SATA
диски в HA-конфигурациях
Схема работы SAS-SATA MUX
Дисковые полки - JBOD
Две основные составляющие стоимости СХД:
1.Стоимость носителя - цена за Mb
2.Стоимость размещения - цена за слот
Размещение в дисков в расширениях JBOD, позволяет получить
высокую плотность компоновки и сравнительно небольшую цену
за один дисковый слот. В настоящее время доступны JBOD
высокой плотности - 90x3.5” на 4U, т.е более 22 дисков в 1U
Компоненты JBOD:
• Корпус, дисковые слоты
• Источники питания (PSU)
• Контроллер питания (PDB)
• Система охлаждения, вентиляторы и датчики
• Бэкплейны
• Экспандер - один или несколько
• Интерфейсные кабели и разъемы
Экспандер - LSI SAS2x36
Экспандер - SAS-
коммутатор.
Осуществляет
контроль и
мониторинг
питания и
охлаждения.
Управляет LED.
Управляющий блок. Компоненты.
• CPU
• Mainboard
• RAM
• SAS HBA-адаптеры шины
• FibreChannel/IB/10GigE-контроллеры
• Локальный RAID (OS/Support Tools)
Программное обеспечение.
• OS - SLES 11.3/12
• DeviceMapper - Multipath I/O
• MDRaid - программный RAID
• LVM - менеджер томов
• Утилиты: sg3_utils, smp_utils
• SCSI Target - LIO, SCST или иное ПО, реализующее Target
• Smartmontools - мониторинг состояния носителей
• Puppet Agent - управление конфигурациями
• Zabbix Agent - агент системы мониторинга
• Набор хелперов для конфигурации
Логика работы хранилища
Для балансировки нагрузки на ядра CPU и
поддержки HA, используется DM Multipath
t3d11 (35000c5005050c73a) dm-31
ATA,size=1.8T features='0' hwhandler='0' wp=rw
`-+- policy='queue-length 0' prio=2 status=active
|- 6:0:36:0 sdal 66:80 active ready running
`- 8:0:61:0 sded 128:80 active ready running
Конфигурация SCSI Target (SCST)
HANDLER vdisk_fileio {
DEVICE private30170 {
filename /dev/lv0/private30170
usn private30170
nv_cache 1
threads_pool_type shared
}
TARGET_DRIVER qla2x00t {
TARGET 21:00:00:1b:32:89:00:1c {
HW_TARGET
enabled 1
GROUP dphotos30 {
INITIATOR 21:00:00:1b:32:1f:14:b5
INITIATOR 21:01:00:1b:32:3f:14:b5
LUN 0 private30170
Конфигурация бэкенда - устройства
хранения
Конфигурация драйвера FC HBA и
lun-masking
Подключение хранилищ к хостам
Конфигурация multipath.conf
device {
vendor "SCST_FIO"
product "*"
path_grouping_policy group_by_prio
path_checker tur
uid_attribute "ID_SCSI_SERIAL"
path_selector "round-robin 0"
rr_weight uniform
rr_min_io 2
failback manual
}
Атрибут агрегации путей
scsi_id --export --whitelisted /dev/sdc
ID_SCSI_SERIAL=private30170
scsi_id --export --whitelisted /dev/sdbk
ID_SCSI_SERIAL=private30170
Отображение путей
private30170 dm-4 SCST_FIO,private30170
size=510G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:0:0 sdc 8:32 active ready running
|- 3:0:1:0 sdbk 67:224 active ready running
|- 4:0:1:0 sdga 131:96 active ready running
`- 4:0:0:0 sdds 71:160 active ready running
Тестирование перед вводом в
эксплуатацию.
Нагрузочный тест для CPU/RAM: - Linpack
Внутренний тест SMART - Long Offline Test
Запись значений SMART - A
Синтетический тест чтения/записи: - IOZONE
Запись значений SMART - B и их сравнение с A
Нагрузочный тест FIO - выполняется одновременно на всех
подключенных узлах
Регламент действий при устранении сбоев
1.Отключение нагрузки, остановка записи
2.Демонтаж разделов. При невозможности - отключение
вычислительного узла
3.Проведение расследования, поиск и установка причины
4.Устранение
5.Проверка целостности данных, HDD -> RAID -> Volume -> FS
6.Синхронизация разницы
Расследование причин сбоев и обработка
нештатных ситуаций
1)Получение системных журналов с узла, записей контроллера
BMC, крашдампов ядра ОС, логирование через
последовательную консоль
2)Выяснение какие версии ПО/Firmware были активны на момент
сбоя
3)Определение порядка сбоя - (Order of Failure), какой именно
компонент, в каком хронографическом порядке вышел из строя
Типовые ошибки и проблемы ведущие к
сбоям
• Некорректная настройка Time Long Error Recovery у HDD
• Некорректная настройка DM Multipath (queue_if_no_path)
• Неверное сочетания драйвера-прошивки HBA
• Ошибка адресации памяти, неверная настройка NUMA
• Отключение питания, выход из строя PSU
• Перегрев носителей, выход из строя вентиляторов
• Переполнение очередей, настройки Queue Depth
• Использование нестабильных версий ПО, баги
• Компоненты низкого качества, (экономия на мелочах)
Возможности для изменения и
модернизации
Добавление кэширующего уровня - установка PCIe SSD и решения
на базе dm-cache/lvmcache/bcache
Замена транспортного протокола (FC/FCOE/iSCSI/iSER/SRP): -
установка адаптера и реконфигурация SCST
Увеличение объемов и увеличение производительности -
масштабирование: установка более емких носителей и модулей
расширения JBOD
Статистика по отказам носителей
Seagate
Toshiba
Hitcachi
HGST SATA
HGST SAS
WDC Green
Статистика по производительности
Некоторые данные по известным ценам
на компоненты (GPL)
Заключение

More Related Content

What's hot

Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Ontico
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Ontico
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Ontico
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Ontico
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Ontico
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Ontico
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Ontico
 
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...Ontico
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)Ontico
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Ontico
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Ontico
 
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Ontico
 
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Vadim Madison
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)Ontico
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Ontico
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Ontico
 
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Ontico
 
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Ontico
 

What's hot (20)

Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
 
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
 
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
 
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
 
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
 

Viewers also liked

Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Ontico
 
Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)
Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)
Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)Ontico
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...Ontico
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
 
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
 
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ontico
 
Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)Ontico
 
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Ontico
 
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...Ontico
 
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Ontico
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Ontico
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
 
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Ontico
 
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Ontico
 
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...Ontico
 

Viewers also liked (20)

Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
 
Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)
Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)
Архитектура хранения и отдачи фотографий в Badoo / Артем Денисов (Badoo)
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Барнаул15
Барнаул15Барнаул15
Барнаул15
 
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
 
Storage spaces direct webinar
Storage spaces direct webinarStorage spaces direct webinar
Storage spaces direct webinar
 
Devconf15
Devconf15Devconf15
Devconf15
 
Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)
 
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...
 
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...
 
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
 
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
 
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...
 
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
 

Similar to Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дмитрий Лихачев (Badoo)

СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
HPC file systems (160761)
HPC file systems (160761)HPC file systems (160761)
HPC file systems (160761)Vsevolod Shabad
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийExpolink
 
Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0Nick Turunov
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Mikhail Chusavitin
 
DataCore case studies
DataCore case studies DataCore case studies
DataCore case studies korn_aaf
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...DEPO Computers
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageDEPO Computers
 
Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018
Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018
Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018GigaCloud
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
Белнетэксперт - СХД
Белнетэксперт - СХДБелнетэксперт - СХД
Белнетэксперт - СХДSergey Polazhenko
 
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...Cisco Russia
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeIosif Itkin
 
Вычислительная инфраструктура без американских производителей: реалии и возмо...
Вычислительная инфраструктура без американских производителей: реалии и возмо...Вычислительная инфраструктура без американских производителей: реалии и возмо...
Вычислительная инфраструктура без американских производителей: реалии и возмо...КРОК
 
Обзор новых моделей EMC VNX
Обзор новых моделей EMC VNXОбзор новых моделей EMC VNX
Обзор новых моделей EMC VNXКРОК
 
Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...IBS
 
Гиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlexГиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlexCisco Russia
 
Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)Ontico
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 

Similar to Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дмитрий Лихачев (Badoo) (20)

СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
HPC file systems (160761)
HPC file systems (160761)HPC file systems (160761)
HPC file systems (160761)
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложений
 
Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?
 
DataCore case studies
DataCore case studies DataCore case studies
DataCore case studies
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
 
Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018
Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018
Алексей Котов. "Разделяй и властвуй". IT-пятница, октябрь 2018
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
Белнетэксперт - СХД
Белнетэксперт - СХДБелнетэксперт - СХД
Белнетэксперт - СХД
 
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Data storage systems
Data storage systemsData storage systems
Data storage systems
 
Вычислительная инфраструктура без американских производителей: реалии и возмо...
Вычислительная инфраструктура без американских производителей: реалии и возмо...Вычислительная инфраструктура без американских производителей: реалии и возмо...
Вычислительная инфраструктура без американских производителей: реалии и возмо...
 
Обзор новых моделей EMC VNX
Обзор новых моделей EMC VNXОбзор новых моделей EMC VNX
Обзор новых моделей EMC VNX
 
Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...Современные флэш-технологии – от концепции к преимуществам использования // А...
Современные флэш-технологии – от концепции к преимуществам использования // А...
 
Гиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlexГиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlex
 
Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дмитрий Лихачев (Badoo)

  • 1. Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo Какое ПО и “железо” использует Badoo, для хранения фотографий и видео более 300 млн пользователей
  • 2. Вступление Мы храним много фото: • Количество пользователей - более 320 млн. • Число стран и регионов - 237? • Общий объем хранимых фотографий и видео ~ 3 PTiB
  • 3. Производительность, стоимость, надежность. Поиск компромисса. Сочетание производительности, надежности и стоимости - определяет то как будет выглядеть ваша СХД
  • 5. Использование классических мультиконтроллерных СХД Основные компоненты: • SAN - Fibre Channel • Коммутаторы Qlogic/Brocade (4/8 Gbit) • Адаптеры шины HBA (Emulex/Qlogic) • Хранилища на базе LSI Engenio - Active-Passive • Хранилища на базе Hitachi AMS 2500/2300 - Active-Active (ALUA) • Вычислительные узлы - Oracle SunFire / HP ProLiant
  • 7. Проблемы в ходе эксплуатации Технические: • Переполнение очереди (512/число хостов/число lun <=32) • Десинхронизация контроллеров • Одновременный сбой носителей • Ограничение числа конфигураций LUN-Masking • Недостаточный инструментарий мониторинга
  • 8. Проблемы в ходе эксплуатации Организационные: • Сложность резервирования и восстановления конфигураций • Отсутствие документации • Затянутые сроки ремонта и закупки компонентов • Отсутствие оборудования на рынке
  • 9. Доработка системы хранения и кэширования фотографий • Кэширование чтений на отдельной ферме машин. • Унификация узлов. Отказ от Polyserve и переход на Ext3 • Замена RDAC на Linux MP/IO • Реконфигурация SAN - Zoning, Fabric Interconnect. • Ограничение зон видимости LUN - LUN Masking • Введение кэширующего слоя на вычислительных узлах • (flashcache/dm-cache) • Увеличение объема ОЗУ на узлах • Увеличение объема хранилищ - замена накопителей и подключение новых дисковых полок
  • 10.
  • 11. СХД после доработки ● Все узлы - bphotos ● FS - ext3 ● Кэш на SSD ● Уточнен Lun-masking
  • 12. Причины замены хранилищ на собственные Выработка ресурса, сбои Исчерпание возможностей к расширению Отсутствие приемлемой по цене альтернативы Недостаточная производительность Отсутствие документации Низкая оперативность поддержки и ремонта Низкая плотность
  • 14. Проектирование новых хранилищ • Прогнозирование роста объемов данных на ближайшие два года, на основе накопленной статистики. • Сравнительная оценка производительности (IO Capacity) • Составление требований к функционалу. • Обзор существующих решений и технологий. • Выбор наиболее доступных и способных к быстрому введению в эксплуатацию
  • 15. Требования к функционалу - 1 • Узлы и SAN остаются прежними • ПО - доступно, документировано и желательно открытым • Знакомый инструментарий отладки и мониторинга • Аппаратные компоненты - стандартны и доступны из разных источников, с возможностью замены на другую модель • Высокая дисковая плотность • Данные доступны при замене компонентов системы. • Конфигурация воспроизводима, изменения протоколируются
  • 16. • Данные дублируются на двух хранилищах и доступны одновременно • изменять уровень RAID(Raid Level Migration) • создавать снимки томов (snapshots) • клонировать тома • замены носителей на более емкие • изменение объема тома “на лету” • Хранилище модифицируемо, tiered storage, кэширование на высокопроизводительных носителях. • Поддержка Multipath IO. • Различные транспорт - FC/FCOE/iSCSI/SRP и пр
  • 18. Выбор аппаратных компонентов Носители Носитель информации используемый в СХД является расходным материалом, а его тип - одним из определяющих условий, того какова будет ее цена/надежность/производительность
  • 19. Выбор носителей Тип носителя (Media): SSD/HDD SSD: - малое время доступа/высокая производительность, низкое энергопотребление, толерантность к вибрации, малые объемы, небольшое время наработки на отказ (MTBF) , высокая цена HDD: умеренная цена, большой объем, долгий период наработки на отказ, низкая производительность
  • 20. Форм-фактор - 2.5” или 3.5”? 2.5”: • Pro: малые физические размеры, высокая плотность, низкая вибрация, высокие скорости вращения, малое время доступа • Contra: малый объем, высокая цена за 1Mb. 3.5”: • Pro: большой объем, низкая цена, широкая доступность на рынке • Contra: большой размер- низкая плотность per unit, высокая вибрация, низкие скорости вращения, большое время доступа
  • 21. Выбор интерфейса - SATA или SAS SATA - широко доступны и имеют низкую цену, SATA может работать поверх SAS, одноканальный доступ к диску (от одного Initiator-а), а так же имеют меньший буфер под очередь команд (NCQ). Система внутреннего мониторинга SMART сильно различается между моделями и производителями SAS - позволяет организовать двухканальный доступ к диску, имеет более изощренные методы коррекции ошибок и позиционирования, традиционно считаются более надежными и имеющими больший ресурс
  • 22. SAS-SATA MUX (Интерпозер) Мультиплексор SAS-SATA, позволяет использовать SATA диски в HA-конфигурациях
  • 24. Дисковые полки - JBOD Две основные составляющие стоимости СХД: 1.Стоимость носителя - цена за Mb 2.Стоимость размещения - цена за слот Размещение в дисков в расширениях JBOD, позволяет получить высокую плотность компоновки и сравнительно небольшую цену за один дисковый слот. В настоящее время доступны JBOD высокой плотности - 90x3.5” на 4U, т.е более 22 дисков в 1U
  • 25. Компоненты JBOD: • Корпус, дисковые слоты • Источники питания (PSU) • Контроллер питания (PDB) • Система охлаждения, вентиляторы и датчики • Бэкплейны • Экспандер - один или несколько • Интерфейсные кабели и разъемы
  • 26. Экспандер - LSI SAS2x36 Экспандер - SAS- коммутатор. Осуществляет контроль и мониторинг питания и охлаждения. Управляет LED.
  • 27. Управляющий блок. Компоненты. • CPU • Mainboard • RAM • SAS HBA-адаптеры шины • FibreChannel/IB/10GigE-контроллеры • Локальный RAID (OS/Support Tools)
  • 28. Программное обеспечение. • OS - SLES 11.3/12 • DeviceMapper - Multipath I/O • MDRaid - программный RAID • LVM - менеджер томов • Утилиты: sg3_utils, smp_utils • SCSI Target - LIO, SCST или иное ПО, реализующее Target • Smartmontools - мониторинг состояния носителей • Puppet Agent - управление конфигурациями • Zabbix Agent - агент системы мониторинга • Набор хелперов для конфигурации
  • 29. Логика работы хранилища Для балансировки нагрузки на ядра CPU и поддержки HA, используется DM Multipath t3d11 (35000c5005050c73a) dm-31 ATA,size=1.8T features='0' hwhandler='0' wp=rw `-+- policy='queue-length 0' prio=2 status=active |- 6:0:36:0 sdal 66:80 active ready running `- 8:0:61:0 sded 128:80 active ready running
  • 30. Конфигурация SCSI Target (SCST) HANDLER vdisk_fileio { DEVICE private30170 { filename /dev/lv0/private30170 usn private30170 nv_cache 1 threads_pool_type shared } TARGET_DRIVER qla2x00t { TARGET 21:00:00:1b:32:89:00:1c { HW_TARGET enabled 1 GROUP dphotos30 { INITIATOR 21:00:00:1b:32:1f:14:b5 INITIATOR 21:01:00:1b:32:3f:14:b5 LUN 0 private30170 Конфигурация бэкенда - устройства хранения Конфигурация драйвера FC HBA и lun-masking
  • 31. Подключение хранилищ к хостам Конфигурация multipath.conf device { vendor "SCST_FIO" product "*" path_grouping_policy group_by_prio path_checker tur uid_attribute "ID_SCSI_SERIAL" path_selector "round-robin 0" rr_weight uniform rr_min_io 2 failback manual } Атрибут агрегации путей scsi_id --export --whitelisted /dev/sdc ID_SCSI_SERIAL=private30170 scsi_id --export --whitelisted /dev/sdbk ID_SCSI_SERIAL=private30170 Отображение путей private30170 dm-4 SCST_FIO,private30170 size=510G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 3:0:0:0 sdc 8:32 active ready running |- 3:0:1:0 sdbk 67:224 active ready running |- 4:0:1:0 sdga 131:96 active ready running `- 4:0:0:0 sdds 71:160 active ready running
  • 32. Тестирование перед вводом в эксплуатацию. Нагрузочный тест для CPU/RAM: - Linpack Внутренний тест SMART - Long Offline Test Запись значений SMART - A Синтетический тест чтения/записи: - IOZONE Запись значений SMART - B и их сравнение с A Нагрузочный тест FIO - выполняется одновременно на всех подключенных узлах
  • 33. Регламент действий при устранении сбоев 1.Отключение нагрузки, остановка записи 2.Демонтаж разделов. При невозможности - отключение вычислительного узла 3.Проведение расследования, поиск и установка причины 4.Устранение 5.Проверка целостности данных, HDD -> RAID -> Volume -> FS 6.Синхронизация разницы
  • 34. Расследование причин сбоев и обработка нештатных ситуаций 1)Получение системных журналов с узла, записей контроллера BMC, крашдампов ядра ОС, логирование через последовательную консоль 2)Выяснение какие версии ПО/Firmware были активны на момент сбоя 3)Определение порядка сбоя - (Order of Failure), какой именно компонент, в каком хронографическом порядке вышел из строя
  • 35. Типовые ошибки и проблемы ведущие к сбоям • Некорректная настройка Time Long Error Recovery у HDD • Некорректная настройка DM Multipath (queue_if_no_path) • Неверное сочетания драйвера-прошивки HBA • Ошибка адресации памяти, неверная настройка NUMA • Отключение питания, выход из строя PSU • Перегрев носителей, выход из строя вентиляторов • Переполнение очередей, настройки Queue Depth • Использование нестабильных версий ПО, баги • Компоненты низкого качества, (экономия на мелочах)
  • 36. Возможности для изменения и модернизации Добавление кэширующего уровня - установка PCIe SSD и решения на базе dm-cache/lvmcache/bcache Замена транспортного протокола (FC/FCOE/iSCSI/iSER/SRP): - установка адаптера и реконфигурация SCST Увеличение объемов и увеличение производительности - масштабирование: установка более емких носителей и модулей расширения JBOD
  • 37. Статистика по отказам носителей Seagate Toshiba Hitcachi HGST SATA HGST SAS WDC Green
  • 39. Некоторые данные по известным ценам на компоненты (GPL)