Releases: pkumod/gStore
gStore v0.7.2 a highly available graph database system
- Severe bugs are fixed, able to support the management of freebase again
- Multithreading compilation is supported now for faster speed
- More test scripts are provided now to check the correctness
gStore v0.7.1 a highly available graph database system
fix the bugs of repeating insert and delete operations
gStore v0.7.0 a highly available graph database system
- Enhanced
ghttpprovides thread pool, docker image, more commands and more kinds of API - Many bugs are fixed in indices, caches,
ghttp, APIs and parallelism - More documents are provided to help others use or contribute to this system
- Better custom is adopted to improve the readability of code
gStore v0.6.0 supporting parallelism and new indices
Multithreading is enabled by zengli in ghttp, to improve the performance of this HTTP web server.
In addition, openmp is added by suxunbin for sort and qsort to excavate hidden performance. However, this optimization does not yield good result.
As a result, we reserve the code of openmp, but still use standard sort and qsort functions.
Lijing adds support for multiple users and databases in ghttp, and improve the functions of web server, as well as the SPARQL query endpoint.
New key-value indices are designed by qinzongyue to take place of the original B+ trees.
In detail, we think the original ISTree and IVTree are not efficient enough, so we choose to implement array+hash method instead of B+ tree.
What needs to be noticed is that all these indices does not support parallelism now, so when multiple queries are running concurrently, we must add locks to ensure that the indices are visited in sequence.
Furthermore, qinzongyue designs a new method to compress the original string in RDF dataset.
For example, the prefix can be extracted and compressed using some special characters.
Hulin fixes the bugs in preFilter and Join functions, which has no impact on the performance of answering SPARQL queries.
gStore v0.5.0 supporting billions of triples
This version is able to manage RDF datasets with billions of triples, meanwhile performs well on queries processing. In addition, a new HTTP server is included, which is nicer, powerful and stable. What's more, BIND and GROUPBY are supported in SPARQL query now.
VSTree is not used in this version.
gStore v0.4.1 supporting 420M entities
This version fix the bugs in v0.4.0, and support the building and querying of shape.db
(this dataset has 690M triples and 420M entities)
gStore v0.4.0 with predicate frequence
- optimize preFilter() and choose_next_node() in Join module using pre2num structure
- add a global string buffer and reassign the buffer sizes of different B+ trees
- merge several B+ trees and the num of all B+ trees are reduced to 9 from 17
gStore with postProcessing
This version is the latest merged version, providing support for insertions and deletions.
In addition, good post processing strategies have been implemented to deal with all kinds of symbols, such as numerical values, time and so on.
StringIndex is added by Chen Jiaqi to speed up the getFinalResult() function, and the performance of this system actually improves a lot.
Insertion and deletion are available, and for most cases they are all right.
However, when we test on LUBM5000, the answers of q1.sql and q2.sql after deletion and insertion seem to lack a few.(we will solve this problem as quickly as possible)
distributed gStore
This version provides support for the distributed architect, and you can configure the init.conf to use the single gStore or distributed gStore.
This version is on going, later we may choose this as the main version.
gStore with updates
This versions provide support for the insertions and deletions, as well as the select queries.
It is needed to keep the duplicates in the KVstore, so the performance of the whole system is worse.
(we will try to solve this problem later)
This version is the newest gStore, and our later work will be based on it.