docs: prepare for 0.5.0
TODO: update API.md, TIPS.md, USAGE.md by zengli
This commit is contained in:
parent
11edefed54
commit
5af678478e
|
@ -2,7 +2,7 @@
|
|||
|
||||
Gstore System(also called gStore) is a graph database engine for managing large graph-structured data, which is open-source and targets at Linux operation systems. The whole project is written in C++, with the help of some libraries such as readline, antlr, and so on. Only source tarballs are provided currently, which means you have to compile the source code if you want to use our system.
|
||||
|
||||
**The formal help document is in [Handbook](docs/latex/gStore_help.pdf).**
|
||||
**The formal help document is in [EN](docs/latex/gStore_help.pdf) and [CH](docs/latex/gStore_help_CN.pdf).**
|
||||
|
||||
**We have built an IRC channel named #gStore on freenode, and you can also come to our website: [gStore](http://gstore-pku.com).**
|
||||
|
||||
|
@ -18,7 +18,7 @@ This system is really user-friendly and you can pick it up in several minutes. R
|
|||
|
||||
- type `git clone git@github.com:Caesar11/gStore.git` in your terminal or use git GUI to acquire it
|
||||
|
||||
Then you need to compile the project, just type `make` in the gStore root directory, and all executables will be ok. To run gStore, please type `bin/gbuild database_name dataset_path` to build a database named by yourself. And you can use `bin/gquery database_name` command to query a existing database. What is more, `bin/gconsole` is a wonderful tool designed for you, providing all operations you need to use gStore. Notice that all commands should be typed in the root directory of gStore, and your database name should not end with ".db".
|
||||
Then you need to compile the project, just type `make` in the gStore root directory, and all executables will be ok. To run gStore, please type `bin/gbuild database_name dataset_path` to build a database named by yourself. And you can use `bin/gquery database_name` command to query a existing database. What is more, `bin/ghttp` is a wonderful tool designed for you, as a database server which can be visited via HTTP protocol. Notice that all commands should be typed in the root directory of gStore, and your database name should not end with ".db".
|
||||
|
||||
- - -
|
||||
|
||||
|
@ -66,5 +66,5 @@ Graph database engine is a new area and we are still trying to go further. Thing
|
|||
|
||||
People who inspire us or contribute to this project will be listed in the [Thanks List](docs/THANK.md) chapter.
|
||||
|
||||
This whole document is divided into different pieces, and each them is stored in a markdown file. You can see/download the combined markdown file in [help_markdown](docs/gStore_help.md), and for html file, please go to [help_html](docs/gStore_help.html). What is more, we also provide help file in pdf format, and you can visit it in [help_pdf](docs/latex/gStore_help.pdf).
|
||||
<!--This whole document is divided into different pieces, and each them is stored in a markdown file. You can see/download the combined markdown file in [help_markdown](docs/gStore_help.md), and for html file, please go to [help_html](docs/gStore_help.html). What is more, we also provide help file in pdf format, and you can visit it in [help_pdf](docs/latex/gStore_help.pdf).-->
|
||||
|
||||
|
|
|
@ -108,6 +108,9 @@ void StringIndexFile::addRequest(unsigned id, std::string *str)
|
|||
|
||||
void StringIndexFile::trySequenceAccess()
|
||||
{
|
||||
if (this->request.empty())
|
||||
return;
|
||||
|
||||
long min_begin = -1, max_end = 0;
|
||||
for (int i = 0; i < (int)this->request.size(); i++)
|
||||
{
|
||||
|
@ -156,6 +159,9 @@ void StringIndexFile::trySequenceAccess()
|
|||
long offset = this->request[pos].offset;
|
||||
long length = this->request[pos].length;
|
||||
|
||||
if (offset >= current_block_end)
|
||||
break;
|
||||
|
||||
if (current_block_begin <= offset && offset + length <= current_block_end)
|
||||
{
|
||||
allocBuffer(length);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#CC=g++
|
||||
CC=ccache g++
|
||||
CC=g++
|
||||
#CC=ccache g++
|
||||
|
||||
example: CppAPIExample.o
|
||||
$(CC) -o example CppAPIExample.o -L../lib -lgstoreconnector
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#CC=g++
|
||||
CC=ccache g++ -std=c++11
|
||||
#CC=ccache g++ -std=c++11
|
||||
CC=g++ -std=c++11
|
||||
|
||||
lib_dir=../lib/
|
||||
socket_obj_dir=../../../../.objs/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#CC=g++
|
||||
CC=ccache g++
|
||||
CC=g++
|
||||
#CC=ccache g++
|
||||
|
||||
example: CppAPIExample.o
|
||||
$(CC) -o example CppAPIExample.o -L../lib -lgstoreconnector
|
||||
|
|
|
@ -1,3 +1,18 @@
|
|||
## Oct 2, 2017
|
||||
|
||||
Bind and GroupBy are supported in SPARQL queries now, and the Join module has been optimized to harvest a big improvement.
|
||||
|
||||
In addition, VSTree module is deprecated to save memory and support larger datasets like freebase, which has almost 2.5B triples.
|
||||
In fact, we have finish experiments on a microbiology dataset with 3.5B triples, and the time of query answering is almost in a scale of 10s.
|
||||
|
||||
What's more, we redesign the Database Server using HTTP1.1 protocol and provide REST interface and Java API example now.
|
||||
Users can visit the server by URL in a browser directly, and we have built several SPARQL endpoints based on it(including freebase, dbpedia, and openKG).
|
||||
|
||||
What is not mentioned above is the robutness of Database Server, which supports restart function and query timeout handler(1 hour by default).
|
||||
Backup function is also included in Database Server now, as well as the REDO function to finish a update query which was interrupted by a system crash.
|
||||
|
||||
---
|
||||
|
||||
## Jan 10, 2017
|
||||
|
||||
preFilter() function in Join module is optimazed using the pre2num structure, as well as the choose_next_node() function.
|
||||
|
|
|
@ -4,7 +4,7 @@ gStore is a green software, and you just need to compile it with one command. Pl
|
|||
|
||||
`make`
|
||||
|
||||
in the gStore root directory to compile the gStore code, link the ANTLR lib, and build executable "gbuild", "gquery", "gserver", "gclient", "gconsole". What is more, the api of gStore is also built now.
|
||||
in the gStore root directory to compile the gStore code, link the ANTLR lib, and build executable "gbuild", "gquery", "ghttp", "gserver", "gclient", "gconsole". What is more, the api of gStore is also built now.
|
||||
|
||||
If you want to use API examples of gStore, please run `make APIexample` to compile example codes for both C++ API and Java API. For details of API, please visit [API](API.md) chapter.
|
||||
|
||||
|
|
|
@ -1,12 +1,4 @@
|
|||
1. gserver not robust enough, very easy to break out(need to deal with all kinds of exceptions).
|
||||
- only support RDF datasets in N-Triples format
|
||||
|
||||
2. queries related with uncertain predicates are not supported.
|
||||
|
||||
3. only `select` queries can be used now. All aggregate queries are not supported, as well as insert/modify/remove operations.
|
||||
|
||||
4. only support RDF datasets in N-Triples format
|
||||
|
||||
5. the cost of disk and memory is still very large
|
||||
|
||||
6. the VStree index consumes too much time and memory, and the filter effects are not good(less than 25%).
|
||||
- the filter effects in query propcessing are not good(less than 25%).
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
**The formal experiment report is in [EXPERIMENT](latex/formal_experiment.pdf).**
|
||||
|
||||
## Preparation
|
||||
|
||||
We have compared the performance of gStore with several other database systems, such as [Jena](http://jena.apache.org/), [Sesame](http://www.rdf4j.org/), [Virtuoso](http://virtuoso.openlinksw.com/) and so on. Contents to be compared are the time to build database, the size of the built database, the time to answer single SPARQL query and the matching case of single query's results. In addition, if the memory cost is very large(>20G), we will record the memory cost when running these database systems.(not accurate, just for your reference)
|
||||
|
|
|
@ -2,23 +2,51 @@
|
|||
|
||||
---
|
||||
|
||||
fei123581321@qq.com 王定峰 python3 in socket API
|
||||
王定峰
|
||||
|
||||
fei123581321@qq.com
|
||||
|
||||
- support python3 in socket API(api/socket/python3)
|
||||
|
||||
---
|
||||
|
||||
王力博
|
||||
|
||||
wlbqe@pku.edu.cn
|
||||
|
||||
- suppress the num of B+ Tree
|
||||
|
||||
- add backup function to gserver and ghttp
|
||||
|
||||
- add REDO function to gserver and ghttp(in case of interrupt during a update query)
|
||||
|
||||
- restart automatically if database server is down
|
||||
|
||||
- kill a query answering procedure if it runs more than 1 hour
|
||||
|
||||
---
|
||||
|
||||
吕鑫
|
||||
|
||||
lvxin1204@163.com
|
||||
|
||||
- provide a HTTP server for database
|
||||
|
||||
---
|
||||
|
||||
邓智源
|
||||
|
||||
331563360@qq.com
|
||||
|
||||
- provide a parallelable version of B+ Tree
|
||||
|
||||
---
|
||||
|
||||
崔昊
|
||||
|
||||
prospace@bupt.edu.cn
|
||||
|
||||
- provide a query-level cache for database server
|
||||
|
||||
---
|
||||
|
||||
|
|
|
@ -2,3 +2,5 @@
|
|||
|
||||
*no tips available now*
|
||||
|
||||
java api http efficiency
|
||||
TODO: API and USAGE
|
||||
|
|
Loading…
Reference in New Issue