ВВЕДЕНИЕ 4
1 ПРЕДМЕТНАЯ ОБЛАСТЬ 5
1.1 ОСНОВЫ A/B-ТЕСТИРОВАНИЯ 5
1.2 A/B-ТЕСТИРОВАНИЕ В ЯНДЕКСЕ 6
2 АНАЛИЗ ТРЕБОВАНИЙ 10
2.1 ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 10
2.2 НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 11
3 АНАЛИЗ ТЕКУЩЕГО РЕШЕНИЯ 12
3.1 СИСТЕМА ОБРАБОТКИ РЕЗУЛЬТАТОВ ЭКСПЕРИМЕНТОВ 12
3.2 ВОЗМОЖНОСТИ И НЕДОСТАТКИYT 13
4 АНАЛИЗ АЛЬТЕРНАТИВНЫХ РЕШЕНИЙ 15
4.1 ВЫБОР АЛЬТЕРНАТИВНОГО РЕШЕНИЯ 15
4.2 СРАВНЕНИЕ СУБД 17
4.3 СРАВНЕНИЕYT И CLICKHOUSE 22
5 ТЕХНОЛОГИЧЕСКИЙ СТЕК 24
5.1 PYTHON 24
5.1.1 Python-библиотека requests 24
5.1.2 Python-библиотека json 25
5.2 CLICKHOUSE 25
5.2.1 OLAP-сценарии работы 27
5.2.1 Формат выходных данных в ClickHouse 28
6 ПРОЕКТИРОВАНИЕ 31
6.1 CLICKHOUSE В ОКРУЖЕНИИ СИСТЕМЫ ОБРАБОТКИ РЕЗУЛЬТАТОВ
ЭКСПЕРИМЕНТОВ 31
6.2 СИСТЕМА ОБРАБОТКИ РЕЗУЛЬТАТОВ ЭКСПЕРИМЕНТОВ ДО ИЗМЕНЕНИЙ 32
6.3 СИСТЕМА ОБРАБОТКИ РЕЗУЛЬТАТОВ ЭКСПЕРИМЕНТОВ ПОСЛЕ ИЗМЕНЕНИЙ . 33
6.4 ПАТТЕРН ШЛЮЗ 34
6.4 ШЛЮЗ К CLICKHOUSE 35
6.5 КОНСОЛЬНАЯ УТИЛИТА 37
ЗАКЛЮЧЕНИЕ 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 41
Яндекс - это большая технологическая компания, широко известная в России и странах СНГ.
У компании Яндекс существует множество внешних продуктов, такие как поиск, Яндекс.Такси, Яндекс.Еда, Яндекс.Дзен и многие другие. Помимо внешних продуктов у компании есть ряд внутренних продуктов для собственного использования. В частности, у Яндекса есть собственные наработки в сфере A/B-тестирования.
Уже не первый год с помощью A/B-тестирования компания Яндекс улучшает собственные продукты. При этом сами инструменты A/B- тестирования постоянно развиваются внутри компании.
В данной работе будет описано очередное улучшение инструментов A/B-тестирования. Цель работы - разработать шлюз к ClickHouse в системе обработки результатов экспериментов A/B-тестирования.
В ходе работы будет выполнен анализ требований, составлена модель предметной области. Будет рассмотрена проблема, из-за которой потребовались изменения в системе, а также альтернативные способы решения данной проблемы.
В результате система обработки результатов экспериментов A/B- тестирования станет более гибкой в выборе источника данных. А также получит ряд функциональный возможностей, связанных с выбором в качестве источника данных ClickHouse, о чем будет описано в данной работе.
В рамках данной работы был выполнен анализ требований, составлена модель предметной области. Были выявлены проблемы в текущем решение, рассмотрены способы решения описанных проблем. В качестве решения поставленных проблем была выбрана СУБД ClickHouse. На основе полученной модели предметной области был cпроектирован и реализован шлюз к ClickHouse. Все поставленные цели и задачи были достигнуты в соответствии со сформулированными требованиями.
В момент написания данной работы 4 проекта используют ClickHouse в своих расчетах, это 8% от общего числа проектов. При этом было добавлено 30 расчетов, написанных к ClickHouse, что составляет 15% от общего количества расчетов.
В результате можно сказать, что внедрение шлюза к ClickHouse было проведено успешно, а данная функциональность нашла своих пользователей.