Графовые хранилища данных предоставляют собой хранение элементов без использования индексов, гарантирующее лучшую производительность в сравнении с традиционными RDBMS. Естественно, что производительность является важнейшей задачей для тех, кто работает с такого рода базами данных. Чтобы предсказать поведение графовой базы данных и найти потенциальные проблемы до реализации, разработчики используют тесты, симулирующие фактическую нагрузку от запросов пользователей. В данной статье мы рассмотрим некоторые полезные обзоры графовых баз данных и тестов.
Обзоры графовых БД
Существует достаточное количество ресурсов и публикаций, описывающих основные положения работы графовых БД.
- Survey of Graph Database Models: в данной статье обобщаются результаты исследования, проведенного в области проектирования графовых БД. Концентрируясь на структуре данных, языках запросов и правилах для соблюдения целостности, авторы сравнивают графовые БД с сетевыми, реляционными, семантическими, объектно-ориентированными и другими популярными моделями БД. Кроме того, в статье дается информация об уровнях абстракций, структуре данных, информационном фокусе и многих других характеристиках современных графовых БД.
- Graph Databases: эта книга издательства O’Reilly повествует о том, как графовые БД могут помочь управлять запросами к тесно связанным данным. На наглядных примерах будет показано, как спроектировать и реализовать графовую БД, вы узнаете альтернативные методы хранения данных, такие как реляционные и NoSQL базы данных, а также узнаете разницу между этими моделями.
- The Current State of Graph Databases: в этой статье вы найдете всеохватывающий анализ графовых БД. Перечисляя различные категории, алгоритмы и парадигмы, авторы описывают, каким образом модель графовых БД используется в наши дни.
Тестирование графовых БД
Получение надежных результатов производительности – непростая задача. Ниже вы найдете коллекцию сравнительных обзоров на данную тему, опубликованных за последние несколько лет. Эта информация может пригодиться при выборе БД, оптимальной для вашего приложения.
1. Neo4j vs. DEX vs. OrientDB vs. a native RDF repository vs. SGDB
Данная статья представляет собой результаты сравнительного теста запущенного в Neo4j, DEX, OrientDB, обычный RDF репозиторий, и SGDB на компьютере низкого класса с 2-х ядерным процессором Intel частотой 2.4 GHz и 2 GB оперативной памяти. Наборы данных варьируются от 1 K до 1 M. Рабочая нагрузка включает в себя такие операции, как добавление элементов, локальный и глобальный обходы. Предварительные результаты тестов демонстрируют проблемы с загрузкой больших объемов данных в графовые БД. В дополнение к этому низкая общая производительность была типичной во всех случаях, когда осуществлялись глобальные обходы сетей больших объемов. Однако производительность была стабильной для локальных перемещений с 2-3 шагами.
2. DEX
Еще один тест был разработан для тестирования масштабирования и производительности DEX для приложений с очень большими объемами данных. Автор исследовал, как много узлов и связей может быть создано базой данных, размер базы данных в результате, время, потребовавшееся на загрузку БД и количество обходов в единицу времени. Согласно полученным результатам DEX демонстрирует достаточную загрузочную скорость и скорость обработки запросов при работе с большими объемами данных. В дополнение к своей потрясающей производительности при работе с миллиардами объектов, БД тратила только 26 байт на объект, доступный в DEX.
3. Neo4j vs. MySQL
Данная статья сравнивает MySQL и Neo4j с целью определить наиболее подходящую систему для хранения данных. В дополнение к результатам структурных запросов к MySQL и Neo4j, сравнение учитывает размер БД и требуемое место на диске. Neo4j продемонстрировала в некоторой степени лучшую производительность, чем MySQL в обработке большинства типов запросов. Графовая БД была намного более быстрой, иногда превышая производительность реляционной БД на порядок, при обработке запросов на обход. Neo4j заняла в два раза больше пространства на диске, чем MySQL, которая потребовала большего места только в одном тесте из 12.
4. AllegroGraph vs. DEX vs. HypergraphDB vs. InfiniteGraph vs. Neo4j vs. Sones
Данная статья представляет собой сравнение распространённых моделей графовых БД, включающее общие черты (для хранения данных и запросов), возможности изменения данных (структура данных, язык запросов, правила сохранения целостности) и поддержку основных графовых запросов. Суть статьи в том, что всем графовым БД еще необходимо повзрослеть. В частности, экосистеме необходимо определить стандартные языки для графовых БД (для обозначения данных, манипуляции с ними и построения запросов) и общий взгляд на правила целостности.
Рассмотренные выше обзоры и тесты позволяют нам понять, насколько графовые БД более эффективны, чем реляционные. В дополнение отметим, что существует множество подходов для подготовки и проведения тестов. Некоторые из указанных ресурсов предоставляют свои методики и алгоритмы для этого. Если вы знаете другие новейшие способы тестирования графовых БД, мы будем благодарны за информацию.
Будьте в курсе актуальных исследований вместе с нашей командой!
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.