Blog

Истории успеха: AirBNB

На основе публикации https://www.starrocks.io/blog/airbnb-builds-a-new-generation-of-fast-analytics-experience-with-starrocks

Airbnb произвел революцию в индустрии гостеприимства, создав глобальную платформу, где хозяева могут предлагать жилье путешественникам. С миллионами объявлений и миллиардами бронирований анализ и управление огромными объемами данных стали ключевыми для деятельности компании.

Повышение эффективности работы с данными в Airbnb

Эффективная обработка больших объемов данных всегда была приоритетом для команды инфраструктуры данных Airbnb. По мере роста спроса на быструю обработку запросов и аналитические данные в реальном времени существующая архитектура данных начала испытывать трудности. Для решения этих проблем Airbnb внедрил StarRocks — современную распределенную OLAP (онлайн-аналитическую обработку) систему, предназначенную для аналитики в реальном времени.

15 марта инженер по программному обеспечению команды инфраструктуры данных Airbnb, Цзиньвэй Лу, рассказал, как компания использует StarRocks для улучшения аналитики в реальном времени в трех ключевых приложениях: дашбордах Tableau, хранилище метрик Minerva и аналитике доверия.

Полную презентацию можно посмотреть здесь: YouTube Video.

Проблемы в архитектуре аналитики данных Airbnb

Как и во многих технологических компаниях, аналитическая инфраструктура Airbnb состоит из четырех ключевых слоев: слоя данных, слоя хранилища данных, OLAP-слоя и пользовательских приложений. OLAP-слой играет решающую роль в обеспечении оперативной аналитики, поэтому его эффективность крайне важна для бизнес-аналитики.

Ранее Airbnb использовал Apache Druid и Presto для обработки OLAP-запросов. Однако эти системы имели ограничения по скорости обработки запросов и обновлению данных. Медленная скорость обработки и задержки в обновлении данных мешали Airbnb получать аналитику в реальном времени. StarRocks, с его высокой производительностью в этих аспектах, стал идеальным решением.

Оптимизация дашбордов Tableau

Tableau широко используется в Airbnb для бизнес-аналитики и визуализации данных. Однако интеграция Tableau с инфраструктурой Airbnb сопровождалась двумя основными проблемами:

  • Tableau автоматически генерирует сложные SQL-запросы, требующие мощного OLAP-движка для эффективной обработки.
  • Дatasets, используемые в BI, могут содержать сотни миллионов или даже миллиарды записей, что превышает возможности традиционных баз данных, таких как MySQL и встроенное хранилище Tableau.

Apache Druid не мог напрямую поддерживать Tableau, а задержки выполнения запросов в Presto иногда превышали 10 минут, делая аналитику в реальном времени невозможной.

Благодаря StarRocks, Airbnb достиг:

  • Эффективной оптимизации запросов для сложных SQL-операций.
  • Почти мгновенного ответа на запросы, даже для сверхбольших объемов данных.
  • Простого подключения к Tableau благодаря 98% совместимости с ANSI SQL.

StarRocks позволил Airbnb превратить Tableau в мощный инструмент аналитики в реальном времени, значительно улучшив пользовательский опыт и скорость принятия решений.

Улучшение хранилища метрик Minerva

Minerva — это внутренняя платформа Airbnb для управления метриками, предназначенная для стандартизации данных между командами. Она поддерживает A/B-тестирование, исследование данных и анализ с более чем 12 000 метрик и 4 000 измерений.

Ранее инженерам приходилось денормализовать большие массивы данных перед выполнением запросов с помощью Apache Druid, Presto и Spark. Такой подход потреблял избыточные вычислительные ресурсы и требовал постоянных пересчетов исторических данных при обновлениях.

Внедрение StarRocks позволило Airbnb оптимизировать аналитическую инфраструктуру Minerva:

  • Обеспечить время отклика менее одной секунды для широких таблиц.
  • Ускорить динамическое объединение таблиц для сложных многотабличных запросов.
  • Исключить ненужные преобразования данных, снизив нагрузку и упростив работу системы.

С помощью StarRocks инженеры Minerva могут сосредоточиться на анализе данных, а не на управлении инфраструктурой.

Развитие аналитики доверия

Airbnb должен оперативно выявлять и предотвращать нарушения на платформе, чтобы защитить пользователей и сохранить доверие. Это требует OLAP-системы, поддерживающей:

  • Обработку данных в реальном времени и мгновенное обновление.
  • Сложные ad-hoc запросы на постоянно изменяющихся наборах данных.

Ранее использовавшиеся Druid и Presto не справлялись с этими задачами. Поэтому Airbnb разработал новую архитектуру аналитики доверия на основе StarRocks:

  • Данные из Kafka и хранилища Airbnb поступают в StarRocks в режиме реального времени.
  • Первичный ключевой механизм StarRocks обеспечивает мгновенное обновление данных.
  • Аналитики могут выполнять сложные запросы с откликом в считанные секунды.

Благодаря StarRocks время обработки аналитики доверия сократилось с нескольких дней до секунд, что позволило Airbnb своевременно предотвращать нарушения.

Будущее аналитики данных в Airbnb

Переход на StarRocks подчеркивает важность низкой задержки запросов и высокой свежести данных в современной аналитике. StarRocks предоставляет Airbnb:

  • Быструю обработку запросов: Поддержку различных типов аналитических операций, включая фильтрацию, агрегирование и сложные объединения таблиц.
  • Обновления данных в реальном времени: Мгновенную загрузку и согласованность транзакций для ускоренного принятия решений.
  • Оптимизацию ресурсов: Устранение ненужных преобразований данных и избыточных вычислений.

Эти улучшения помогают Airbnb развивать аналитику в реальном времени, повышать эффективность операций и исследовать новые возможности, основанные на данных. Кроме того, возможности StarRocks по высококонкурентной аналитике позволяют Airbnb оптимизировать интерактивное хранилище данных и заменить многие рабочие нагрузки, ранее выполнявшиеся в Presto.

Заключение

Внедрение StarRocks дало Airbnb мощные инструменты аналитики в реальном времени, изменив подход к обработке и использованию данных. Высокая скорость запросов, мгновенные обновления и гибкое моделирование данных сделали StarRocks ключевым элементом стратегии данных компании. По мере дальнейшего роста Airbnb интеграция передовых OLAP-решений, таких как StarRocks, останется важным фактором успеха.