The Airbnb Tech Blog | Medium на русском
Подписаться
Масштабирование графа идентификации Airbnb с помощью унифицированной инфраструктуры графа знаний
Airbnb перешла от использования графовой базы данных PaaS к созданию внутренней инфраструктуры графа знаний для повышения производительности. Граф идентификации, имеющий решающее значение для доверия и безопасности, первоначально полагался на реляционные базы данных, а затем на графовую базу данных SaaS, сталкиваясь с проблемами масштабируемости и задержек. Новая, управляемая внутри компании инфраструктура, построенная на основе JanusGraph и DynamoDB, предоставляет единую платформу. Для удовлетворения потребностей Airbnb в производительности были реализованы ключевые оптимизации, такие как пользовательские транзакции и параллельное выполнение запросов. Эта платформа поддерживает многопользовательские операции с обеспечением соблюдения схемы. Оптимизация запросов на стороне клиента, включая переписывание запросов Gremlin, еще больше повысила производительность. Внутренняя графовая инфраструктура значительно увеличила масштабируемость и улучшила стабильность системы. Достигнут прирост производительности по различным шаблонам запросов, что привело к ускорению времени отклика API при чтении. Самоуправляемая система обеспечивает более быстрое разрешение инцидентов. Новая система масштабировалась до 10-кратного увеличения QPS записи по сравнению с предыдущим решением. Миграция привела к значительному снижению задержки P99 для сложных запросов. Граф знаний Airbnb теперь поддерживает критически важные варианты использования.