Skip to content
gmouchakis edited this page Jun 13, 2016 · 4 revisions
Website http://4store.org/
Supported versions 1.1.6
Current responsible(s) Yiannis Mouchakis @ NCSR-D -- gmouchakis@iit.demokritos.gr
Docker image(s) bde2020/4store
bde2020/4store-master
More info https://github.com/garlik/4store

Short description

4store is a database storage and query engine that holds RDF data. It supports both single node and cluster deployment. 4store is available under the GNU General Public Licence, version 3.

Example usage

Single node 4store

To deploy a single 4store node run

docker run -d --name 4store bde2020/4store

This will just deploy a container named "4store" that has 4store installed and run the 4s-boss service. Then run 4store commands using docker exec. For example to setup a repository named "default" run

docker exec 4store 4s-backend-setup default

4store stores its data in /var/lib/4store so if you want to keep data also in your host filesystem run 4store as

docker run -d --name 4store -v /path/in/host:/var/lib/4store bde2020/4store

Cluster mode

To deploy a 4store cluster start by deploying the 4store datanodes. For example to create a cluster with two datanodes run

docker run -d --name 4store1 bde2020/4store
docker run -d --name 4store2 bde2020/4store

Then deploy the 4store master node. This node uses 4s-admin and 4s-boss to add the datanodes to the cluster and creates a repository named "default".

docker run -d --link 4store1:4store1 --link 4store2:4store2 -e STORE_NODES="4store1;4store2" bde2020/4store-master 

Then as in single node mode you can run other 4store commands using docker exec. For example if you have a data dump in /home/user/dumps/dump.nt you can create a 2 node cluster and import the dump by running

docker run -d --name 4store1 bde2020/4store
docker run -d --name 4store2 bde2020/4store
docker run -d --name 4store-master --link 4store1:4store1 --link 4store2:4store2 -e STORE_NODES="4store1;4store2" -v /home/user/dumps:/data bde2020/4store-master
docker exec 4store-master 4s-import 4s-import default /data/dump.nt -v -a -f ntriples

Scaling

You can add more multiple 4store datanodes but 4store does not support scaling up after you have started the cluster.

Clone this wiki locally