1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/PKUMOD-gStore

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Английский | 中文 | Website | 网站

gStore logo
GitHub commit activity GitHub contributors Docker Image Version (V1.2) Static Badge

gStore — это движок базы данных с открытым исходным кодом, основанный на графах (или «тройной магазин»), предназначенный для управления большими наборами данных RDF с использованием языка запросов SPARQL. Он работает с системами Linux и процессорами amd64, arm64 и loongarch. gStore является результатом совместных усилий Лаборатории управления данными Пекинского университета, Университета Ватерлоо и замечательных участников сообщества открытого исходного кода.

:key: gStore выпущен под лицензией BSD 3-Clause, а несколько сторонних библиотек имеют собственные лицензии. Подробности см. в файле LICENSE.

:bug: Ознакомьтесь с FAQ для часто задаваемых вопросов. Известные ошибки и ограничения перечислены в файлах BUGS и LIMIT. Если вы обнаружите какие-либо ошибки, пожалуйста, не стесняйтесь открыть проблему на GitHub.

:microphone: Если у вас есть вопросы или предложения, откройте ветку в обсуждениях GitHub.

:book: Рекомендации, дорожную карту проекта и многое другое можно найти в онлайн-документации.

Официальная справочная документация представлена на английском языке (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

Репозиторий gStore был загружен на gitee (облако кода), что рекомендуется для более быстрой загрузки пользователями из материкового Китая. Веб-сайт — https://gitee.com/PKUMOD/gStore.

Вы также можете открыть https://github.com/pkumod/gStore, загрузить файл gStore.zip, а затем распаковать zip-пакет.

Из Docker

$ 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 включают:

  • Обновление генератора парсеров SPARQL с ANTLR v3 до новейшей, хорошо документированной и поддерживаемой версии v4;
  • Поддержка написания числовых литералов без суффиксов типов данных в запросах SPARQL;
  • Поддержка арифметики и логики.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C++ и 6 других языков
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/PKUMOD-gStore.git
git@api.gitlife.ru:oschina-mirror/PKUMOD-gStore.git
oschina-mirror
PKUMOD-gStore
PKUMOD-gStore
1.3