-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backend optimizations for Neo4j #26
Comments
Very good news... we expect a huge performance boost Speaking about neo4j optimizations I start by linking this little guide to tune neo4j: performance tuning |
It seems like the ulimit is a problem here too 😨 |
Neo4j 3 is available with neomodel. |
We just need as root inside the backend container:
and change the main variable for connection into os.environ['NEO4J_BOLT_URL'] = "bolt://neo4j:chooseapassword@gdb"
# note: no port and the rest |
To upgrade from neo4j 2.x to 3.0: https://neo4j.com/guides/upgrade/ To upgrade using the docker image: http://neo4j.com/docs/operations-manual/current/deployment/single-instance/docker/
Now i'm unable to test it because:
with: docker-compose version 1.8.1, build 878cff1 with NEO4J_dbms_allowFormatMigration: 'true' is ignored by neo4j Any idea? |
I found the real probelm. The migration flag is not ignored, is the old graphdb that is not recognized. What is really strange is that the migration process not start at all. But the graph works. The migration is not required? And why? I cannot find any guide saying "no migration is required from 2.3.3 to 3.x" Everywhere "the migration is required from 2.x to 3.x" |
I found a problem with the id property. In the previous neomodel version the internal node id was accessed as node._id Now the internal id is accessed as node.id and we have a collision We have to rename all id properties to uid (both in models and in base.py: getJsonResponse starting at line 508) |
An other difference is found in the docker image env variables NEO4J_CACHE_MEMORY became NEO4J_dbms_memory_pagecache_size NEO4J_AUTH does not change |
At the moment i'm unable to perform more tests So the final migration guide is:
|
Created a branch in mdantonio/http-api-base New migration guide Migrate DB:
Migrate source code
|
Install last neomodel tag:
To connect from python add in graph.py:
|
We are trying to get the most tight integration with graphdb as possible in the basic blueprint of this framework. We are using
neomodel
python library to map Graph nodes&relationships to Python Classes.Also great news, neomodel will support the latest neo4j 3.0 native python driver, see the issue i opened here. Until then we will stick with version 2.3.3.
Models should be made customizable, for the moment the base version is in some kind of limbo, between backend and vanilla code.
On the backend side some things should be done to verify what is the best way to handle connections and models injections. I expect this to be on @mdantonio shoulders, and @dpaoletti could help to get some understanding of the graphdb as well.
The text was updated successfully, but these errors were encountered: