Обработка статистики в системе управления баннерной рекламой Артём Вольфтруб

Содержание

Слайд 2

Общая архитектура системы

Общая архитектура системы

Слайд 3

Размеры рекламной сети Более 200 000 рекламных площадок Более 20 000

Размеры рекламной сети

Более 200 000 рекламных площадок
Более 20 000 рекламодателей
Более 450

000 000 регистрируемых событий ежедневно
Слайд 4

Нагрузка на систему 15 000 запросов к баннерным машинам в секунду

Нагрузка на систему

15 000 запросов к баннерным машинам в секунду
Около 500

запросов к порталу в секунду
Слайд 5

 Число регистрируемых событий


Число регистрируемых событий

Слайд 6

Распределение нагрузки Балансирвка запросов с помощью аппаратного LB Повышение отказоустойчивости Взаимозаменяемость

Распределение нагрузки
Балансирвка запросов с помощью аппаратного LB
Повышение отказоустойчивости
Взаимозаменяемость баннерных машин
Дублирование ключевых

компонентов системы
Слайд 7

Особенности бизнес модели Качество сервиса определяется количеством участников Отсутствует комиссия за

Особенности бизнес модели

Качество сервиса определяется количеством участников
Отсутствует комиссия за показы
Площадки

заинтересованы в эффективном размещении
Вовлёченность в процесс
Слайд 8

 Что регистрируем Показы Клики Транзакции


Что регистрируем

Показы
Клики
Транзакции

Слайд 9

Комиссия за клики и транзакции

Комиссия за клики и транзакции

Слайд 10

 Основные проблемы Очень много данных Очень мало времени на обработку Система должна работать непрерывно


Основные проблемы

Очень много данных
Очень мало времени на обработку
Система должна работать непрерывно

Слайд 11

 Способы уменьшения объема данных Предварительная группировка Проверка кликов


Способы уменьшения объема данных

Предварительная группировка
Проверка кликов

Слайд 12

Способы ускорения обработки Ускорение загрузки там, где это возможно Задачи не

Способы ускорения обработки

Ускорение загрузки там, где это возможно
Задачи не должны блокировать

друг друга
Запуск процессов по расписанию
Взаимосвязанность задач – это хорошо
Слайд 13

 Этапы обработки статистики Загрузка логов с баннерных серверов Предварительная группировка


Этапы обработки статистики

Загрузка логов с баннерных серверов
Предварительная группировка данных
Проверка кликов
Загрузка данных

в БД
Расчет статистики
Слайд 14

Проблемы базы данных Гигантский объем таблиц с показами и кликами Необходимо

Проблемы базы данных

Гигантский объем таблиц с показами и кликами
Необходимо блокировать загрузку

на время расчета статистики
Слайд 15

Предварительное заполнение БД

Предварительное заполнение БД

Слайд 16

Денормализация данных

Денормализация данных

Слайд 17

Отображение статистики

Отображение статистики

Слайд 18

Почему мы кэшируем данные Запросы часто повторяются Статистика обновляется по расписанию.

Почему мы кэшируем данные

Запросы часто повторяются
Статистика обновляется по расписанию. Если нет

новых данных, зачем обращатся к БД?
Сортировка средствами БД работает медленнее
Слайд 19

 Контроль работоспособности Остановка системы приводит к лавинообразному накоплению необработанной информации


Контроль работоспособности

Остановка системы приводит к лавинообразному накоплению необработанной информации
Клиенты хотят видеть

свои данные
Обработка статистики используется для биллинга
Слайд 20

Основные индикаторы Число необработанных файлов на сервере Задержка загрузки файлов с баннер сервера Задержка обработки статистики

Основные индикаторы

Число необработанных файлов на сервере
Задержка загрузки файлов с баннер сервера
Задержка

обработки статистики
Слайд 21

 Что мы контролируем Баннерные сервера Сервер обработки статистики База данных


Что мы контролируем

Баннерные сервера
Сервер обработки статистики
База данных

Слайд 22

 Как мы контролируем Готовые решения для контроля на аппаратном уровне


Как мы контролируем

Готовые решения для контроля на аппаратном уровне (Nagios)
Собственные разработки

для контроля на уровне приложения
Слайд 23

 Как защититься от сбоев Раньше знаешь, больше спишь Проблему нужно


Как защититься от сбоев

Раньше знаешь, больше спишь
Проблему нужно предвидеть
С проблемой нужно

научиться бороться