Skip to content
C graph db server using tokyocabinet & libevent
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Vertex.xcodeproj updated for latest yajl and tokyocabinet Jan 31, 2013
docs find action in draft Jul 6, 2010
modules
source updated for latest yajl and tokyocabinet Jan 31, 2013
tests new tests working Feb 5, 2010
.gitignore add Makefile to .gitignore Aug 14, 2010
.gitmodules
CMakeLists.txt
Dockerfile added Dockerfile and Updated README.md Jun 4, 2016
LICENSE
README.md Small formatting fixes to README.md Jan 21, 2018
TODO.txt listen on 127.0.0.1 Oct 28, 2009
vertexdb.tmproj updated for latest yajl and tokyocabinet Jan 31, 2013
vertexdb_admin simple administration tool vertexdb_admin. can backup, clear, collect… Oct 9, 2010

README.md

About

Vertex is a high performance graph database that supports automatic garbage collection, built on libevent and tokyocabinet. It uses HTTP as its communication protocol and JSON as its response data format. It's BSD licensed and was written by Steve Dekorte and Rich Collins. See docs/manual.html for API and more details.

Status

Currently in production use and working well so far. The API is still not set in stone though.

Usage

Compiling on Mac OS X

sudo port install yajl tokyocabinet libevent libzip
# or if you are using homebrew
brew install yajl tokyo-cabinet libevent
cmake .
make
sudo make install

If all was fine, in build/vertexdb will be bin file

Running

vertexdb -db blog1.db

or as daemon

sudo vertexdb -db /opt/database -d --pid /var/run/vertex.pid

Possible options:

--database <file> -db <file> Database file
--port <num>      -p <num>   TCP port number to listen on (default: 8080)
--host <ip>       -H <ip>    Network interface to listen (default: 127.0.0.1)
--daemon          -d         Run as a daemon
--log <file>                 Log file location
--pid <file>                 Pid file location
--debug                      Be more verbose
--hardsync                   Run with hard syncronization
--help            -h         Show this help

Future

May add support for more complex queries and dynamic/automatic index creation based on observed queries.

Dynamic languages support

  • ruby - comming soon (or ask in pm)

Docker Support

If you have Docker installed, you can build a Docker image and run it in a container

docker build -t vertexdb . # build
docker run -d -p 8080:80 --name myVertexdb vertexdb # running on PORT 8080 (On MAC, the IP address of the container is given via Kitematic)

or get an image of vertexdb directly from the Docker Hub

docker run -d  -p 8080:80 -e OPTS="" --name myVertexdb earvin/vertexdb 

OPTS could be

  • "--hardsync",
  • "--debug",
  • both or ""
You can’t perform that action at this time.