3

I am doing some research into using the Pi to host an iOS app. It seems like the Pi's performance as a normal web server is actually quite impressive (especially when compared to the control server used in the test).

Neo4j is an open source NoSQL graph database. I think this could be a great solution for small apps needing this kind of backend.

Has anyone installed and tested the Pi running Neo4j? Is the performance acceptable?

Adam Carter
  • 131
  • 1
  • 3
  • Neo4j requires Java so that could be an issue, however, I run Jetty on my Pi which is also Java based. Also, Oracle has a beta version of Java 8 available specifically for the Pi so that is good news also. – HeatfanJohn Jan 18 '13 at 02:48
  • Note that the control server had a pretty pretty terrible spec as well. – Jivings Jan 18 '13 at 17:10
  • I just installed Neo4j on my Raspberry and got big performance issues. It's so bad that i even can't perform big querrys. – user2870388 Dec 31 '13 at 13:21

1 Answers1

2

Does this help? https://gist.github.com/widged/8329039

edit added below instructions

Installation instructions for on a Pi : Install Java 7

~:$ sudo apt-get update
~:$ sudo apt-get install oracle-java7-jdk
~:$ sudo apt-get install openjdk-7-jre
~:$ sudo apt-get install lsof

Download Neo4J

~:$ cd ~
~:$ mkdir neo4j
~:$ cd neo4j
~:$ wget -O neo4j-community-2.0.0.tgz 'http://download.neo4j.org/artifact?edition=community&version=2.0.0&distribution=tarball'
~:$ tar xvf neo4j-community-2.0.0.tgz
~:$ cd neo4j-community-2.0.0/conf

OR for the newest branch

~:$ wget -O neo4j-community-2.1.5.tgz 'http://download.neo4j.org/artifact?edition=community&version=2.1.5&distribution=tarball'
~:$ tar xvf neo4j-community-2.1.5.tgz
~:$ cd neo4j-community-2.1.5/conf

Edit & Add Neo4J Propertie file

~:$ nano neo4j.properties
 neostore.nodestore.db.mapped_memory=1M
 neostore.relationshipstore.db.mapped_memory=1M
 neostore.propertystore.db.mapped_memory=1M
 neostore.propertystore.db.strings.mapped_memory=1M
 neostore.propertystore.db.arrays.mapped_memory=1M

Edit & Add Neo4J wrapper configuration

~:$ nano neo4j-wrapper.conf
 wrapper.java.additional=-XX:MaxPermSize=32M
 wrapper.java.initmemory=96
 wrapper.java.maxmemory=96

Make Neo4J known

~:$ export NEO4J_HOME=~/neo4j/neo4j-community-2.0.0
OR
~:$ export NEO4J_HOME=~/neo4j/neo4j-community-2.1.5

~:$ export PATH=$NEO4J_HOME/bin:$PATH

**Run Neo4J **

~:$ neo4j status
~:$ neo4j start 

For neo4j 2.0.0 this should work, I myself did not success with neo4j 2.1.5 but did not have time to look into it.

Edzob
  • 31
  • 6
  • Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Steve Robillard Oct 05 '14 at 19:24
  • Ah.. Did not know that was a good thing to do.. Will Edit. – Edzob Oct 08 '14 at 10:21