Как мы делаем на Java Join истории изменений профилей миллионов игроков к аналитическим событиям BigData и машинное обучение
Lead Java Developer в Pixonic.
Разработкой высоконагруженных систем занимается с детства. Запустил несколько стартапов в разных областях — от хостинга многопользовательских чатов до агрегаторов соцсетей. Сейчас руководит отделом разработки внутренней аналитической системы AppMetr для быстрой работы с BigData.
Для нас в Pixonic аналитика — фундамент для большинства процессов. В 2011 году мы написали на Java свою внутреннюю аналитическую систему AppMetr, которая хранит терабайты данных без схемы, принимает миллиарды игровых событий каждый день и выполняет запросы, которые могут сформировать все сотрудники, за секунды.
В этом докладе мы расскажем о том, как решали следующие проблемы:
- Атрибуты события собираются из разных микросервисов;
- Обновление старых иммутабельных событий в реальном времени;
- Прием событий, модифицирующих профиль игрока в любом порядке;
- Уменьшение объема денормализованных данных на диске;
Недавно мы ушли от денормализации данных и больше не копируем атрибуты профиля игрока в каждое аналитическое событие.
В докладе расскажем, как реализовали в AppMetr так называемый "исторический джойн" – джойн истории изменений атрибутов профилей
миллионов игроков к миллиардам событий во время выполнения аналитического запроса. Ну и конечно расскажем о непосредственном профите, который мы от этого получили.