SlideShare una empresa de Scribd logo
1 de 73
Descargar para leer sin conexión
RT индексы в поиске Avito
Вячеслав Крюков, Avito
Поиск в Avito
● Активные объявления
● Контекстные объявления
● BackOffice
● В докладе про поиск активных объявлений на RT (Real Time) индексах
Поиск «до» внедрения RT индексов
Поиск «до» внедрения RT индексов
● Активное объявление
появилось в Master базе
Поиск «до» внедрения RT индексов
● Через логическую
репликацию оно стало
доступно на сервере, где
происходит индексация
Поиск «до» внедрения RT индексов
● Каждые 5-8 мин строятся Plain
индексы и с этой задержкой наше
объявление проиндексировано
● В это время репликация на паузе
Поиск «до» внедрения RT индексов
● Plain индексы раздаются по
udp на поисковые сервера,
битые индексы дораздаются
через rsync
Поиск «до» внедрения RT индексов
● Ротация Plain индексов
делает доступным в поиске
наше объявление
Поиск «до» внедрения RT индексов
● Пользователь делает
поисковый запрос на сайте
или в мобильном приложении
через интернет
Поиск «до» внедрения RT индексов
● Его принимает однин из
бэкендов
Поиск «до» внедрения RT индексов
● HAProxy бэкенда отправляет
SphinxQL запрос на демон
Searchd и он выполняется на
индексе одной из категории
Поиск «до» внедрения RT индексов
● Или выполняется
распределенный запрос по
индексам всех категорий
Ожидания от внедрения RT индексов
● Мгновенная доступность нового объявления в поиске
● Надежность
● Масштабируемсть
● Обслуживать высокую поисковую нагрузку (17000 RPS в пике)
● Сотни изменений в секунду
● Комбинированное решение, с тем что было «до»
● Унификация настроек
Чем отличается поиск на RT индексах от Plain?
● Indexer и Main+Delta схема внутри демона Searchd
● Indexer не нужен
● Запросы на изменения данных идут к Searchd
● Ram + Disk чанки
● Внутренние Kill листы
Изменения данных в RT индексах
● INSERT/REPLACE
● UPDATE
● DELETE
Поиск «после» внедрения RT индексов
Поиск «после» внедрения RT индексов
● Активное объявление
появилось в Master базе
Поиск «после» внедрения RT индексов
● Через логическую
репликацию оно стало
доступно на сервере, где
происходит индексация
Поиск «после» внедрения RT индексов
● По факту новых данных в
реплике генерируется
событие с Id объявления в
очереди PGQrt
Поиск «после» внедрения RT индексов
● Событие считывается
консьюмером RT Indexer
Поиск «после» внедрения RT индексов
● Если у RT Indexer
установлен флаг active, то
он делает SELECT из
реплики данных по Id
объявления в событии
Поиск «после» внедрения RT индексов
● Если данные найдены, то
RT Indexer выполнит запрос
REPLACE к демону Searchd
● Cоответствующие
изменения отображается в
RT индексах
Поиск «после» внедрения RT индексов
● Если данные не найдены,
то делается запрос DELETE
Поиск «после» внедрения RT индексов
● RT Indexer отмечает событие
в очереди обработанным
● Если при поступлении
события флага active не
было, то эта отметка
делается сразу и никакой
др. работы не делается
Отставание «До» и «после» выкатки RT индексов
Количество объявлений в общем индексе (Distr
Index)
Количество изменяемых объявлений во времени
Поиск «после» внедрения RT индексов
● Зачем две очереди PGQm и
PGQrt?
Зачем две очереди PGQm и PGQrt?
● Очередь PGQm нужна для Londiste репликации
● Очередь PGQrt влючена последовательно
● Данные есть в реплике - операция REPLACE
● Данных нет в реплике - операция DELETE
● Гонки данных не возможны
● Возможен оверхед по уже выполненной операции
Поиск «после» внедрения RT индексов
● Зачем нужны Plain
индексы?
Зачем нужны Plain индексы?
● Нельзя бесконечно накапливать изменения в RT индексах
● Нужно сбрасывать сотояние RT индексов — делать rebuild
● Plain индексы играют промежуточную роль
● Можем откатиться к решению «до», если RT поломается
Поиск «после» внедрения RT индексов
● Rebuild RT индексов
● Репликация на паузе
● Переиндексация Plain
индексов
Поиск «после» внедрения RT индексов
● Rebuild RT индексов
● Репликация на паузе
● Раздача Plain индексов
Поиск «после» внедрения RT индексов
● Rebuild RT индексов
● Репликация на паузе
● Принудительная пауза, для
холостой прокрутки PGQrt
Поиск «после» внедрения RT индексов
● Rebuild RT индексов
● Репликация на паузе
● RELOAD Plain индексов
Поиск «после» внедрения RT индексов
● Rebuild RT индексов
● Репликация на паузе
● ATTACH WITH TRUNCATE
Plain индексов в RT
Поиск «после» внедрения RT индексов
● Rebuild RT индексов
закончен
● Репликация снята с паузы
● Установлен флаг active
● RT indexer обрабатывает
очередь PGQrt
Rebuild RT индексов
Изменение размера Ram чанка
Поиск «после» внедрения RT индексов
● Поисковые запросы через
бэкененды и HAProxy
поступают на демон
Searchd и он их
отрабатывает на RT
индексах
Поисковая нагрузка
Поиск «после» внедрения RT индексов
● Зачем нужен Failover ?
Поиск «после» внедрения RT индексов
● Следит за отставанием
очереди PGQrt
Поиск «после» внедрения RT индексов
● Следит за отставанием и
кол-ом объявлений в RT
индексах
Поиск «после» внедрения RT индексов
● Следит за окончанием
периода активности RT
indexer
● Следит за перезапуском
или отсутствием процесса
RTIndexer
Поиск «после» внедрения RT индексов
● И устанавливает флаг
rebuild если есть
нарушения
● После этого начинается
Rebuild RT индексов
Что еще делает Failover?
● Перезапуск RTIndexer при зависании
● Нотификация в Slack
Неконтролируемое отставание очереди PGQrt
Контролируемое отставание очереди PGQrt
RT Indexer
● Python демон с подключенной библиотекой на Go
RT Indexer
● Если не установлен флаг active, RT Indexer прогоняет
очередь PGQrt вхолостую, без какой-либо работы
RT Indexer
● В RT Indexer можно выделить три основные сущности оформленные в
виде Go рутин и соединенные последовательно через каналы в
Pipeline
RT Indexer
● Сортирует Id объявлений в пачки по категориям, возвращает канал,
для передачи таких пачек
RT Indexer
● Передает отсортированные пачки Id в этот канал по мере
поступления событий из PGQrt
RT Indexer
● Слушает канал с отсортированными по категориям пачками Id
объявлений
● Извлекает для них данные объявлений из реплики исползуя конфиг
для Plain индексов
RT Indexer
● Создает два канала с данными объявлений по категориям для запросов
REPLACE и id удаляемых объявлений для запросов DELETE
● Если данные для Id объявления не найдены, то оно считается удаляемым
RT Indexer
● Передает в эти каналы данные по мере поступления пачек Id
объявлений
RT Indexer
● Слушает канал с данными объявлений по категориям для запросов
REPLACE
● Слушает канал с Id объявлений для удаления
● Формирует и выполняет запросы REPLACE и DELETE
RT Indexer
● Выполняются запросы REPLACE
и DELETE для категории 1
RT Indexer
● Выполняются запросы REPLACE
и DELETE для категории 2
RT Indexer
● Выполняются запросы REPLACE
и DELETE для категории Nc
RT Indexer
● В RT Indexer обрабатываются абсолютно все ошибки, падения не
допускаются
RT Indexer
● В RT Indexer отмечаются обработанными абсолютно все события
RT Indexer
● Ошибки пишутся в общий для всех канал ошибок
● Канал ошибок слушает специальная Go рутина
RT Indexer
● Если встречается критичная ошибка, то выставляется состояние
rebuild
● Аварийного завершения не происходит
Критичные ошибки в RT Indexer
● Возникновение ошибок выполнения запросов
● Появление нового поискового сервера
● Ошибки конфигурации
Настройка производительности
● Медленные запросы REPLACE/DELETE — отставание очереди PGQrt
● rt_mem_limit срабатывает поиндексно
● Необходим некоторый избыток rt_mem_limit
0.95 время выполнения SELECT
Максимальное время выполнение REPLACE
Отставание
Полное спокойствие в пик трафика
Что реально получили «после» внедрения RT индексов
● Попадание нового объявление в поиск с 10 сек отставанием
● Как и прежде держит высокую нагрузку
● Не вычитываем повторно данные
● Уменьшили трафик в сети
● Гармонично вписали решение c RT индексами в ранее существующую
систему
● Получили надежную систему
Спасибо, вопросы?

Más contenido relacionado

Destacado

"DeepLink’и в Avito" Артём Разинов (Avito)
"DeepLink’и в Avito" Артём Разинов (Avito)"DeepLink’и в Avito" Артём Разинов (Avito)
"DeepLink’и в Avito" Артём Разинов (Avito)AvitoTech
 
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)AvitoTech
 
"Построение рекомендательной системы на Python" Василий Лексин (Avito)
"Построение рекомендательной системы на Python" Василий Лексин (Avito)"Построение рекомендательной системы на Python" Василий Лексин (Avito)
"Построение рекомендательной системы на Python" Василий Лексин (Avito)AvitoTech
 
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)AvitoTech
 
Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)AvitoTech
 
Зачем в Avito Аналитика?
Зачем в Avito Аналитика?Зачем в Avito Аналитика?
Зачем в Avito Аналитика?AvitoTech
 
"Опыт участия в Microsoft Malware Classification Challenge" Михаил Трофимов ...
"Опыт участия в Microsoft Malware Classification Challenge"  Михаил Трофимов ..."Опыт участия в Microsoft Malware Classification Challenge"  Михаил Трофимов ...
"Опыт участия в Microsoft Malware Classification Challenge" Михаил Трофимов ...AvitoTech
 
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (..."Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...AvitoTech
 
"Погружение в Robolectric" Дмитрий Костырев (Avito)
"Погружение в Robolectric"  Дмитрий Костырев (Avito)"Погружение в Robolectric"  Дмитрий Костырев (Avito)
"Погружение в Robolectric" Дмитрий Костырев (Avito)AvitoTech
 
"Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (...
"Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (..."Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (...
"Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (...AvitoTech
 
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)AvitoTech
 
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)AvitoTech
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondAvitoTech
 
Machine Learning в Модерации - Андрей Рыбинцев (Avito)
Machine Learning в Модерации - Андрей Рыбинцев (Avito)Machine Learning в Модерации - Андрей Рыбинцев (Avito)
Machine Learning в Модерации - Андрей Рыбинцев (Avito)AvitoTech
 
Как сделать ваш JavaScript быстрее
Как сделать ваш JavaScript быстрееКак сделать ваш JavaScript быстрее
Как сделать ваш JavaScript быстрееRoman Dvornov
 
"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)AvitoTech
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими рукамиRoman Dvornov
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Ontico
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...Ontico
 
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)AvitoTech
 

Destacado (20)

"DeepLink’и в Avito" Артём Разинов (Avito)
"DeepLink’и в Avito" Артём Разинов (Avito)"DeepLink’и в Avito" Артём Разинов (Avito)
"DeepLink’и в Avito" Артём Разинов (Avito)
 
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)
 
"Построение рекомендательной системы на Python" Василий Лексин (Avito)
"Построение рекомендательной системы на Python" Василий Лексин (Avito)"Построение рекомендательной системы на Python" Василий Лексин (Avito)
"Построение рекомендательной системы на Python" Василий Лексин (Avito)
 
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
 
Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)
 
Зачем в Avito Аналитика?
Зачем в Avito Аналитика?Зачем в Avito Аналитика?
Зачем в Avito Аналитика?
 
"Опыт участия в Microsoft Malware Classification Challenge" Михаил Трофимов ...
"Опыт участия в Microsoft Malware Classification Challenge"  Михаил Трофимов ..."Опыт участия в Microsoft Malware Classification Challenge"  Михаил Трофимов ...
"Опыт участия в Microsoft Malware Classification Challenge" Михаил Трофимов ...
 
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (..."Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...
 
"Погружение в Robolectric" Дмитрий Костырев (Avito)
"Погружение в Robolectric"  Дмитрий Костырев (Avito)"Погружение в Robolectric"  Дмитрий Костырев (Avito)
"Погружение в Robolectric" Дмитрий Костырев (Avito)
 
"Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (...
"Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (..."Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (...
"Контекстная реклама в Avito: что под капотом?" Вадим Аюев и Андрей Остапец (...
 
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
"Бэк-офис в Avito: миллиард объявлений на 10 серверах" Вячеслав Крюков (Avito)
 
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
"Кластеры баз данных: делаем сложные вещи просто" Андрей Тихонов (Avito)
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyond
 
Machine Learning в Модерации - Андрей Рыбинцев (Avito)
Machine Learning в Модерации - Андрей Рыбинцев (Avito)Machine Learning в Модерации - Андрей Рыбинцев (Avito)
Machine Learning в Модерации - Андрей Рыбинцев (Avito)
 
Как сделать ваш JavaScript быстрее
Как сделать ваш JavaScript быстрееКак сделать ваш JavaScript быстрее
Как сделать ваш JavaScript быстрее
 
"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)"Building data streams" Константин Евтеев (Avito)
"Building data streams" Константин Евтеев (Avito)
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
 
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
 

Similar a "RT индексы в поиске Avito" Вячеслав Крюков (Avito)

Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораSQALab
 
Сенцов Сергей "Приемы оптимизаций Desktop приложений"
Сенцов Сергей "Приемы оптимизаций Desktop приложений"Сенцов Сергей "Приемы оптимизаций Desktop приложений"
Сенцов Сергей "Приемы оптимизаций Desktop приложений"Yulia Tsisyk
 
Gnevshev мониторинг
Gnevshev   мониторингGnevshev   мониторинг
Gnevshev мониторингkuchinskaya
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в ЯндексеAndrey Kazarinov
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Ontico
 
Tagconf 13 - SphinxSearch - 2
Tagconf 13 - SphinxSearch - 2Tagconf 13 - SphinxSearch - 2
Tagconf 13 - SphinxSearch - 2Roman Kudlay
 
Платформа для Интернета вещей AggreGate
Платформа для Интернета вещей AggreGateПлатформа для Интернета вещей AggreGate
Платформа для Интернета вещей AggreGateTibbo
 
Как приручить реактивное программирование в XAML приложениях
Как приручить реактивное программирование в XAML приложенияхКак приручить реактивное программирование в XAML приложениях
Как приручить реактивное программирование в XAML приложенияхDenis Tsvettsih
 
Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...
Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...
Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...Netpeak
 
Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...
Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...
Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...DevGAMM Conference
 
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...it-people
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.ScrumTrek
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Tanya Denisyuk
 
Архитектура поиска в Avito / Андрей Смирнов (Avito)
Архитектура поиска в Avito / Андрей Смирнов (Avito)Архитектура поиска в Avito / Андрей Смирнов (Avito)
Архитектура поиска в Avito / Андрей Смирнов (Avito)Ontico
 
Оптимизация складских запасов и автозаказ
Оптимизация складских запасов и автозаказОптимизация складских запасов и автозаказ
Оптимизация складских запасов и автозаказDmitriy Shtanichev
 
мониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonмониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonSlach
 
Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2Oleksii Okhrymenko
 
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Ontico
 

Similar a "RT индексы в поиске Avito" Вячеслав Крюков (Avito) (20)

Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
Сенцов Сергей "Приемы оптимизаций Desktop приложений"
Сенцов Сергей "Приемы оптимизаций Desktop приложений"Сенцов Сергей "Приемы оптимизаций Desktop приложений"
Сенцов Сергей "Приемы оптимизаций Desktop приложений"
 
Gnevshev мониторинг
Gnevshev   мониторингGnevshev   мониторинг
Gnevshev мониторинг
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
 
Tagconf 13 - SphinxSearch - 2
Tagconf 13 - SphinxSearch - 2Tagconf 13 - SphinxSearch - 2
Tagconf 13 - SphinxSearch - 2
 
Платформа для Интернета вещей AggreGate
Платформа для Интернета вещей AggreGateПлатформа для Интернета вещей AggreGate
Платформа для Интернета вещей AggreGate
 
Как приручить реактивное программирование в XAML приложениях
Как приручить реактивное программирование в XAML приложенияхКак приручить реактивное программирование в XAML приложениях
Как приручить реактивное программирование в XAML приложениях
 
Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...
Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...
Как маркетологу избавиться от рутины с помощью языка R и наконец-то заняться ...
 
Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...
Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...
Пайплайны и инфраструктура разработки на Unreal Engine 4 / Максим Равицкий (S...
 
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
DUMP-2013 Управление разработкой - Переход от проектной разработки к продукто...
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
 
Архитектура поиска в Avito / Андрей Смирнов (Avito)
Архитектура поиска в Avito / Андрей Смирнов (Avito)Архитектура поиска в Avito / Андрей Смирнов (Avito)
Архитектура поиска в Avito / Андрей Смирнов (Avito)
 
Dotpick
DotpickDotpick
Dotpick
 
Оптимизация складских запасов и автозаказ
Оптимизация складских запасов и автозаказОптимизация складских запасов и автозаказ
Оптимизация складских запасов и автозаказ
 
мониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonмониторинг производительности Web приложений на python
мониторинг производительности Web приложений на python
 
Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2
 
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
 

Más de AvitoTech

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)AvitoTech
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...AvitoTech
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)AvitoTech
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoTech
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоAvitoTech
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий БогомоловAvitoTech
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим СоколовAvitoTech
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)AvitoTech
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоAvitoTech
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей КудрявцевAvitoTech
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, AvitoAvitoTech
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the AirAvitoTech
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...AvitoTech
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11AvitoTech
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...AvitoTech
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)AvitoTech
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)AvitoTech
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...AvitoTech
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовAvitoTech
 

Más de AvitoTech (20)

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений Фомченко
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий Богомолов
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим Соколов
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей Охрименко
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
 

"RT индексы в поиске Avito" Вячеслав Крюков (Avito)