I've
been interested in the variegated world of “NOSQL”
databases since a while but I was mostly undecided which one start
experimenting with. Most of NOSQL databases give their best in high
data volumes, high availability, high scalability, “high
everything” use cases. Going to test such databases in a realistic
way is not an easy task. Testing them on a EEEPC while traveling by
train is definitively impossible. I so concentrated my interest on
“Graph Databases”: a kind of NOSQL databases designed to
represent data tied by complex and deep relationships, hard to be
described by the classic table form.
Neo4j
Among
the many, Java based, graph databases the one that got my attention
has been Neo4j. Two things made
me decide for testing Neo4J: first Neo4J is embeddable in your Java
project, the second is the huge amount of documentation and examples
available at Neo4j site.
Installation
Installing
Neo4j has been quite simple just matter of extracting the downloaded
archive into a folder in my home directory (I have a “Projects”
folder for this)
tar xv neo4j-community-2.0.3-unix.tar.gz
this
is more than enough for a test installation or if you are going to
use it only embedded in anoter Java project. Installing a Neo4j
server would be a little more more tricky.
Neo4j
service can be started by shell using the “neo4j” script
provided in the bin directory:
cd Projects/neo4j-community-2.0.3/bin/
./neo4j
start
at
start it gives a warning about not running it in a Oracle Java JVM
but during my tests it worked fine even with OpenJDK JVM. Of course
fro a more intense use it'd better follow the suggestion and use the
right JVM.
The
same script can be used to stop Neo4j service:
./neo4j stop
User
interface
Neo4j
offers a web based user interface on the “http://localhost:7474”
address. The web interface provide an easy way to send commands to
Neo4j with the help of a good variety of saved scripts and examples
available with one mouse click.