Английский | 中文 | Website | 网站
gStore — это движок базы данных с открытым исходным кодом, основанный на графах (или «тройной магазин»), предназначенный для управления большими наборами данных RDF с использованием языка запросов SPARQL. Он работает с системами Linux и процессорами amd64, arm64 и loongarch. gStore является результатом совместных усилий Лаборатории управления данными Пекинского университета, Университета Ватерлоо и замечательных участников сообщества открытого исходного кода.
gStore выпущен под лицензией BSD 3-Clause, а несколько сторонних библиотек имеют собственные лицензии. Подробности см. в файле LICENSE.
Ознакомьтесь с FAQ для часто задаваемых вопросов. Известные ошибки и ограничения перечислены в файлах BUGS и LIMIT. Если вы обнаружите какие-либо ошибки, пожалуйста, не стесняйтесь открыть проблему на GitHub.
Если у вас есть вопросы или предложения, откройте ветку в обсуждениях GitHub.
Рекомендации, дорожную карту проекта и многое другое можно найти в онлайн-документации.
Официальная справочная документация представлена на английском языке (EN) docs/help/gStore_help.pdf и китайском языке (ZH) docs/help/gStore_help_ZH.pdf.
Официальный документ с результатами эксперимента представлен в формате Experiment docs/test/formal_experiment.pdf.
Мы создали IRC-канал под названием #gStore на freenode, и вы можете посетить домашнюю страницу gStore https://en.gstore.cn/#/enHome.
Репозиторий gStore был загружен на gitee (облако кода), что рекомендуется для более быстрой загрузки пользователями из материкового Китая. Веб-сайт — https://gitee.com/PKUMOD/gStore.
Вы также можете открыть https://github.com/pkumod/gStore, загрузить файл gStore.zip, а затем распаковать zip-пакет.
$ docker pull pkumodlab/gstore-docker:latest
Полная документация по инструкции находится в разделе Инструкции по развёртыванию Docker docs/en-us/DOCKER_DEPLOY_EN.md.
Чтобы скомпилировать gStore, сначала клонируйте репозиторий:
git clone https://github.com/pkumod/gStore.git
Полная инструкция документации находится в разделе Установка docs/en-us/INSTALL_INSTRUCT.md.
Введение в формат данных N-Triple
Данные RDF должны быть предоставлены в формате n-triple (XML в настоящее время не поддерживается), а запросы должны предоставляться в синтаксисе SPARQL1.1. Ниже приведён пример файла формата n-тройки:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:name "Johnny Lee Outlaw" .
_:a foaf:mbox <mailto:jlow@example.com> .
_:b foaf:name "Peter Goodguy" .
_:b foaf:mbox <mailto:peter@example.org> .
_:c foaf:mbox <mailto:carol@example.org> .
Тройки обычно хранятся в определённом W3C формате NT и представляют собой три данных RDF, где значения заключены в <
. Их собственные функции анализа графов. Поддерживается динамическая компиляция и выполнение пользовательских функций анализа графов.
Сервис сетевого интерфейса gRPC: gRPC — это высокопроизводительный сетевой интерфейс, основанный на протоколе HTTP и реализованный на основе библиотеки с открытым исходным кодом «workflow», что дополнительно повышает эффективность и стабильность службы интерфейса. Эксперименты показывают, что gRPC значительно улучшает производительность одновременного доступа по сравнению с предыдущим сетевым интерфейсом ghttp; например, в случае 2000/QPS процент отказов в доступе составляет 0%.
Модуль gConsole: в gStore 1.0 мы запустили модуль gConsole, который позволяет выполнять длительные сеансы работы с gStore с контекстной информацией.
Разделение оптимизатора и исполнителя: gStore 1.0 разделяет оптимизатор и исполнитель, переходя от исходной глубоко связанной жадной стратегии к оптимизатору запросов на основе динамического программирования и исполнителю запросов на основе обхода в ширину.
Оптимизация запросов Top-K: Мы реализовали структуру обработки запросов SPARQL Top-K на основе алгоритма DP-B в gStore, включая сегментацию запросов и агрегацию подрезультатов.
Поддержка транзакций ACID: путём внедрения механизма управления несколькими версиями, gStore 1.0 может запускать транзакции ACID для операций вставки и удаления, которые пользователи могут открывать, фиксировать и откатывать. В настоящее время gStore 1.0 поддерживает четыре уровня изоляции: незафиксированное чтение, зафиксированное чтение, повторяющееся чтение и сериализуемость.
Реконструкция ядра базы данных и оптимизация логики генерации дерева планов: в gStore 1.0 введены два типа операций соединения (оптимальные соединения в худшем случае и двоичные соединения) для оптимизации выполнения запросов и дальнейшего повышения эффективности запросов.
Оптимизированный модуль ведения журнала: на основе библиотеки log4cplus системные журналы можно выводить в унифицированном формате. Пользователи могут настроить режим вывода журнала (вывод на консоль или вывод в файл), формат вывода и уровень вывода.
Новые встроенные расширенные функции: gStore 1.0 поддерживает четыре новые расширенные функции, а именно triangleCounting, closenessCentrality, bfsCount и kHopEnumeratePath.
Расширенная поддержка операторов BIND: gStore 1.0 поддерживает присвоение значений переменным с использованием алгебраических или логических выражений в операторах BIND.
Оптимизация некоторых локальных команд и интерфейсов API (например, команды shutdown) и исправление ряда ошибок (например, более точная статистика gmonitor).
0.9.1:2021-11-25
Новые функции в gStore 0.9.1 перечислены ниже:
Отделение синтаксического анализа и выполнения запросов в ядре и дальнейшее улучшение производительности запросов за счёт оптимизированного упорядочения соединений и других методов. Производительность сложных запросов улучшена более чем на 40%.
Переписывание компонента службы HTTP, ghttp, с улучшенной надёжностью и добавлением таких функций, как разрешение пользователя, обнаружение сердцебиения, пакетный импорт и пакетное удаление; добавлены документы API.
Реализация функции расширения Personalized PageRank (PPR), которую можно вызвать в предложении SELECT для расчёта корреляции между сущностями.
Поддержка арифметических операций (например, ?x + ?y = 5
) в предложении FILTER.
Поддержка транзакционных операций, таких как начало, tquery (транзакционный запрос), фиксация и откат;
Добавлен новый исполнительный компонент, gserver, чтобы предоставить ещё один путь удалённого доступа к gStore помимо компонента ghttp, который реализует двустороннюю связь через API сокетов.
Унификация формата аргументов командной строки исполнительных компонентов. Опция --help
вводится единообразно (например, $ bin/gbuild --help
или $ bin/gbuild -h
), с помощью которой пользователи могут просматривать руководство по командам, включая значение каждой опции.
Исправлено несколько ошибок.
0.9:2021-02-10
Новые возможности версии 0.9 включают:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )