Компания Zynga развернула у себя MemSQL кластер из 100 серверов. MemSQL — разработка команды двух бывших сотрудников Facebook, — может и не избавит Zynga от всех проблем, но она однозначно может помочь компании поднять доходы и поспособствовать появлению новых типов игр.
Разработчик социальных игр Zynga не могла похвастаться невероятными успехами после выхода на IPO, и новая база данных имеет шанс оказаться первым шагом к тому, чтобы это исправить. По крайней мере, она может открыть для компании некоторые недоступные раньше возможности, такие как выдача контекстной рекламы и рекомендаций в реальном времени и более продвинутые форматы многопользовательских игр.
MemSQL — это база данных от небольшой компании в Сан-Франциско, созданной Эриком Френкилем (Eric Frenkiel) и Никитой Шамгуновым, двумя бывшими сотрудниками Facebook. База данных, первый релиз которой увидел свет в июне прошлого года, хранит все данные в памяти, используя lock-free структуры данных, и компилирует запросы в машинный код, что позволяет вставлять и обновлять данные с очень высокой скоростью, и одновременно с этим выполнять тяжелые OLAP запросы на живых данных.
Со слов Эрика Френкиля, базой данных сегодня пользуются такие компании как JPMorgan Chase, Hitachi и NY Life.
Дэн Маккэфри (Dan McCaffrey), заведующий аналитикой в Zynga, рассказывает, что по состоянию на начало января, MemSQL уже хранит в себе 70 миллиардов записей, включая как логи серверов и баз данных, так и информацию о социальных взаимодействиях пользователей. Основное использование на сегодняшний день — это анализ логов, который помогает понять, насколько хорошо работают приложения компании. По сравнению с используемым для этой цели прежде MySQL Cluster, Zynga может значительно быстрее обнаруживать проблемы и реагировать на них.
На данный момент кластер был развернут всего несколько месяцев, и этим объясняется ограниченность его использования. Дэн и его команда планируют расширить использование MemSQL на больший круг задач, включая возможность принимать решения на основе действий пользователя в реальном времени, вместо того, чтобы опираться на предпросчет данных ночью, когда нагрузка на сервера ниже. Это позволит приложениям принимать лучшие решения в области внутреигровых покупок и рекомендаций, и показывать более релевантную контекстную рекламу. Так как на сегодня 95% доходов Zynga — это внутреигровые покупки, а к 2015 Дэн ожидает огромный рост доходов от контекстной рекламы, улучшения в этих областях являются очень важным для компании. Прежде Zynga была вынуждена пересчитывать данные ночью в Vertica, а если аналитики хотели выполнить какие-либо запросы онлайн, они могли сделать это только с небольшой выборкой, которая вмещалась бы в оперативную память. MemSQL решает эти проблемы, позволяя с высокой скоростью выполнять OLAP запросы на кластере одновременно с тем, как в него пишутся данные.
В дополнение к улучшению процесса анализа данных, MemSQL может повлиять на появление новых типов игр. Дэн отмечает, что у Zynga сегодня мало игр, в которых игроки выполняют действия одновременно, большинство игр являются пошаговыми, и очень мало игр являются по настоящему многопользовательскими.
Конечно, едва ли новая база данных сама по себе сделает Zynga прибыльной, и, как отметил Дэн, хотя опыт работы с MemSQL пока что был очень положительным, это все еще небольшая компания, и им предстоит сделать очень много работы, если они хотят получить широкое распространение благодаря Zynga. Но возможности, открывшиеся Zynga с разворачиванием MemSQL кластера, в очередной раз показывают, как важен выбор правильных технологий при построении большого бизнеса в таких масштабах.