Артем Маринов "Сегментируем 600 млн. пользователей в...

25

Upload: tanya-denisyuk

Post on 11-Apr-2017

78 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на
Page 2: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Что такое Facetz DMP

• Data Management Platform • 600 млн пользователей

Page 3: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

• Data Management Platform • 600 млн пользователей

5.5 млрд / сутки

Что такое Facetz DMP

Page 4: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

• Прямые установки пикселя

• Поток данных от партнеров

• Оффлайн выгрузки DMP

Механизмы получения данных

Page 5: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Ключевые показатели

• Горизонтальная масштабируемость

• Оценка объема аудитории

• Удобство мониторинга и разработки

• Хорошая скорость реакции на события

Page 6: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Как было раньше

Page 7: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Как было раньше

Loader

Page 8: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Как было раньше

Loader

Analytic Engine

statistics

Partners

Page 9: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Ключевые показатели

• Горизонтальная масштабируемость

• Оценка объема аудитории

• Удобство мониторинга и разработки

• Хорошая скорость реакции на события

Page 10: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Ключевые показатели

• Горизонтальная масштабируемость

• Оценка объема аудитории

• Удобство мониторинга и разработки

• Хорошая скорость реакции на события

Page 11: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Ключевые показатели

• Горизонтальная масштабируемость

• Оценка объема аудитории

• Удобство мониторинга и разработки

• Хорошая скорость реакции на события

Page 12: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Чего мы хотим?

• Писать данные в HBase сразу

• Реагировать на события мгновенно

• Удобство мониторинга и разработки

Page 13: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Начинаем сегментировать сразу• готовимся к random read

• смена workload

• максимальная плотность хранения

Loaderbulk_load

Page 14: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Начинаем сегментировать сразу• готовимся к random read

• смена workload

• максимальная плотность хранения

• увеличиваем нагрузку

Loader

Segmentator

trigger

bulk_load

Page 15: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Начинаем сегментировать сразу

Loader

Segmentator

trigger

bulk_load

/ GOOGLEPartners

• готовимся к random read

• смена workload

• максимальная плотность хранения

• увеличиваем нагрузку

Page 16: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Kafka — прекрасный инструмент

• Topic — набор partition • Partition — файл(ы)

partition 1

partition 2

partition N

Page 17: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

• Producers — пишут в конец • Consumer Group — независимы

partition 1

partition 2

partition N

Producers

• Topic — набор partition • Partition — файл(ы)

Kafka — прекрасный инструмент

Page 18: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

• Producers — пишут в конец • Consumer Group — независимы

partition 1

partition 2

partition N

ProducersGroup AA: 7

A: 5

• Topic — набор partition • Partition — файл(ы)

Kafka — прекрасный инструмент

Page 19: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

• Producers — пишут в конец • Consumer Group — независимы

partition 1

partition 2

partition N

ProducersGroup A

Group B

A: 7

A: 5

• Topic — набор partition • Partition — файл(ы)

B: 3

B: 8

Kafka — прекрасный инструмент

Page 20: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

• Producers — пишут в конец • Consumer Group — независимы

partition 1

partition 2

partition N

ProducersConsumer A

• Topic — набор partition • Partition — файл(ы)

A: 7

A: 5 B: 3

B: 8 Group A

Consumer BGroup B

Kafka — прекрасный инструмент

Page 21: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Пишем данные в реальном времени

• подготовка к random write

Loader

Page 22: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Пишем данные в реальном времени

• подготовка к random write

• все пошло не так

• самомасштабированиеStream-loaderLoader

Page 23: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Боты — зло

Page 24: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Планы

• Утилизация ресурсов hadoop кластера

• Точные средства хранения статистики в потоке

• Различные оптимизации по CPU

Page 25: Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на

Facetz.DCA

Спасибо!

Вопросы? Ответы?

Маринов Артем [email protected]