SlideShare a Scribd company logo
Кластеризация социального графа
Предпосылки Стремительный рост социального графа Возросшие требования к аппаратной части (сервера с большим объемом RAM) Необходимость обеспечения стабильности всей системы Устойчивость к выходу из строя нескольких серверов
Техническое задание Линейно маштабируемая система Увеличение производительности Рост базы Устойчивость к выходу из строя нескольких серверов Сохранения полной работоспособной базы Быстрое переключение на реплики
Разбиение базы n непересекающихся частей Равномерное распределение вершин Хранение прямых и обратных связей n 1 ... 4 3 2
Резервирование данных m 1 m 2 m 3 m k . . . player Monitoring
update (2PC) select 2 3 5 6 4 5 1 2 6 1 3 4 FrontEnd Client
5 6 4 5 1 2 6 1 2 3 3 4 Monitoring FrontEnd
5 6 4 5 1 2 6 1 2 3 3 4 FrontEnd Monitoring
Сложные запросы Cluster . . . ... player Lite BackEnds ... ... путь общие друзья друзья друзей
ТТХ кластера 6 непересекающихся частей Размер одной части – 6.5 млн. пользователей Предельная производительность Селекты - 150.000 rps Апдейты - 75.000 rps Время холодного старта – 90с Среднее время выполнения запроса - 0.8мс
Спасибо за внимание! Вопросы?

More Related Content

What's hot (7)

Дмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПОДмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПО
Daria Oreshkina
 
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen ITDevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
Leonid Yuriev
 
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual MachinesTMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
Iosif Itkin
 
Инкапсуляция сетевой топологии при помощи ПКС
Инкапсуляция сетевой топологии при помощи ПКСИнкапсуляция сетевой топологии при помощи ПКС
Инкапсуляция сетевой топологии при помощи ПКС
ARCCN
 
Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"
Yandex
 
Операционные системы 2015, лекция № 4
Операционные системы 2015, лекция № 4Операционные системы 2015, лекция № 4
Операционные системы 2015, лекция № 4
Aleksey Bragin
 
Тестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стенде
ARCCN
 
Дмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПОДмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПО
Daria Oreshkina
 
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen ITDevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
DevConf-2015: Lightning Memory-Mapped Database (LMDB), ReOpen IT
Leonid Yuriev
 
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual MachinesTMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
Iosif Itkin
 
Инкапсуляция сетевой топологии при помощи ПКС
Инкапсуляция сетевой топологии при помощи ПКСИнкапсуляция сетевой топологии при помощи ПКС
Инкапсуляция сетевой топологии при помощи ПКС
ARCCN
 
Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"
Yandex
 
Операционные системы 2015, лекция № 4
Операционные системы 2015, лекция № 4Операционные системы 2015, лекция № 4
Операционные системы 2015, лекция № 4
Aleksey Bragin
 
Тестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стенде
ARCCN
 

Similar to Silverspoon Cluster (20)

Sef Trubach V1.2
Sef Trubach V1.2Sef Trubach V1.2
Sef Trubach V1.2
sef2009
 
Управление свободным пространством на файловой системе в UNIX и Linux
Управление свободным пространством на файловой системе в UNIX и LinuxУправление свободным пространством на файловой системе в UNIX и Linux
Управление свободным пространством на файловой системе в UNIX и Linux
SQALab
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Mikhail Kurnosov
 
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Dev_Party
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Mikhail Kurnosov
 
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Mikhail Kurnosov
 
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System KernelsLightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Iosif Itkin
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
Ontico
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Siel01
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
Iosif Itkin
 
Системы хранения данных
Системы хранения данныхСистемы хранения данных
Системы хранения данных
yaevents
 
Apache Kafka Cluster - Russian
Apache Kafka Cluster - RussianApache Kafka Cluster - Russian
Apache Kafka Cluster - Russian
confluent
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
a15464321646213
 
Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks Server
Levon Avakyan
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
a15464321646213
 
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
Levon Avakyan
 
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
Александр Силантьев
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
qasib
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ontico
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Ontico
 
Sef Trubach V1.2
Sef Trubach V1.2Sef Trubach V1.2
Sef Trubach V1.2
sef2009
 
Управление свободным пространством на файловой системе в UNIX и Linux
Управление свободным пространством на файловой системе в UNIX и LinuxУправление свободным пространством на файловой системе в UNIX и Linux
Управление свободным пространством на файловой системе в UNIX и Linux
SQALab
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Mikhail Kurnosov
 
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Сергей Яркин, Тензор — RabbitMQ. Насколько ценен мех и вкусно мясо?
Dev_Party
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Mikhail Kurnosov
 
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Mikhail Kurnosov
 
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System KernelsLightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Iosif Itkin
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
Ontico
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Siel01
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
Iosif Itkin
 
Системы хранения данных
Системы хранения данныхСистемы хранения данных
Системы хранения данных
yaevents
 
Apache Kafka Cluster - Russian
Apache Kafka Cluster - RussianApache Kafka Cluster - Russian
Apache Kafka Cluster - Russian
confluent
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
a15464321646213
 
Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks Server
Levon Avakyan
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
a15464321646213
 
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
Levon Avakyan
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
qasib
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ontico
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Ontico
 

More from HighLoad2009 (20)

Eremkin Cboss Smsc Hl2009
Eremkin Cboss Smsc Hl2009Eremkin Cboss Smsc Hl2009
Eremkin Cboss Smsc Hl2009
HighLoad2009
 
Hl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev PochtaHl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev Pochta
HighLoad2009
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблера
HighLoad2009
 
Quick Wins
Quick WinsQuick Wins
Quick Wins
HighLoad2009
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
HighLoad2009
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
HighLoad2009
 
особенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной средеособенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной среде
HighLoad2009
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus Ready
HighLoad2009
 
Eremkin Cboss Smsc Hl2009
Eremkin Cboss Smsc Hl2009Eremkin Cboss Smsc Hl2009
Eremkin Cboss Smsc Hl2009
HighLoad2009
 
Hl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev PochtaHl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev Pochta
HighLoad2009
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблера
HighLoad2009
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
HighLoad2009
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
HighLoad2009
 
особенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной средеособенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной среде
HighLoad2009
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus Ready
HighLoad2009
 

Silverspoon Cluster

  • 2. Предпосылки Стремительный рост социального графа Возросшие требования к аппаратной части (сервера с большим объемом RAM) Необходимость обеспечения стабильности всей системы Устойчивость к выходу из строя нескольких серверов
  • 3. Техническое задание Линейно маштабируемая система Увеличение производительности Рост базы Устойчивость к выходу из строя нескольких серверов Сохранения полной работоспособной базы Быстрое переключение на реплики
  • 4. Разбиение базы n непересекающихся частей Равномерное распределение вершин Хранение прямых и обратных связей n 1 ... 4 3 2
  • 5. Резервирование данных m 1 m 2 m 3 m k . . . player Monitoring
  • 6. update (2PC) select 2 3 5 6 4 5 1 2 6 1 3 4 FrontEnd Client
  • 7. 5 6 4 5 1 2 6 1 2 3 3 4 Monitoring FrontEnd
  • 8. 5 6 4 5 1 2 6 1 2 3 3 4 FrontEnd Monitoring
  • 9. Сложные запросы Cluster . . . ... player Lite BackEnds ... ... путь общие друзья друзья друзей
  • 10. ТТХ кластера 6 непересекающихся частей Размер одной части – 6.5 млн. пользователей Предельная производительность Селекты - 150.000 rps Апдейты - 75.000 rps Время холодного старта – 90с Среднее время выполнения запроса - 0.8мс