LDBC Social Network Benchmark
LDBC Social Network Benchmark (SNB) — это стандартизированный набор тестов производительности для графовых баз данных, разработанный консорциумом Linked Data Benchmark Council (LDBC). SNB предназначен для оценки скорости выполнения аналитических (OLAP), транзакционных (OLTP) и бизнес-аналитических (BI) запросов, характерных для социальных сетей, с целью сравнения различных графовых СУБД и выявления их сильных и слабых сторон.
История и предпосылки создания
Разработка LDBC Social Network Benchmark началась в 2012 году в рамках европейского проекта LDBC, финансируемого Европейским союзом. Основной причиной создания SNB стало отсутствие единого, репрезентативного и непредвзятого эталона для сравнения графовых баз данных. Существовавшие на тот момент тесты (например, TPC-H для реляционных баз) не учитывали специфику графовых моделей данных, таких как обходы по рёбрам, поиск путей и анализ связей. Консорциум LDBC, объединивший академические институты, производителей графовых СУБД (Neo4j, TigerGraph, Oracle и др.) и промышленных пользователей, поставил задачу создать бенчмарк, который бы отражал реальные сценарии работы с графами.
Первая стабильная версия SNB (v1.0) была выпущена в 2015 году. С тех пор бенчмарк неоднократно обновлялся, включая поддержку новых типов запросов и масштабируемых генераторов данных. В 2023 году вышла версия SNB v3.0, которая ввела новый класс тестов — Business Intelligence (BI), ориентированный на интерактивную аналитику.
Структура и классы тестов
LDBC Social Network Benchmark состоит из трёх основных классов, каждый из которых имитирует определённый тип нагрузки на графовую базу данных.
Interactive (OLTP)
Класс Interactive моделирует транзакционную нагрузку, характерную для социальных сетей: чтение и запись данных в реальном времени. Он включает:
- Короткие запросы (short queries): поиск одного пользователя, получение его друзей, просмотр профиля. Выполняются за миллисекунды.
- Запросы на обновление (update queries): добавление нового пользователя, создание связи «дружба», публикация сообщения. Требуют атомарности и согласованности.
- Смешанная нагрузка: одновременное выполнение коротких запросов и обновлений с заданной интенсивностью.
Ключевые метрики для Interactive — пропускная способность (количество успешных запросов в секунду) и задержка (время выполнения каждого запроса).
Business Intelligence (BI)
Класс BI был добавлен в версии 3.0 и предназначен для оценки производительности графовых баз данных при выполнении сложных аналитических запросов, которые могут обрабатывать большие объёмы данных и возвращать агрегированные результаты. Примеры BI-запросов:
- «Найти топ-10 самых активных пользователей по количеству комментариев».
- «Определить средний возраст друзей пользователя, проживающего в определённом городе».
- «Вычислить количество сообщений, опубликованных за последний месяц, сгруппированных по стране».
BI-запросы обычно выполняются в фоновом режиме и не требуют низкой задержки, но критичны к пропускной способности и эффективности использования ресурсов.
Graph Analytics (OLAP)
Класс Graph Analytics (ранее назывался Analytical) имитирует пакетную аналитическую нагрузку, характерную для задач машинного обучения и анализа графов. Он включает алгоритмы, такие как:
- Поиск кратчайшего пути между двумя узлами.
- Вычисление PageRank (алгоритм оценки важности узлов).
- Обнаружение сообществ (например, алгоритм Лувена).
- Вычисление центральности по посредничеству (betweenness centrality).
Эти запросы требуют полного обхода графа или его значительной части и выполняются в течение секунд или минут. Метрики для OLAP — время выполнения каждого алгоритма и объём потребляемой памяти.
Генератор данных
Ключевая особенность SNB — использование синтетического генератора данных (Data Generator, DG), который создаёт реалистичные графы социальных сетей на основе заданного масштабного коэффициента (Scale Factor, SF). SF определяет количество узлов и рёбер в графе. Например, SF-1 соответствует графу с примерно 1 миллионом узлов, SF-10 — 10 миллионам, SF-100 — 100 миллионам. Данные включают:
- Узлы: пользователи (Person), сообщения (Message, Post, Comment), теги (Tag), места (Place), организации (Organisation).
- Рёбра: дружба (knows), авторство (hasCreator), тегирование (hasTag), местоположение (isLocatedIn).
Генератор обеспечивает статистические свойства, близкие к реальным социальным сетям: степенной закон распределения степеней узлов (масштабно-инвариантность), кластеризацию и временные метки.
Применение и значение
LDBC Social Network Benchmark является де-факто стандартом для сравнения графовых баз данных. Он используется:
- Производителями СУБД для демонстрации производительности своих продуктов (например, Neo4j, TigerGraph, ArangoDB, JanusGraph).
- Исследователями для оценки новых алгоритмов и архитектур.
- Пользователями для выбора подходящей графовой базы данных под конкретные задачи.
Результаты SNB публикуются на официальном сайте LDBC и в научных публикациях. Бенчмарк позволяет объективно сравнивать системы, поскольку все тесты выполняются по единой методологии, а данные генерируются одинаково.
Критика и ограничения
Несмотря на широкое признание, SNB подвергается критике по ряду причин:
- Синтетические данные: хотя генератор создаёт реалистичные графы, они не полностью отражают особенности реальных данных (например, аномалии, шум, неполноту).
- Ограниченная модель социальной сети: SNB имитирует только один тип графа (социальную сеть), что может быть нерепрезентативно для других доменов (например, графов знаний, биоинформатики, логистики).
- Сложность настройки: для корректного выполнения тестов требуется значительная подготовка инфраструктуры и настройка параметров.
- Отсутствие поддержки некоторых функций: SNB не включает тесты для графовых алгоритмов, работающих с динамическими графами (например, потоковые алгоритмы), или для распределённых систем с высокой степенью параллелизма.
Интересные факты
- LDBC Social Network Benchmark является одним из немногих бенчмарков, который поддерживает три различных класса нагрузок (OLTP, OLAP, BI) в рамках единой модели данных.
- В 2022 году консорциум LDBC выпустил версию SNB для Property Graph Model (PGM), которая позволяет тестировать системы, работающие с графами свойств, а не только с RDF (Resource Description Framework).
- Результаты SNB часто используются в научных статьях для сравнения графовых баз данных, например, в работах, посвящённых Neo4j, TigerGraph и JanusGraph.
Источники
- Linked Data Benchmark Council (LDBC). «LDBC Social Network Benchmark (SNB) Specification v3.0». 2023.
- Boncz, P., et al. «The LDBC Social Network Benchmark: Interactive Workload». Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data.
- Erling, O., et al. «The LDBC Social Network Benchmark: Interactive Workload». In: Performance Evaluation and Benchmarking for the Era of Cloud, 2015.
- LDBC. «Official Website: Benchmarks». https://ldbcouncil.org/benchmarks/
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →