1774274710
2026-03-23 13:54:00
Инженеры Netflix создали Graph Abstraction, высокопроизводительная система, предназначенная для управления крупномасштабными графическими данными в режиме реального времени.. Платформа поддерживает несколько внутренних сервисов, включая социальные графы для Netflix Gaming и графы топологии сервисов, используемые для оперативного мониторинга и анализа инцидентов. Отделяя соединения ребер от свойств ребер и глобально реплицируя данные, система позволяет выполнять запросы миллисекундного уровня примерно к 650 ТБ графических данных, что позволяет инженерам быстро и надежно анализировать сложные взаимосвязи.
Системы обработки графов часто сталкиваются с компромиссом между выразительными запросами и предсказуемой производительностью. Традиционные графовые базы данных, как правило, отдают приоритет гибкому обходу и возможностям сложных запросов, но многие рабочие нагрузки требуют чрезвычайно быстрых ответов при высокой пропускной способности. Чтобы удовлетворить эти требования, система Netflix ограничивает глубину обхода и часто требует определенного начального узла, жертвуя некоторой гибкостью запросов ради стабильно низкой задержки в масштабе.
Graph Abstraction поддерживает несколько внутренних вариантов использования. К ним относятся распределенный график в реальном времени, который фиксирует взаимодействие между сервисами в экосистеме Netflix, социальный граф, используемый Netflix Gaming для моделирования взаимоотношений с пользователями, а также график топологии сервиса, который помогает инженерам анализировать зависимости во время инцидентов и расследования первопричин. Платформа также поддерживает историческое состояние графа через Абстракция временных рядовчто позволяет выполнять аналитику, аудит и временные запросы по эволюции графа.
Вместо создания отдельной графовой базы данных Graph Abstraction реализуется как слой поверх существующей инфраструктуры данных Netflix. Последнее состояние графа сохраняется в Абстракция ключевого значенияа исторические изменения записываются через абстракцию TimeSeries. Чтобы уменьшить задержку, система интегрируется с EVCacheуровень распределенного кэширования Netflix. Схемы графов загружаются в память и строго соблюдаются, обеспечивая проверку, оптимизированное планирование обхода и исключение недопустимых путей запроса.
Платформа также использует стратегии кэширования: кэширование с отложенной записью предотвращает дублирование операций записи на ребрах, а кэширование с отложенным чтением ускоряет доступ к свойствам узлов и ребер. Эти методы уменьшают усиление операций чтения и записи и сохраняют производительность при высоких рабочих нагрузках. Graph Abstraction предоставляет API обхода gRPC, вдохновленный Гремлинчто позволяет сервисам объединять шаги обхода в цепочку, применять фильтры и ограничивать результаты.
Инженеры Netflix описывают, что глобальная доступность была достигнута за счет асинхронной репликации между регионами, что обеспечивает конечную согласованность при поддержке высокой пропускной способности. И уровни кэширования, и надежное хранилище реплицируют графические данные в разных регионах, балансируя между задержкой, доступностью и согласованностью.

Глобальная репликация через кэширование (Источник: Технический блог Netflix)
Инженеры Netflix подчеркивают, что в производственной среде система обеспечивает задержку, выраженную в единицах миллисекунд для прохождения одного прыжка, и менее 50 миллисекунд для запросов с двумя прыжками на 90-м процентиле, обеспечивая предсказуемую производительность в масштабе. Проект тщательно балансирует планирование и выполнение обхода, чтобы обеспечить эффективное исследование больших наборов графовых данных.
По мере того, как Netflix выходит на новые вертикали, такие как прямой эфир, игры и реклама, ожидается, что Graph Abstraction будет играть все более важную роль в моделировании отношений между пользователями, сервисами и контентом, сохраняя при этом высокую пропускную способность, глобальную доступность и доступ с низкой задержкой по всей платформе.
#Внутри #абстракции #графов #Netflix #обработка #ТБ #графических #данных #за #миллисекунды #по #всему #миру
Продолжение темы

