Обработка статистики в системе
управления баннерной рекламой
         Артём Вольфтруб
Общая архитектура системы
        Балансировщик
           нагрузки                 Балансировщик нагрузки


 Merchant
   ...
Размеры рекламной сети
• Более 200 000 рекламных площадок
• Более 20 000 рекламодателей
• Более 450 000 000 регистрируемых...
Нагрузка на систему
• 15 000 запросов к баннерным машинам в секунду
• Около 500 запросов к порталу в секунду




         ...
ок




                   100 000 000
                                 200 000 000
                                       ...
• Распределение нагрузки
  – Балансирвка запросов с помощью аппаратного LB


• Повышение отказоустойчивости
  – Взаимозаме...
Особенности бизнес модели
• Качество сервиса определяется количеством
  участников
• Отсутствует комиссия за показы
• Площ...
Что регистрируем
• Показы
• Клики
• Транзакции




                                  8
ок
       т.
          0




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




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




                                11
Способы ускорения обработки
•   Ускорение загрузки там, где это возможно
•   Задачи не должны блокировать друг друга
•   З...
Этапы обработки статистики
•   Загрузка логов с баннерных серверов
•   Предварительная группировка данных
•   Проверка кли...
Проблемы базы данных
• Гигантский объем таблиц с показами и
  кликами
• Необходимо блокировать загрузку на время
  расчета...
Предварительное заполнение БД
                  Триггеры                      Хранимые
                                   ...
Денормализация данных
                   Stats_stg


   Рекламные                       Рекламные
    кампании            ...
Отображение статистики




            Кэш приложения
Merchant
                              Front End

                  ...
Почему мы кэшируем данные
• Запросы часто повторяются
• Статистика обновляется по расписанию. Если
  нет новых данных, зач...
Контроль работоспособности
• Остановка системы приводит к лавинообразному
  накоплению необработанной информации
• Клиенты...
Основные индикаторы
• Число необработанных файлов на сервере
• Задержка загрузки файлов с баннер сервера
• Задержка обрабо...
Что мы контролируем
• Баннерные сервера
• Сервер обработки статистики
• База данных




                                 21
Как мы контролируем
• Готовые решения для контроля на аппаратном
  уровне (Nagios)

• Собственные разработки для контроля ...
Как защититься от сбоев
• Раньше знаешь, больше спишь
• Проблему нужно предвидеть
• С проблемой нужно научиться бороться

...
Вопросы?
Email: artem@gramant.ru
Upcoming SlideShare
Loading in...5
×

!1 Hl++ Stats

311

Published on

Published in: Technology, Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
311
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

!1 Hl++ Stats

  1. 1. Обработка статистики в системе управления баннерной рекламой Артём Вольфтруб
  2. 2. Общая архитектура системы Балансировщик нагрузки Балансировщик нагрузки Merchant …. Баннер сервера Портал Affiliate База Сервер обработки данных статистики 2
  3. 3. Размеры рекламной сети • Более 200 000 рекламных площадок • Более 20 000 рекламодателей • Более 450 000 000 регистрируемых событий ежедневно 3
  4. 4. Нагрузка на систему • 15 000 запросов к баннерным машинам в секунду • Около 500 запросов к порталу в секунду 4
  5. 5. ок 100 000 000 200 000 000 300 000 000 400 000 000 500 000 000 600 000 000 700 000 000 0 т. 0 ян 3 в. 0 ап 4 р. ию 0 4 л. 0 ок 4 т. 0 ян 4 в. 0 ап 5 р. ию 0 5 л. 0 ок 5 т. 0 ян 5 в. 0 ап 6 р. 0 ию 6 л. 0 ок 6 т. 0 ян 6 в. 0 ап 7 р. ию 0 7 л. 0 ок 7 т. 0 ян 7 в. 08 Число регистрируемых событий 5
  6. 6. • Распределение нагрузки – Балансирвка запросов с помощью аппаратного LB • Повышение отказоустойчивости – Взаимозаменяемость баннерных машин – Дублирование ключевых компонентов системы 6
  7. 7. Особенности бизнес модели • Качество сервиса определяется количеством участников • Отсутствует комиссия за показы • Площадки заинтересованы в эффективном размещении • Вовлёченность в процесс 7
  8. 8. Что регистрируем • Показы • Клики • Транзакции 8
  9. 9. ок т. 0 0% 20% 40% 60% 80% ян 3 в. 100% 0 ап 4 р. ию 04 л. 0 ок 4 т. 0 ян 4 в. 0 ап 5 р. ию 05 л. 0 ок 5 т. 0 ян 5 в. 0 ап 6 р. ию 06 л. 0 ок 6 т. 0 ян 6 в. 0 ап 7 р. ию 07 л. 0 ок 7 т. 0 ян 7 в. 08 Клики Транзакции Комиссия за клики и транзакции 9
  10. 10. Основные проблемы • Очень много данных • Очень мало времени на обработку • Система должна работать непрерывно 10
  11. 11. Способы уменьшения объема данных • Предварительная группировка • Проверка кликов 11
  12. 12. Способы ускорения обработки • Ускорение загрузки там, где это возможно • Задачи не должны блокировать друг друга • Запуск процессов по расписанию • Взаимосвязанность задач – это хорошо 12
  13. 13. Этапы обработки статистики • Загрузка логов с баннерных серверов • Предварительная группировка данных • Проверка кликов • Загрузка данных в БД • Расчет статистики 13
  14. 14. Проблемы базы данных • Гигантский объем таблиц с показами и кликами • Необходимо блокировать загрузку на время расчета статистики 14
  15. 15. Предварительное заполнение БД Триггеры Хранимые процедуры Pageviews Pageviews_stg Clicks Clicks_stg Stats_stg Transactions Transactions_stg 15
  16. 16. Денормализация данных Stats_stg Рекламные Рекламные кампании места Площадки Рекламодатели Баннеры Баннеры Статистика для Статистика для рекламодателей владельцев рекламных площадок 16
  17. 17. Отображение статистики Кэш приложения Merchant Front End База данных Affiliate Web Сервер 17
  18. 18. Почему мы кэшируем данные • Запросы часто повторяются • Статистика обновляется по расписанию. Если нет новых данных, зачем обращатся к БД? • Сортировка средствами БД работает медленнее 18
  19. 19. Контроль работоспособности • Остановка системы приводит к лавинообразному накоплению необработанной информации • Клиенты хотят видеть свои данные • Обработка статистики используется для биллинга 19
  20. 20. Основные индикаторы • Число необработанных файлов на сервере • Задержка загрузки файлов с баннер сервера • Задержка обработки статистики 20
  21. 21. Что мы контролируем • Баннерные сервера • Сервер обработки статистики • База данных 21
  22. 22. Как мы контролируем • Готовые решения для контроля на аппаратном уровне (Nagios) • Собственные разработки для контроля на уровне приложения 22
  23. 23. Как защититься от сбоев • Раньше знаешь, больше спишь • Проблему нужно предвидеть • С проблемой нужно научиться бороться 23
  24. 24. Вопросы? Email: artem@gramant.ru
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×