[Перевод] Оптимизация поисковых систем: баланс между скоростью, релевантностью и масштабируемостью

Будучи разработчиками, мы постоянно стремимся создавать системы, которые не просто работают, но и отличаются эффективностью и масштабируемостью. В мире, где пользователи ожидают всё более быстрые и точные результаты, оптимизация производительности поиска становится ключевым приоритетом в современной разработке приложений. Эта статья основана на нашем выступлении на конференции QCon San Francisco 2024, где мы рассмотрели эволюцию подходов к индексированию данных, их извлечению и ранжированию. Для платформ вроде Uber Eats, обрабатывающих сложные запросы на больших объёмах данных, оптимизация поиска — это серьёзный вызов, требующий продвинутых стратегий: индексирования, шардинга и параллельной обработки запросов. Сложность поисковых систем продолжает расти, и необходимость соблюдения баланса между скоростью, релевантностью и масштабируемостью становится как никогда актуальной. В этой статье мы рассматриваем ключевые техники таких оптимизаций и их влияние на пользовательский опыт и производительность системы.

https://habr.com/ru/companies/otus/articles/934186/

#шардинг #Индексирование #поиск #Масштабируемость #производительность #apache_kafka #apache_spark #big_data #ранжирование

Оптимизация поисковых систем: баланс между скоростью, релевантностью и масштабируемостью

Основные выводы Оптимизация индексирования данных и структуры хранения может существенно сократить время выборки и повысить эффективность использования хранилища. Категоризация и приоритизация...

Хабр

Реляционные базы данных в книге «Двенадцать стульев»: как устроен архив Коробейникова

Меня зовут Екатерина Петрова , я автор медиа « вАЙТИ » и аналитик. Перечитывая свой любимый роман И. Ильфа и Е. Петрова «Двенадцать стульев», а именно сцену с архивариусом Коробейниковым, я вдруг поняла: его бумажный архив ордеров на имущество бывших дворян не что иное, как идеальный пример реляционной базы данных. Алфавитные указатели — это индексы, книги учета — таблицы с первичными ключами, ордера — настоящие транзакции.

https://habr.com/ru/companies/beeline_cloud/articles/923328/

#postgresql #sqlite #нормализация_данных #ddl #индексирование #структура_бд #анализ_данных #историческая_реконструкция #визуализация_данных #интерактивные_проекты

Реляционные базы данных в книге «Двенадцать стульев»: как устроен архив Коробейникова

Меня зовут Екатерина Петрова , я автор медиа « вАЙТИ » и аналитик. Перечитывая свой любимый роман И. Ильфа и Е. Петрова «Двенадцать стульев», а именно сцену с архивариусом Коробейниковым, я вдруг...

Хабр

[Перевод] Как Discord индексирует триллионы сообщений

В 2017 году мы рассказывали о том, как спроектировали нашу систему поиска сообщений так, чтобы она могла индексировать миллиарды сообщений . Благодаря этому наша поисковая инфраструктура стала высокопроизводительной, экономной, масштабируемой и простой в использовании. Мы решили выбрать Elasticsearch, в котором сообщения Discord шардились по индексам и использовалось логическое пространство имён для сообщений Elasticsearch в двух кластерах Elasticsearch. Сообщения шардились или по серверу Discord (который ниже будем называть гильдией) или по личным сообщениям (DM). Это позволило нам хранить все сообщения гильдии рядом для обеспечения высокой скорости запросов и работать с маленькими, более удобными кластерами. Так как поиском пользуются не все, сообщения индексировались лениво, и мы создали очередь сообщений, позволявшую воркерам получать блоки сообщений для индексирования, чтобы воспользоваться возможностями массового индексирования (bulk-indexing) Elasticsearch. Но с ростом объёмов Discord наша поисковая инфраструктура начала трещать по швам…‍

https://habr.com/ru/articles/904642/

#elasticsearch #kubernetes #базы_данных #индексирование #discord

Как Discord индексирует триллионы сообщений

В 2017 году мы рассказывали о том, как спроектировали нашу систему поиска сообщений так, чтобы она могла индексировать миллиарды сообщений . Благодаря этому наша поисковая инфраструктура стала...

Хабр