"Где твоя тачка, чувак?" — о поиске и индексации в Авто.ру Backend
Доклад принят в программу конференции
Тезисы
Найти иголку в стоге сена тяжело, но ещё сложнее найти в обширной базе нужные документы, удовлетворяющие множеству параметров сразу. Гораздо сложнее, когда поток запросов — десяток тысяч в секунду, а допустимое время на ответ исчисляется миллисекундами.
В этом докладе я расскажу, как мы решаем такую задачу при помощи построения компактных неизменяемых индексов и работы с ними непосредственно в памяти, а также расскажу, чем наш подход отличается от других существующих решений.
Еще обсудим:
* как устроены индексы;
* как хранить их вне heap-памяти;
* как использовать VarHandle;
* и почему же решение на Scala лучше.