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

OSCHINA-MIRROR/opensci-gStore

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 22:42 364e048

4 ноября 2018 года

Цзунъюэ Цинь устраняет несколько серьёзных ошибок в индексах для поддержки управления Freebase и более крупными наборами данных. Например, решена проблема многократной повторной вставки/удаления. Кроме того, индекс дерева запрещён из-за бесполезной оптимизации индекса id2string.

Женя Тянь модифицирует make-файл, чтобы включить многопоточную компиляцию, что значительно сокращает время сборки исполняемых файлов.

Сюнбинь Су и Хайцин Юй совместно предлагают подробный стандарт тестирования, а также несколько важных тестовых сценариев, включая сборку/запрос и вставку/удаление. В то же время Сюнбинь Су и Цзин Ли разрабатывают базу данных системы для хранения информации о базах данных и пользователях.

14 октября 2018 года

Сюнбин Су добавляет функцию выключения сервера ghttp. Кроме того, он добавляет команду ginit в систему и готовит API nodejs. Более того, команда drop поддерживается в ghttp Сюнбин Су.

Чаофан Ян устраняет ошибку в части кодировщика API ghttp.

Ли Цзэн устраняет ошибки в процессе сборки и в модуле индексов, добавляет несколько скриптов для демонстрации.

Иньнянь Линь находит способ масштабировать вклад всех разработчиков, и Ли Цзэн добавляет эту функцию в Makefile.

Юянь Чэнь добавляет справочную документацию к системе на китайском и английском языках.

Цзин Ли использует формат JSON в ответ на запросы клиентов и добавляет system.db для хранения информации о нескольких пользователях.

Вэньцзе Ли просматривает код системы gStore и предлагает множество осуществимых предложений по оптимизации. Мы составили план оптимизации системы во всех аспектах, и все эффекты планов будут видны в следующей версии выпуска. Когда версия выпуска увеличится до 1.0.0, мы назовём систему официальным выпуском, а не предварительным.

20 сентября 2018 года

Цзунъюэ Цинь устраняет оставшиеся ошибки в Trie, ISArray и IVArray. Кроме того, он улучшает производительность параллелизма, предоставляя мелкозернистые блокировки для индексов ключ-значение вместо блокировки всего KVstore.

Чтобы поддержать приложения в Уханьском университете, Ли Цзэн исправляет множество существующих ошибок в параллелизме, ghttp, индексах, кэшах (строковые буферы теперь не используются) и API. Более того, добавлены установочные скрипты для нескольких известных дистрибутивов Linux (CentOS, Archlinux, Ubuntu), чтобы облегчить бремя установки программного обеспечения и настройки системных переменных.

Что касается документов, новые рисунки архитектуры и обработки запросов добавляются Ли Цзэном и Юянь Ченом. Это поможет другим разработчикам на Github просматривать наш код и изменять его по своему усмотрению.

6 июня 2018 года

Сюнбин Су разрабатывает пул потоков для ghttp на основе SimpleWeb framework библиотеки Boost. Кроме того, Сюнбин Сунь и имбаджин (пользователь Github) добавляют образ Docker (работает только с Docker CE 17.06.1) в gStore, который может упростить использование этой системы баз данных.

Тем временем Цзунъюэ Цинь устраняет несколько ошибок в новых индексах и разрабатывает кеши для них. Чаофан Ян добавляет и улучшает API (интерфейс прикладного программирования) нескольких языков программирования в интерфейс ghttp.

24 апреля 2018 года

Зенгли включает многопоточность в ghttp для повышения производительности этого HTTP-сервера.

Кроме того, сусюньбин добавляет openmp для сортировки и qsort, чтобы выявить скрытую производительность. Однако эта оптимизация не даёт хороших результатов. В результате мы сохраняем код openmp, но всё ещё используем стандартные функции сортировки и qsort.

Лицзин добавляет поддержку нескольких пользователей и баз данных в ghttp и улучшает функции веб-сервера, а также конечной точки SPARQL-запроса.

Новые индексы ключ-значение разработаны Циньцзунъюэ, чтобы заменить оригинальные B+ деревья. В частности, мы считаем, что оригинальные ISTree и IVTree недостаточно эффективны, поэтому мы решили реализовать метод массива + хэша вместо B+ дерева. Следует отметить, что все эти индексы сейчас не поддерживают параллелизм, поэтому, когда одновременно выполняется несколько запросов, мы должны добавить блокировки, чтобы гарантировать последовательное посещение индексов. Кроме того, Циньцзюнъюэ разрабатывает новый метод сжатия оригинала. Строка в наборе данных RDF

Например, префикс можно извлечь и сжать с помощью некоторых специальных символов.

Хулин исправляет ошибки в функциях preFilter и Join, что не влияет на производительность ответов на запросы SPARQL.


2 октября 2017 г.

Теперь поддерживаются Bind и GroupBy в запросах SPARQL, а модуль Join был оптимизирован для значительного улучшения.

Кроме того, модуль VSTree устарел для экономии памяти и поддержки больших наборов данных, таких как Freebase, который содержит почти 2,5 миллиарда троек. На самом деле мы завершили эксперименты с набором данных по микробиологии с 3,5 миллиардами троек, и время ответа на запрос составляет почти 10 секунд.

Более того, мы перепроектировали сервер базы данных, используя протокол HTTP1.1, и теперь предоставляем интерфейс REST и пример Java API. Пользователи могут напрямую посещать сервер по URL-адресу в браузере, и мы создали несколько конечных точек SPARQL на его основе (включая Freebase, DBpedia и OpenKG).

Что ещё не упомянуто выше, так это надёжность сервера базы данных, который поддерживает функцию перезапуска и обработчик тайм-аута запроса (по умолчанию 1 час). Теперь в сервере базы данных также включена функция резервного копирования, а также функция REDO для завершения запроса на обновление, который был прерван сбоем системы.


10 января 2017 года

Функция preFilter() в модуле Join оптимизирована с использованием структуры pre2num, а также функции choose_next_node(). Глобальный строковый буфер добавлен для снижения стоимости getFinalResult(), и время ответов на запросы значительно сократилось.

Кроме того, мы назначаем буферы разного размера для всех B+ деревьев (некоторые из них более важны и используются чаще). WangLibo объединяет несколько B+ деревьев в одно, и количество всех B+ деревьев сокращается до 9 с 17. Эта стратегия не только снижает стоимость пространства, но и уменьшает затраты памяти, одновременно ускоряя процесс сборки и процесс запроса.

Более того, ChenJiaqi проделал большую работу по оптимизации запросов SPARQL. Например, некоторые несвязанные графы запросов SPARQL обрабатываются специально.


15 сентября 2016 года

ZengLi разделяет KVstore на 3 части в соответствии с типами ключа и значения, то есть int2string, string2int и string2string. Кроме того, теперь поддерживаются обновления. Вы можете вставлять, удалять или изменять некоторые тройки в базе данных gStore. Фактически реализованы только insert() и remove(), в то время как modify() поддерживается путём удаления сначала и повторной вставки.


20 июня 2016 г.

ZengLi включил gStore для ответа на запросы с переменными предикатов. Кроме того, были изучены структуры многих запросов, чтобы ускорить обработку запросов. ChenJiaqi переписывает план запроса sparql для получения более эффективного, что приносит нам много преимуществ.


01 апреля 2016 г.

Структура этого проекта сильно изменилась. Достигнут новый метод соединения, и мы используем его для замены старого. Результаты тестирования показывают, что скорость улучшилась, а затраты на память снизились. Мы также вносим некоторые изменения в Parser/Sparql*, которые генерируются ANTLR. Они должны быть изменены, потому что код написан на C, что приводит к нескольким проблемам с множественным определением, и его размер слишком велик.

В исходном модуле Stream есть ошибка, которая добавляет некоторые управляющие символы к выходным данным, такие как ^C, ^V и т. д. Теперь мы исправили её и включили Stream для сортировки выходных строк (как внутренних, так и внешних). Кроме того, теперь также поддерживаются запросы SPARQL, которые не являются BGP (Basic Graph Pattern), используя наивный метод.

Достигнута мощная интерактивная консоль под названием gconsole, которая обеспечивает удобство для пользователей. Более того, мы используем инструменты valgrind для тестирования нашей системы и устранения нескольких утечек памяти.

Документы и API также изменились, но это не имеет большого значения.


6 ноября 2015 г.

Мы объединяем несколько классов (например, Bstr) и настраиваем структуру проекта, а также систему отладки.

Кроме того, большинство предупреждений устранено, за исключением предупреждений в модуле Parser, что связано с использованием ANTLR.

Более того, мы меняем модуль RangeValue на Stream и добавляем Stream для ResultSet. Мы также улучшаем консоль gquery, поэтому теперь... Вы можете перенаправлять результаты запросов в указанный файл в консоли gsql.

Невозможно добавить поток для IDlist из-за сложных операций, но это и не нужно. Realpath используется для поддержки мягких ссылок в консоли Gquery, но он не работает в Gstore (хотя работает, если не в Gstore).

— — —

20 октября 2015 года

Мы добавили инструмент тестирования gtest для утилиты, вы можете использовать его для запроса нескольких наборов данных с их собственными запросами.

Кроме того, улучшена консоль Gquery. Вместо fgets используется библиотека Readline, и теперь консоль Gquery может поддерживать историю команд, изменение команды и завершение команд.

Более того, мы нашли и исправили ошибку в базе данных (указатель на журнал отладки не устанавливается в NULL после операции fclose, поэтому, если вы закроете одну базу данных и откроете другую, система полностью выйдет из строя, потому что система считает, что журнал отладки всё ещё открыт).

— — —

25 сентября 2015 года

Мы внедрили версию B+Tree и заменили старую.

После тестирования на DBpedia, LUBM и WatDiv мы пришли к выводу, что новое BTree работает эффективнее старого. Для одного и того же файла троек новая версия тратит меньше времени на выполнение команды gload.

Кроме того, новая версия может эффективно обрабатывать длинные литералы, в то время как тройки, длина объекта которых превышает 4096 байт, приводят к частым неэффективным операциям разделения в старой версии BTree.

— — —

2 февраля 2015 года

Мы модифицировали парсер RDF и парсер SPARQL.

В новом парсере RDF мы также переработали стратегию кодирования, которая сокращает время сканирования файлов RDF.

Теперь мы можем правильно анализировать стандартную грамматику SPARQL v1.1 и можем поддерживать основные графовые шаблоны (BGP) запросов SPARQL, написанные этой стандартной грамматикой.

— — —

11 декабря 2014 года

Мы добавляем API для C/CPP и JAVA.

— — —

20 ноября 2014 года

Мы выкладываем наш код gStore2.0 как проект с открытым исходным кодом под лицензией BSD на GitHub.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/opensci-gStore.git
git@api.gitlife.ru:oschina-mirror/opensci-gStore.git
oschina-mirror
opensci-gStore
opensci-gStore
master