SlideShare uma empresa Scribd logo
1 de 21
Как Map/Reduce спас Яндекс.Статистику
Background Взрывной рост объема данных, за 8 лет объем дневных данных вырос в 2000 разс 2ГБ до 4ТБ Скорости процессоров, дисков и сети выросли не более чем в 10 раз Единственных способ выжить – линейно масштабироваться, добавляя сервера Осознали мы это не сразу …
Рождение – 2001 год Яндекс– start-up На все 1 сервер БД 400ГБ, 2ГБ данных в день 4 проекта и 3 отчета Все отчеты за день считаются за полчаса
Архитектура v.1
Первые шаги Рост  данных, новые проекты и отчеты Из-за падения базы бывает не успеваем пересчитать отчеты в тот же день Больше истории, которую нельзя терять Появляются простые копии БД для надежности и ускорения расчетов
Архитектура v.2
Активный рост Рост данных и требований продолжается Вынуждены использовать NAS как хранилище для БД, появляется новое узкое место – сеть между хранилищем и БД Переходим на Oracle RAC
Архитектура v.3
Старость Сеть между NAS и БД постоянно перегружена Тяжелые запросы очень плохо используют больше одной машины, но в состоянии «убить» весь кластер Используем bonding и добавляем новые и головы в RAC, но предел уже очень близко
Архитектура v.4
Смерть Рост данных продолжился Большие отчетам уже не хватает ресурсов, их расчет может занимать до нескольких суток Нет ресурсов на пересчет отчетов Головы RAC постоянно ждут друг друга Наращивать уже нечего …
Бабах
Что такое Map/Reduce? Map/Reduce это технология, упрощающая написание приложений, для параллельной обработки больших объемов данных на кластерахсостоящих из множества компьютеров.
Что есть в Map/Reduce? Линейное масштабирование по объему данных и скорости обработки Хранилище неструктурированных данных Простота модели – map и reduce задачи Поддержка любых языков Встроенная поддержка HA
Чего нет в Map/Reduce? Типов данных Индексов Партицирования Проверок целостности
Map/Reduce Схема Работы
Что такое MapReduce? Данные С точки зрения пользователя данные  - это таблицы. Каждая  запись в таблице состоит из полей «ключ» (key) и «значение» (value) Таблица может быть отсортирована по ключу, но по умолчанию таблицы не сортированы. ОперацииНад данными можно производить два типа операций: map и reduce.  Каждая из них преобразует одну или несколько таблиц в другую таблицу. Map сводится к выполнению пользовательской функции map для каждой записи входной таблицы. Функция принимает на вход одну запись и генерирует произвольное количество выходных записей. Reduceвыполняет пользовательскую функцию reduce для каждого уникального ключа во входной таблице. Функция принимает на вход ключ и итератор, пробегающий по всем записям с этим ключом. Эта функция также может генерировать произвольное количество выходных записей. Таблицы можно удалять, копировать, объединять и сортировать.
Второе рождение Добавляем Map/Reduce хранилище логов Переносим все тяжелые отчеты в Map/Reduce База только для быстрых запросов и запросов по «выборкам»
Архитектура v.5
Резюме Что бы выдержать рост данных необходимо выносить обработку и хранение больших данных в Map/Reduce БД тоже нужна – для конкурентных точечных запросов, структурированных данных, проверок целостности Готовы обрабатывать петабайты 
Вопросы

Mais conteúdo relacionado

Semelhante a Death And Resurrection Of Yandex Statistics Pavel Aleshin

Uniting Data JavaOne2013
Uniting Data JavaOne2013Uniting Data JavaOne2013
Uniting Data JavaOne2013Dmitri Shiryaev
 
Оптимизация – стоимость владения
Оптимизация – стоимость владенияОптимизация – стоимость владения
Оптимизация – стоимость владенияАнастасия Масенко
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data MATLAB
 
История успеха Яндекс.Почты
История успеха Яндекс.ПочтыИстория успеха Яндекс.Почты
История успеха Яндекс.Почтыdev1ant
 
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСИнфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСYury Petrov
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)Ontico
 
IMS DB vs DB2 for z/OS
IMS DB vs DB2 for z/OSIMS DB vs DB2 for z/OS
IMS DB vs DB2 for z/OSGregory Vlasov
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Ontico
 
Практика миграции реляционных баз данных в экосистему Hadoop
Практика миграции реляционных баз данных в экосистему HadoopПрактика миграции реляционных баз данных в экосистему Hadoop
Практика миграции реляционных баз данных в экосистему HadoopYury Petrov
 
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)Ontico
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetOntico
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование системMedia Gorod
 
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...yaevents
 
Innodb Scalability And New Features Hl2008 Rus
Innodb Scalability And New Features Hl2008 RusInnodb Scalability And New Features Hl2008 Rus
Innodb Scalability And New Features Hl2008 RusOntico
 
Top big data architecture patterns by Igor Chub
Top big data architecture patterns  by Igor ChubTop big data architecture patterns  by Igor Chub
Top big data architecture patterns by Igor Chub.NET User Group Dnipro
 
Леонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUET
Леонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUETЛеонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUET
Леонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUETProvectus
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareBAKOTECH
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareMarina Gryshko
 
DB2 BLU Explained
DB2 BLU ExplainedDB2 BLU Explained
DB2 BLU ExplainedMaxim Zinal
 

Semelhante a Death And Resurrection Of Yandex Statistics Pavel Aleshin (20)

Uniting Data JavaOne2013
Uniting Data JavaOne2013Uniting Data JavaOne2013
Uniting Data JavaOne2013
 
Оптимизация – стоимость владения
Оптимизация – стоимость владенияОптимизация – стоимость владения
Оптимизация – стоимость владения
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data
 
История успеха Яндекс.Почты
История успеха Яндекс.ПочтыИстория успеха Яндекс.Почты
История успеха Яндекс.Почты
 
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСИнфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиС
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
 
IMS DB vs DB2 for z/OS
IMS DB vs DB2 for z/OSIMS DB vs DB2 for z/OS
IMS DB vs DB2 for z/OS
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
 
Практика миграции реляционных баз данных в экосистему Hadoop
Практика миграции реляционных баз данных в экосистему HadoopПрактика миграции реляционных баз данных в экосистему Hadoop
Практика миграции реляционных баз данных в экосистему Hadoop
 
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
 
Present
PresentPresent
Present
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreet
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование систем
 
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...
 
Innodb Scalability And New Features Hl2008 Rus
Innodb Scalability And New Features Hl2008 RusInnodb Scalability And New Features Hl2008 Rus
Innodb Scalability And New Features Hl2008 Rus
 
Top big data architecture patterns by Igor Chub
Top big data architecture patterns  by Igor ChubTop big data architecture patterns  by Igor Chub
Top big data architecture patterns by Igor Chub
 
Леонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUET
Леонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUETЛеонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUET
Леонид Блохин (Big Data Engineer): КОЛОНОЧНЫЕ БД НА ПРИМЕРЕ PARQUET
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
 
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell SoftwareМониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
Мониторинг, тюнинг и оптимизация баз данных, используя продукты Dell Software
 
DB2 BLU Explained
DB2 BLU ExplainedDB2 BLU Explained
DB2 BLU Explained
 

Death And Resurrection Of Yandex Statistics Pavel Aleshin

  • 1. Как Map/Reduce спас Яндекс.Статистику
  • 2. Background Взрывной рост объема данных, за 8 лет объем дневных данных вырос в 2000 разс 2ГБ до 4ТБ Скорости процессоров, дисков и сети выросли не более чем в 10 раз Единственных способ выжить – линейно масштабироваться, добавляя сервера Осознали мы это не сразу …
  • 3. Рождение – 2001 год Яндекс– start-up На все 1 сервер БД 400ГБ, 2ГБ данных в день 4 проекта и 3 отчета Все отчеты за день считаются за полчаса
  • 5. Первые шаги Рост данных, новые проекты и отчеты Из-за падения базы бывает не успеваем пересчитать отчеты в тот же день Больше истории, которую нельзя терять Появляются простые копии БД для надежности и ускорения расчетов
  • 7. Активный рост Рост данных и требований продолжается Вынуждены использовать NAS как хранилище для БД, появляется новое узкое место – сеть между хранилищем и БД Переходим на Oracle RAC
  • 9. Старость Сеть между NAS и БД постоянно перегружена Тяжелые запросы очень плохо используют больше одной машины, но в состоянии «убить» весь кластер Используем bonding и добавляем новые и головы в RAC, но предел уже очень близко
  • 11. Смерть Рост данных продолжился Большие отчетам уже не хватает ресурсов, их расчет может занимать до нескольких суток Нет ресурсов на пересчет отчетов Головы RAC постоянно ждут друг друга Наращивать уже нечего …
  • 13. Что такое Map/Reduce? Map/Reduce это технология, упрощающая написание приложений, для параллельной обработки больших объемов данных на кластерахсостоящих из множества компьютеров.
  • 14. Что есть в Map/Reduce? Линейное масштабирование по объему данных и скорости обработки Хранилище неструктурированных данных Простота модели – map и reduce задачи Поддержка любых языков Встроенная поддержка HA
  • 15. Чего нет в Map/Reduce? Типов данных Индексов Партицирования Проверок целостности
  • 17. Что такое MapReduce? Данные С точки зрения пользователя данные - это таблицы. Каждая запись в таблице состоит из полей «ключ» (key) и «значение» (value) Таблица может быть отсортирована по ключу, но по умолчанию таблицы не сортированы. ОперацииНад данными можно производить два типа операций: map и reduce. Каждая из них преобразует одну или несколько таблиц в другую таблицу. Map сводится к выполнению пользовательской функции map для каждой записи входной таблицы. Функция принимает на вход одну запись и генерирует произвольное количество выходных записей. Reduceвыполняет пользовательскую функцию reduce для каждого уникального ключа во входной таблице. Функция принимает на вход ключ и итератор, пробегающий по всем записям с этим ключом. Эта функция также может генерировать произвольное количество выходных записей. Таблицы можно удалять, копировать, объединять и сортировать.
  • 18. Второе рождение Добавляем Map/Reduce хранилище логов Переносим все тяжелые отчеты в Map/Reduce База только для быстрых запросов и запросов по «выборкам»
  • 20. Резюме Что бы выдержать рост данных необходимо выносить обработку и хранение больших данных в Map/Reduce БД тоже нужна – для конкурентных точечных запросов, структурированных данных, проверок целостности Готовы обрабатывать петабайты 