Netflix разработал систему Graph Abstraction, позволяющую обрабатывать 650 ТБ графовых этих с миллисекундной задержкой. Это важно, так как система поддерживает высокопроизводительные внутренние сервисы компании, включая социальные графы для Netflix Gaming.
Технические детали Graph Abstraction
Платформа Graph Abstraction отделяет соединения от свойств узлов и реплицирует эти по всему миру. Это позволяет выполнять запросы с задержкой на уровне миллисекунд, что критично для анализа сложных взаимодействий.
При обработке запросов система ограничивает глубину обхода и требует задать начальную точку, что обеспечивает предсказуемую скорость реакции. Netflix использует свойство сохранения исторического состояния графов через TimeSeries абстракцию, что позволяет проводить анализ и аудиты. В результате, запросы о состоянии системы могут выполняться без больших задержек.
Проблемы и улучшения производительности
Graph Abstraction реализует кеширование в виде стратегии write-aside, что предотвращает дублирование записей. Это значительно уменьшает нагрузки на систему во время пиковых скачков, так как кешируется доступ к узлам и свойствам. Инженеры Netflix утверждают, что система обеспечивает отклик менее 10 миллисекунд для одношаговых запросов и менее 50 миллисекунд для двухшаговых запросов в 90% случаев.
Кроме того, методы асинхронной репликации графовых этих обеспечивают высокую доступность и согласованность, что позволяет избежать потерь в производительности.
Значение для разработчиков
Для разработчиков в России стоит обратить внимание на эти решения, так как подобные технологии могут сократить время обработки этих в реальном времени. Платформы, разработанные для управления большими объемами информации, открывают новые горизонты для создания эффективных моделей и приложений в сфере софта и развлечений.
Проект Netflix нацелен на дальнейшее развитие в таких сферах, как живой контент и игры, что подчеркивает важность графового моделирования для новых бизнесов.