SlideShare une entreprise Scribd logo
1  sur  30
Шаблоны проектирования
масштабируемых систем.

Январь 2013
Игорь Чуб
Архитектор, компания Максимайзер
Факты о Максимайзере
   MVT, персонализация, сегментация, Web
    аналитика.

   1-е место в Великобритании.

   7 миллиардов HTTP запросов в месяц.

   500 миллионов уникальных пользователей
    в месяц.
Факты о Максимайзере
   Экспоненциальный рост числа клиентов и
    объемов данных.

   300 ms SLA на время ответа HTTP
    сервера.

   Десятки серверов по всему миру.

   Интерактивные Ad-Hoc репорты.
План доклада
•   Что такое Big Data?
•   Big Data: типы нагрузок.
•   Big Data: архитектурные шаблоны.
•   Практические советы.
Что такое Big Data?
   90% всех данных создано в 2011-12гг
   2,200,000 TB создается ежедневно
   К 2015 будет
       создано 8,000,000,000 TB = 8 ZB =
        18,000,000 Библиотек Конгресса США
       Увеличение IP трафика в 4 раза
Что такое Big Data?
Что такое Big Data?
Что такое Big Data
   Уровень развития различных технологий
    Big Data представлены в отчете Gartner
    “Hype Cycle for Big Data 2012”
    http://whatsthebigdata.com/2012/08/16/gartners
Big Data: slashdot эффект
   Топ 1000 сайтов по объему трафика
    http://www.google.com/adplanner/static/top1000/#
   #1 Facebook – 380,000 rps
   #2 Youtube – 38,000 rps
   #29 LinkedIn – 965 rps
   #84 Odnoklassniki.ru – 5000 rps
   Будьте готовы к Slashdot/хабра эффекту!
Big Data: типы нагрузок
   Запрос-ответ
Big Data: типы нагрузок
   Обработка потоков событий в реальном времени
Big Data: типы нагрузок
   Работа с графами
Big Data: типы нагрузок
   Иголка в стоге сена
Bid Data: типы нагрузок
   Индексирование текста
Big Data: типы нагрузок
   Аналитические отчеты
Big Data: типы нагрузок
   Неструктурированные данные
Big Data: типы нагрузок
                     Запрос-ответ
       Обработка потоков данных
                Обработка графов
             Иголка в стоге сена
        Индексирование текста
            Аналитические отчеты

Неструктурированные данные

Big Data: архитектурные
            шаблоны.
   Как хранить МНОГО данных?
   Как их обрабатывать БЫСТРО?
   Что ДЕЛАТЬ с собранными
    данными?
Big Data: архитектурные
шаблоны.
   Распределенное хранение
   Параллельная обработка
   Асинхронность
   Offline обработка
   Кеширование
Big Data: архитектурные
шаблоны.
   LB+Shared Nothing Nodes
       Примеры: stateless Web
        farms, parallel processing,
        distributed databases and
        caches, DFSs, CDN.
       Плюсы: простота
        реализации, клиенты
        знают только о LB, ноды
        независимы.
       Минусы: LB – узкое место
        и точка отказа, привязка
        пользователя к ноде с
        данными.
Big Data: архитектурные
шаблоны.
   LB + Stateless Nodes +
    Scalable Storage
      Examples: Web farms,

       parallel processing.
      Pros: бизнес логика

       масштабируется
       отдельно от данных,
       минимум точек отказа
      Cons: сессия

       пользователя должна
       храниться в
       хранилище.
Big Data: архитектурные
шаблоны.
   P2P
      Examples: Torrent,

       Cassandra, Skype, WCF
       P2P.
      Pros: масштабируемость,

       отказоустойчивость,
       автоконфигурирование
      Cons: безопасность,

       сетевые штормы,
       сложный мониторинг,
       нестабильная
       производительность,
       сложный алгоритм
       роутинга.
Big Data: архитектурные
    шаблоны.
   Очередь сообщений
      Пример: Twitter.

      Pros: масштабируемость

       приложений, ускорение
       синхронных запросов,
       QoS, сглаживание пиков,
       гибкие коммуникационные
       шаблоны, слабая
       связанность приложений.
      Cons: центральный

       брокер, сообщения
       нетипизированы
Big Data: архитектурные
шаблоны.
Big Data: архитектурные
    шаблоны.
   Data Distribution Service
      Mission-critical, ultra low

       latency, high bandwidth.
      Pros: те же что у очереди

       + отсутствие
       центрального брокера,
       типизированные данные,
       латентность
      Cons:

       специализированные
       сетевые протоколы
Big Data: архитектурные
    шаблоны.
   Map Reduce
      Используется на

       большинстве крупных
       сайтов для офлайн
       обработки.
      Pros: масштабируемость

      Cons: латентность,

       сложность алгоритмов,
       поддержка кода
Big Data: архитектурные
    шаблоны.
   In memory обработка потока
    данных
      CEP, ESP – MS

        StreamInsight, NEsper,
        Storm.
      Pros: Mapreduce в

        реальном времени,
        выявление патернов
      Cons: ограниченное

        временное окно
Big Data: архитектурные
    шаблоны.
   Распределенный кеш
      Memcache, Redis,

       AppFabric, NCache.
      Pros: разгрузка DB,

       быстрый ответ
      Cons: инвалидация кеша,

       consistency!
Big Data: архитектурные
    шаблоны.
   Content Delivery Network
    (CDN)
      Pros: разгрузка файл-

       серверов, быстрый ответ
       в любом регионе
      Cons: стоимость,

       публичный доступ к
       файлу
Практические советы
•   Проанализируй оси развития системы.
•   Разделяй по компонентам с учетом осей.
•   Избегай глобальной координации.
•   Масштабируй конфигурирование системы.
•   Стоимость с учетом масштаба.
•   Планируй обновление “железа” на этапе
    проектирования.
•   Масштабируемость сети.

Contenu connexe

Similaire à Top big data architecture patterns by Igor Chub

OSPconf. Big Data Forum 2015
OSPconf. Big Data Forum 2015OSPconf. Big Data Forum 2015
OSPconf. Big Data Forum 2015Ilya Gershanov
 
Informatica for Data Warehouse Optimisation and Data Lake Use-cases
Informatica for Data Warehouse Optimisation and Data Lake Use-casesInformatica for Data Warehouse Optimisation and Data Lake Use-cases
Informatica for Data Warehouse Optimisation and Data Lake Use-casesIlya Gershanov
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхСергей Макрушин
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхSergey Makrushin
 
Инфраструктура под аналитику и большие данные
Инфраструктура под аналитику  и большие данныеИнфраструктура под аналитику  и большие данные
Инфраструктура под аналитику и большие данныеCisco Russia
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
 
Анализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biАнализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biМаксим Войцеховский
 
Как использовать расходы на ИТ за счет использования облачных сервисов
Как использовать расходы на ИТ за счет использования облачных сервисовКак использовать расходы на ИТ за счет использования облачных сервисов
Как использовать расходы на ИТ за счет использования облачных сервисовCisco Russia
 
Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Marina Payvina
 
2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бдKewpaN
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БДAndrew Sovtsov
 
Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-системRoman Ivliev
 
Проектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системПроектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системTKConf
 
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данныхОмские ИТ-субботники
 
Bitblaze for GenerationS
Bitblaze for GenerationSBitblaze for GenerationS
Bitblaze for GenerationSMaxim Koposov
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"GeeksLab Odessa
 
Talksum dec2013 rus_generic
Talksum dec2013 rus_genericTalksum dec2013 rus_generic
Talksum dec2013 rus_genericdartemiev
 
Герард Костин, МТС
Герард Костин, МТСГерард Костин, МТС
Герард Костин, МТСconnectica-lab
 
Short enterprise data hub on apache hadoop ru
Short enterprise data hub on apache hadoop ruShort enterprise data hub on apache hadoop ru
Short enterprise data hub on apache hadoop ruLviv Startup Club
 

Similaire à Top big data architecture patterns by Igor Chub (20)

OSPconf. Big Data Forum 2015
OSPconf. Big Data Forum 2015OSPconf. Big Data Forum 2015
OSPconf. Big Data Forum 2015
 
Informatica for Data Warehouse Optimisation and Data Lake Use-cases
Informatica for Data Warehouse Optimisation and Data Lake Use-casesInformatica for Data Warehouse Optimisation and Data Lake Use-cases
Informatica for Data Warehouse Optimisation and Data Lake Use-cases
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Инфраструктура под аналитику и большие данные
Инфраструктура под аналитику  и большие данныеИнфраструктура под аналитику  и большие данные
Инфраструктура под аналитику и большие данные
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
 
Анализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biАнализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft bi
 
Как использовать расходы на ИТ за счет использования облачных сервисов
Как использовать расходы на ИТ за счет использования облачных сервисовКак использовать расходы на ИТ за счет использования облачных сервисов
Как использовать расходы на ИТ за счет использования облачных сервисов
 
Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?
 
2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БД
 
Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-систем
 
Проектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системПроектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-систем
 
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
 
Bitblaze for GenerationS
Bitblaze for GenerationSBitblaze for GenerationS
Bitblaze for GenerationS
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
 
Talksum dec2013 rus_generic
Talksum dec2013 rus_genericTalksum dec2013 rus_generic
Talksum dec2013 rus_generic
 
BI Pre-Sale
BI Pre-SaleBI Pre-Sale
BI Pre-Sale
 
Герард Костин, МТС
Герард Костин, МТСГерард Костин, МТС
Герард Костин, МТС
 
Short enterprise data hub on apache hadoop ru
Short enterprise data hub on apache hadoop ruShort enterprise data hub on apache hadoop ru
Short enterprise data hub on apache hadoop ru
 

Top big data architecture patterns by Igor Chub

  • 1. Шаблоны проектирования масштабируемых систем. Январь 2013 Игорь Чуб Архитектор, компания Максимайзер
  • 2. Факты о Максимайзере  MVT, персонализация, сегментация, Web аналитика.  1-е место в Великобритании.  7 миллиардов HTTP запросов в месяц.  500 миллионов уникальных пользователей в месяц.
  • 3. Факты о Максимайзере  Экспоненциальный рост числа клиентов и объемов данных.  300 ms SLA на время ответа HTTP сервера.  Десятки серверов по всему миру.  Интерактивные Ad-Hoc репорты.
  • 4. План доклада • Что такое Big Data? • Big Data: типы нагрузок. • Big Data: архитектурные шаблоны. • Практические советы.
  • 5. Что такое Big Data?  90% всех данных создано в 2011-12гг  2,200,000 TB создается ежедневно  К 2015 будет  создано 8,000,000,000 TB = 8 ZB = 18,000,000 Библиотек Конгресса США  Увеличение IP трафика в 4 раза
  • 8. Что такое Big Data  Уровень развития различных технологий Big Data представлены в отчете Gartner “Hype Cycle for Big Data 2012” http://whatsthebigdata.com/2012/08/16/gartners
  • 9. Big Data: slashdot эффект  Топ 1000 сайтов по объему трафика http://www.google.com/adplanner/static/top1000/#  #1 Facebook – 380,000 rps  #2 Youtube – 38,000 rps  #29 LinkedIn – 965 rps  #84 Odnoklassniki.ru – 5000 rps  Будьте готовы к Slashdot/хабра эффекту!
  • 10. Big Data: типы нагрузок  Запрос-ответ
  • 11. Big Data: типы нагрузок  Обработка потоков событий в реальном времени
  • 12. Big Data: типы нагрузок  Работа с графами
  • 13. Big Data: типы нагрузок  Иголка в стоге сена
  • 14. Bid Data: типы нагрузок  Индексирование текста
  • 15. Big Data: типы нагрузок  Аналитические отчеты
  • 16. Big Data: типы нагрузок  Неструктурированные данные
  • 17. Big Data: типы нагрузок  Запрос-ответ  Обработка потоков данных  Обработка графов Иголка в стоге сена Индексирование текста  Аналитические отчеты Неструктурированные данные 
  • 18. Big Data: архитектурные шаблоны.  Как хранить МНОГО данных?  Как их обрабатывать БЫСТРО?  Что ДЕЛАТЬ с собранными данными?
  • 19. Big Data: архитектурные шаблоны.  Распределенное хранение  Параллельная обработка  Асинхронность  Offline обработка  Кеширование
  • 20. Big Data: архитектурные шаблоны.  LB+Shared Nothing Nodes  Примеры: stateless Web farms, parallel processing, distributed databases and caches, DFSs, CDN.  Плюсы: простота реализации, клиенты знают только о LB, ноды независимы.  Минусы: LB – узкое место и точка отказа, привязка пользователя к ноде с данными.
  • 21. Big Data: архитектурные шаблоны.  LB + Stateless Nodes + Scalable Storage  Examples: Web farms, parallel processing.  Pros: бизнес логика масштабируется отдельно от данных, минимум точек отказа  Cons: сессия пользователя должна храниться в хранилище.
  • 22. Big Data: архитектурные шаблоны.  P2P  Examples: Torrent, Cassandra, Skype, WCF P2P.  Pros: масштабируемость, отказоустойчивость, автоконфигурирование  Cons: безопасность, сетевые штормы, сложный мониторинг, нестабильная производительность, сложный алгоритм роутинга.
  • 23. Big Data: архитектурные шаблоны.  Очередь сообщений  Пример: Twitter.  Pros: масштабируемость приложений, ускорение синхронных запросов, QoS, сглаживание пиков, гибкие коммуникационные шаблоны, слабая связанность приложений.  Cons: центральный брокер, сообщения нетипизированы
  • 25. Big Data: архитектурные шаблоны.  Data Distribution Service  Mission-critical, ultra low latency, high bandwidth.  Pros: те же что у очереди + отсутствие центрального брокера, типизированные данные, латентность  Cons: специализированные сетевые протоколы
  • 26. Big Data: архитектурные шаблоны.  Map Reduce  Используется на большинстве крупных сайтов для офлайн обработки.  Pros: масштабируемость  Cons: латентность, сложность алгоритмов, поддержка кода
  • 27. Big Data: архитектурные шаблоны.  In memory обработка потока данных  CEP, ESP – MS StreamInsight, NEsper, Storm.  Pros: Mapreduce в реальном времени, выявление патернов  Cons: ограниченное временное окно
  • 28. Big Data: архитектурные шаблоны.  Распределенный кеш  Memcache, Redis, AppFabric, NCache.  Pros: разгрузка DB, быстрый ответ  Cons: инвалидация кеша, consistency!
  • 29. Big Data: архитектурные шаблоны.  Content Delivery Network (CDN)  Pros: разгрузка файл- серверов, быстрый ответ в любом регионе  Cons: стоимость, публичный доступ к файлу
  • 30. Практические советы • Проанализируй оси развития системы. • Разделяй по компонентам с учетом осей. • Избегай глобальной координации. • Масштабируй конфигурирование системы. • Стоимость с учетом масштаба. • Планируй обновление “железа” на этапе проектирования. • Масштабируемость сети.