Разработка аналитической системы для высоконагруженного медиа Базы данных, системы хранения
Тезисы
Когда Sports.ru превратился из новостного сайта в полноценную социальную сеть, месячная аудитория достигла 12 миллионов уникальных пользователей, а к сайту добавились несколько сотен групп в социальных сетях и клубных мобильных приложений, обычных инструментов веб-аналитики стало недостаточно. Нам нужно было научиться считать и визуализировать много новых метрик, специфичных для медиа и социальных сетей, и использовать полученную информацию для персонализации сайта. Мы решились взяться за разработку собственной аналитической системы, которая позволила бы собрать все нужные данные в одном месте, быстро их обработать и понятно отобразить.
Мы расскажем о том, как научились хранить данные о трафике на наших сайтах (около 400 млн. хитов в месяц) в распределенной колоночной СУБД, выгружать из API социальных сетей и AppAnnie данные о подписках на наши потоки и установках мобильных приложений, а также импортировать из базы данных сайта информацию об активности зарегистрированных пользователей. Для работы с накопленными терабайтами данных мы научились делать удобные панели мониторинга (dashboards), которыми могут пользоваться не только аналитики, но и журналисты, маркетологи и продакт-менеджеры.
При создании нашей аналитической системы мы использовали Amazon Redshift в качестве основного хранилища данных, PostgreSQL для получения информации из БД сайта, MongoDB для кэширования персонализированных рекомендаций и Chart.io для визуализации.