SlideShare ist ein Scribd-Unternehmen logo
1 von 101
Архитектура хранения и отдачи
фотографий в Badoo
Артем Денисов, Badoo
330 млн. пользователей
3 Pb фотографий
3,5 млн. новых фотографий в день
80 тыс. запросов в секунду за фото
Тривиальный пример
Тривиальный пример
photos1
photos2
photosN
Тривиальный пример
place_id
place_id: 1..5
place_id: 6..11
place_id: m..n
photos1
photos2
photosN
Тривиальный пример: проблемы
Тривиальный пример: проблемы
! Ограниченная вместимость
Тривиальный пример: проблемы
! Ограниченная вместимость
! Нетипичная конфигурация машин
Тривиальный пример: проблемы
! Ограниченная вместимость
! Нетипичная конфигурация машин
! Цена
Тривиальный пример: проблемы
Используем систему хранения данных
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
! Меньше $/Gb
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
Используем систему хранения данных
! Меньше $/Gb
! Больше плотность размещения
bphotos2
bphotosN
Storage Area Network
(SAN)
bphotos1
Используем систему хранения данных
! Меньше $/Gb
! Больше плотность размещения
! Быстрая деградация чтения (>500 rps per host)
bphotos2
bphotosN
Storage Area Network
(SAN)
bphotos1
Используем систему хранения данных
Характер нагрузки
Чтение преобладает над записью:
7*109 reads / 3.5*106 writes per day
Характер нагрузки
Горячий dataset небольшой
Чтение преобладает над записью:
7*109 reads / 3.5*106 writes per day
Характер нагрузки
Горячий dataset небольшой
Кажется, нам нужен кэш с LRU
Чтение преобладает над записью:
7*109 reads / 3.5*106 writes per day
Кэширование
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
Структура фотокэша
bphotos
Структура фотокэша
bphotos
Local cache
Структура фотокэша
Local cache
proxy_pass
proxy_store bphotos
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
proxy_pass
proxy_store bphotos
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
Access log
<photo_path>
<served_by>
proxy_pass
proxy_store bphotos
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
Access log
<photo_path>
<served_by>
proxy_pass
proxy_store bphotos
Cache manager daemon
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
Access log
<photo_path>
<served_by>
proxy_pass
proxy_store bphotos
Cache manager daemon
Хранит статистику запросов по файлам
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
Access log
<photo_path>
<served_by>
proxy_pass
proxy_store bphotos
Cache manager daemon
Хранит статистику запросов по файлам
Часто запрашиваемые -> Hot cache
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
Access log
<photo_path>
<served_by>
proxy_pass
proxy_store bphotos
Cache manager daemon
Хранит статистику запросов по файлам
Часто запрашиваемые -> Hot cache
Редко запрашиваемые -> Cold cache
Структура фотокэша
Local cache
Buffer
Hot cache
Cold cache
Access log
<photo_path>
<served_by>
proxy_pass
proxy_store bphotos
Cache manager daemon
Хранит статистику запросов по файлам
Часто запрашиваемые -> Hot cache
Редко запрашиваемые -> Cold cache
Постепенно удаляет из Cold cache
Как распределять запросы?
photoscache2
photoscache1
photoscache3
Как распределять запросы?
Round-robin?
photoscache2
photoscache1
photoscache3
Как распределять запросы?
Round-robin?
Hash % count?
photoscache2
photoscache1
photoscache3
Как распределять запросы?
Round-robin?
Hash % count?
hash(“example_url”) = 5
server_idx0 = 5 % 3 = 2photoscache2
photoscache1
photoscache3
Как распределять запросы?
Round-robin?
Hash % count?
hash(“example_url”) = 5
server_idx0 = 5 % 3 = 2
server_idx1 = 5 % 4 = 1
Как распределять запросы?
photoscache2
photoscache1
photoscache3
Round-robin?
Hash % count?
Как распределять запросы?
Round-robin?
Hash % count?
Consistent hashing?photoscache2
photoscache1
photoscache3
Consistent hashing
0
hash(sharding_key)
Consistent hashing
0
hash(sharding_key)
Consistent hashing
0
hash(sharding_key)
A
Consistent hashing
0
hash(sharding_key)
B
A
Consistent hashing
0
hash(sharding_key)
B
A
C
Consistent hashing
0
hash(sharding_key)
B
A
C
Consistent hashing
0
hash(sharding_key)
B
A
C
B
A
C
Резервный фотокэш
photoscache1
bphotos
photoscache2
photoscache3
photoscache4
(reserve)
Load balancer
Резервный фотокэш
photoscache1
Load balancer
photoscache2
photoscache3
photoscache4
(reserve)
bphotos
Кэширование. Результаты
- Hitrate (количество попаданий в кэш) 98%
- Из 80k только 1600 rps доходят до bphotos
Кэширование. Результаты
- Hitrate (количество попаданий в кэш) 98%
- Из 80k только 1600 rps доходят до bphotos
- 3 точки присутствия (Прага, Майами, Гонконг)
Кэширование. Результаты
- Hitrate (количество попаданий в кэш) 98%
- Из 80k только 1600 rps доходят до bphotos
- 3 точки присутствия (Прага, Майами, Гонконг)
+
- Поддержка webp, progressive jpeg
- Динамический resize/crop
- Динамические вотермарки, фильтры (blur, pixelize)
Почему не CDN?
- Хочется больше контроля и предсказуемости
Почему не CDN?
- Хочется больше контроля и предсказуемости
- Система развивалась постепенно
Почему не CDN?
- Хочется больше контроля и предсказуемости
- Система развивалась постепенно
- Много специфической логики на фотокэшах
Почему не CDN?
- Хочется больше контроля и предсказуемости
- Система развивалась постепенно
- Много специфической логики на фотокэшах
- Невысокая сложность поддержки итогового решения
Почему не CDN?
- Хочется больше контроля и предсказуемости
- Система развивалась постепенно
- Много специфической логики на фотокэшах
- Невысокая сложность поддержки итогового решения
Современный CDN — хорошая альтернатива в условиях
дефицита ресурсов и времени
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
80 x bphotos = ~560Tb данных
40 x photoscache
X 2 ДЦ
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
1 x POINT OF FAILURE
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
2 x POINT OF FAILURE
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
3 x POINT OF FAILURE
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
3 x POINT OF FAILURE
! MAINTENANCE
Хранение. 2013 год
bphotos1
bphotos2
bphotosN
Storage Area Network
(SAN)
photoscache1
photoscacheN
3 x POINT OF FAILURE ! DATA LOSS
! MAINTENANCE
Резервирование v.1
bphotos
Main partition
Local FS Fiber
Storage Area Network
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Резервирование v.1
Async queue
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Резервирование v.1
Async queue
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Buffer partition
Резервирование v.1
Async queue
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Buffer partition
! NO DATA LOSS
Резервирование v.1
Async queue
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Buffer partition
! NO DATA LOSS
! POINT OF FAILURE
Резервирование v.1
Async queue
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Buffer partition
! NO DATA LOSS
! POINT OF FAILURE
! MAINTENANCE
Резервирование v.1
Dphotos
Async queue
bphotos
Local FS
Main partition
Backup partition
Fiber
Storage Area Network
Fiber
Storage Area Network
Buffer partition
Dphotos
Async queue
bphotos
Local FS
Main partition
Backup partition
Buffer partition
Dphotos
Async queue
bphotos
Local FS
Main partition
Backup partition
Buffer partition
Dphotos
dphotosN
Buffer partition
Main partition
dphotosN+1
Buffer partition
Main partition
Dphotos
dphotosN
Async queue
Buffer partition
Main partition
dphotosN+1
Buffer partition
Main partition
Dphotos. Upload
Async queue
dphotosN
dphotosN+1Round robin + health checks
Load balancer
Dphotos. Отдача
photoscache
Async queue
dphotosN
dphotosN+1Round robin + health checks
Dphotos. Отдача
photoscache
Async queue
dphotosN
dphotosN+1
HIT
Round robin + health checks
Dphotos. Отдача
Async queue
dphotosN
dphotosN+1
MISS
Round robin + health checks
photoscache
Dphotos. Отдача
Async queue
dphotosN
dphotosN+1
MISS
Round robin + health checks
photoscache
Dphotos. Отказоустойчивость
dphotosN
Async queue
Buffer partition
Main partition
dphotosN+1
Buffer partition
Main partition
Dphotos. Отказоустойчивость
dphotosN
Async queue
Buffer partition
Main partition
dphotosN+1
Buffer partition
Main partition
Dphotos. Отказоустойчивость
dphotosN
Async queue
Buffer partition
Main partition
dphotosN+1
Buffer partition
Main partition
Dphotos. Отказоустойчивость
dphotosN
Async queue
Buffer partition
Main partition
dphotosN+1
Buffer partition
Main partition
Dphotos. Результаты
- Отказоустойчивость
Dphotos. Результаты
- Отказоустойчивость
- Простая эксплуатация
Dphotos. Результаты
- Отказоустойчивость
- Простая эксплуатация
- Двойной запас по чтению
Dphotos. Результаты
- Отказоустойчивость
- Простая эксплуатация
- Двойной запас по чтению
- Сложность разработки
Dphotos. Результаты
- Отказоустойчивость
- Простая эксплуатация
- Двойной запас по чтению
- Сложность разработки
Так хранить локально — это хорошо или плохо?
- Проще в эксплуатации
Dphotos. Результаты
- Отказоустойчивость
- Простая эксплуатация
- Двойной запас по чтению
- Сложность разработки
Так хранить локально — это хорошо или плохо?
- Проще в эксплуатации
- Производительнее
Dphotos. Результаты
- Отказоустойчивость
- Простая эксплуатация
- Двойной запас по чтению
- Сложность разработки
Так хранить локально — это хорошо или плохо?
- Проще в эксплуатации
- Производительнее
- В 1.5 раза дороже, чем SAN
Итоги
Итоги
Итоги
photoscache
Итоги
photoscache
CDN
Итоги
photoscache dphotos
CDN Storage layer
Итоги
photoscache dphotos
CDN Storage layer
Local drives
Итоги
photoscache dphotos
Storage Area Network
CDN Storage layer
Local drives
Итоги
- А надо ли улучшать? Сначала измерь
Итоги
- А надо ли улучшать? Сначала измерь http://pinba.org
Итоги
- А надо ли улучшать? Сначала измерь http://pinba.org
- Чтение -> кэш
- Запись -> шардинг
Итоги
- А надо ли улучшать? Сначала измерь http://pinba.org
- Чтение -> кэш
- Запись -> шардинг
- Immutable фотки
Итоги
- А надо ли улучшать? Сначала измерь http://pinba.org
- Чтение -> кэш
- Запись -> шардинг
- Immutable фотки
- Resize на лету
Итоги
- А надо ли улучшать? Сначала измерь http://pinba.org
- Чтение -> кэш
- Запись -> шардинг
- Immutable фотки
- Resize на лету
- Инкрементальные асинхронные бэкапы - это хорошо
Итоги
- А надо ли улучшать? Сначала измерь http://pinba.org
- Чтение -> кэш
- Запись -> шардинг
- Immutable фотки
- Resize на лету
- Инкрементальные асинхронные бэкапы - это хорошо
- Если что-то может сломаться - оно сломается

Weitere ähnliche Inhalte

Andere mochten auch

Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Ontico
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Best Practices to create High Load Websites
Best Practices to create High Load WebsitesBest Practices to create High Load Websites
Best Practices to create High Load WebsitesManfred Furuholmen
 
Scaling and High Performance Storage System: LeoFS
Scaling and High Performance Storage System: LeoFSScaling and High Performance Storage System: LeoFS
Scaling and High Performance Storage System: LeoFSRakuten Group, Inc.
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...Ontico
 
Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...
Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...
Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...Ontico
 
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Ontico
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Ontico
 
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...Ontico
 
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
 
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахБалансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахOntico
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Ontico
 
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Ontico
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...Ontico
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Ontico
 
Страх и ненависть в распределенных системах / Роман Гребенников (Findify)
Страх и ненависть в распределенных системах / Роман Гребенников (Findify)Страх и ненависть в распределенных системах / Роман Гребенников (Findify)
Страх и ненависть в распределенных системах / Роман Гребенников (Findify)Ontico
 
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...Ontico
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Ontico
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Ontico
 
Cоздаем облачную среду на базе open-sourсe решения OpenStack
Cоздаем облачную среду на базе open-sourсe решения OpenStackCоздаем облачную среду на базе open-sourсe решения OpenStack
Cоздаем облачную среду на базе open-sourсe решения OpenStackSkillFactory
 

Andere mochten auch (20)

Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Best Practices to create High Load Websites
Best Practices to create High Load WebsitesBest Practices to create High Load Websites
Best Practices to create High Load Websites
 
Scaling and High Performance Storage System: LeoFS
Scaling and High Performance Storage System: LeoFSScaling and High Performance Storage System: LeoFS
Scaling and High Performance Storage System: LeoFS
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
 
Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...
Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...
Vulnerability intelligence with vulners.com / Кирилл Ермаков, Игорь Булатенко...
 
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
 
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти / Г...
 
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
 
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахБалансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в Одноклассниках
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)
 
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 
Страх и ненависть в распределенных системах / Роман Гребенников (Findify)
Страх и ненависть в распределенных системах / Роман Гребенников (Findify)Страх и ненависть в распределенных системах / Роман Гребенников (Findify)
Страх и ненависть в распределенных системах / Роман Гребенников (Findify)
 
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
События, шины и интеграция данных в непростом мире микросервисов / Валентин Г...
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
 
Cоздаем облачную среду на базе open-sourсe решения OpenStack
Cоздаем облачную среду на базе open-sourсe решения OpenStackCоздаем облачную среду на базе open-sourсe решения OpenStack
Cоздаем облачную среду на базе open-sourсe решения OpenStack
 

Mehr von 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
 

Mehr von 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)