Нас часто спрашивают, над чем мы работаем, когда появится новое решение для отчетов, пользовательские метрики, когда можно будет считать время конверсии по времени продажи, а не клика, и еще много других вопросов. Сегодня мы обо всем расскажем и объясним, почему пока не появляются новые функции.
Первая версия Keitaro вышла в 2009 году. Все 12 последних лет мы постоянно развиваем трекер, прислушиваясь к вашим пожеланиям и рекомендациям. Со временем архитектура стала менее гибкой. Технологии, которые мы использовали, устарели, некоторые и вовсе перестали существовать.
Внедрение ClickHouse
Самая серьезная проблема, с которой мы столкнулись — это медленные отчеты на больших объемах. Причина в том, что мы уперлись в возможности MySQL. Да, на 7ой версии отчеты были быстрее, но только за счет того, что мы заранее рассчитывали метрики и просто не давали настраивать такие гибкие отчеты, какие можно настроить сейчас в Keitaro 9.
Два года назад мы начали переход на ClickHouse. Коротко — это шустрая база для больших объемов данных, которая в разы быстрее строит отчеты по сравнению с MySQL. Подробно про эту базу и сравнение быстродействия можно прочитать на сайте ClickHouse. Некоторые облачные трекеры уже используют эту базу.
Проект мы назвали RBooster, сокращение от Reports Booster.
Что мы уже сделали:
- Инсталлятор умеет ставить ClickHouse на серверы.
- Новый конструктор отчетов, который умеет использовать данные как из MySQL, так и ClickHouse.
- Мигратор статистики из MySQL в ClickHouse.
Дальнейший план:
- Сделать поддержку массового обновления расходов для ClickHouse.
- Сделать автоматическую поднастройку ClickHouse под любой сервер.
- Провести закрытое альфа-тестирование.
- Провести открытое бета-тестирование.
Именно из-за изменения архитектуры мы остановили добавление новых функций в отчеты, включая пользовательские метрики.
Обновление интерфейса (UI)
Второе место среди часто задаваемых занимают вопросы, связанные с удобством интерфейса трекера. Это вопросы и про страницу Домены, и про пагинацию, добавление сортировки на страницы, и часто встречающиеся недочеты. Изначально интерфейс был написан на AngularJS и CoffeeScript. На данный момент обе технологии устарели и внесение изменений на текущем движке требует больших усилий. Также к недостаткам текущего движка можно отнести низкую производительность.
В прошлом году мы начали переписывать код на React и TypeScript. Делаем это постепенно, частями. С каждым обновлением интерфейс становится быстрее и аккуратнее.
А что по срокам?
Выставление примерных сроков в разработке всегда несет в себе риск того, что мы можем не успеть в обещанное время.
На текущий момент вся наша команда разработчиков работает в этих двух направлениях.
А после выпуска стабильной версии трекера с поддержкой ClickHouse мы полностью разблокируем добавление нового функционала и будем реализовывать все поступившие предложения по отчетам и интерфейсу.
Сейчас мы пожертвовали ростом популярности, приостановив добавление новых фич, и вложились в долгосрочное развитие. Спасибо за то, что поддерживаете нас на этом пути.