TrustRadius: an HG Insights company

Neo4j

Score9.7 out of 10

35 Reviews and Ratings

What is Neo4j?

Neo4j is an open source embeddable graph database developed by Neo Technologies based in San Mateo, California with an office in Sweden.

Look in a different way if you need scale - this is not suitable

Use Cases and Deployment Scope

Scaling is a huge issue in Neo4j. Clusters are supposed to allow horizontal scaling and they say they support billions of nodes, but in fact, a database with ~600 mil nodes and 1.5TB in size is barely manageable. Backups slow, count() times out, server restart will take hours (!!!!). And 2GB hard transaction limit is another hard candy of a clustered mode, requiring to use things like apoc.iterate for long updates, making them impossible to rollback in case something goes wrong (apoc.iterate commits results on the go).

So - if you need scaling, think twice.

Pros

  • Graph traverse.

Cons

  • Scaling and clustering.
  • Transactions limitations.
  • Performance on millions of data.
  • Backup and restore.

Most Important Features

  • Graph traverse.

Return on Investment

  • Positive: Less complex queries on graph structures, than in relational databases.
  • Negative: maintenance is a huge deal, things doesn't work and break, requiring lengthy restore operations.

To Neo4J or not to Neo4J? Neo4J all the way!

Pros

  • Show relationships between different data points
  • Visualize network maps
  • Show stronger influencers

Cons

  • Be quicker at processing data
  • Have less lagging when interacting with the network map
  • Be able share with other users on a server

Most Important Features

  • Ability to illustrate networks
  • Page rank algorithm to explore influence
  • Explore relationships

Return on Investment

  • Show insights where conventional methods failed to do so
  • Point out main customers or touch points that require more attention
  • Work towards a more networked frame of mind

Other Software Used

Tableau Desktop, Jupyter Notebook, Oracle SQL Developer

Neo4j, best graph database out there!

Pros

  • Easy way to query data.
  • Easy way to insert and store relationships.
  • Easy to visualize data in Neo4j browser.
  • Easy to learn.

Cons

  • Sometimes hard to visualize complex data analyses.
  • Tough to see space used.
  • Tough to allocate memory or other configurations.

Return on Investment

  • Cheaper than going with other solutions.
  • Quicker development time.
  • Fast customer support.

Other Software Used

MongoDB Atlas, Amazon Relational Database Service

Best graph database with simple REST API and rich querying capabilities!

Pros

  • Mature Query language, I found Cypher QL to be mature in handling all sorts of problems we throw at it. Its expressive enough to be intuitive while providing rich features for various scenarios.
  • Native support for REST API, that makes interacting with Neo4J intuitive and easy.
  • Support for Procedures in Java, procedures are custom code that could be added to the Neo4J to write custom querying of data. The best part about the procedures is it could be invoked using the REST API. This allows us to overcome any shortcomings from their Cypher query language.
  • Nice UI and interface for executing the Query and visualizing the response.
  • UI access controlled by User credentials allows for neat access controls.
  • Awesome free community edition for small-scale projects.

Cons

  • Support for language based libraries. Currently, Neo4J only supports Java-based libraries. We used node and found issues with documentation and support for this library. It helps if Neo4J supports libraries in popular languages.
  • Support for triggers, that's one of the neat features of Postgres and other traditional SQL databases.
  • Support for indexes for data lookup. Looking up multiple nodes information using Neo4J is not very efficient, it is more optimized for looking up relationships between nodes. So adding that support would be very useful.

Return on Investment

  • Very positive ROI, we moved legacy data from Oracle into Neo4J after considering query needs and the performance of the lookups increased 4x. Apart from the performance, the code is a lot concise and clean without needing to write 10 joins to look up 2 relationships.
  • Neo4J's licensing model allowed us to experiment with their community edition for free, which is amazing. They provide full support for Community edition and if your data does not warrant Hot backups and Master/Slave configurations, you might as well stick to the Community edition in Prod.
  • Overall, it was a very pleasant experience working with Neo4J. Would highly recommend it.

Other Software Used

Amazon Relational Database Service, Amazon CloudWatch, Amazon Elastic Compute Cloud (EC2), Apache Kafka, PostgreSQL

Are you ready for the best Graph Database in town? :)

Pros

  • Neo4j is extremely fast.
  • Neo4j has its own query language CYPHER which is very intuitive and easy to use.
  • Neo4j supports API in almost every language like Java, Python, PHP, NodeJS, etc.

Cons

  • One of the hardest challenges that Neo4j had to solve was the horizontal scaling problem. I am not updated on recent developments, but at the time of my use, I couldn't find a viable solution.
  • Neo4j does not play with other open source APIs like Blueprint. You have to use the native Neo4j API.
  • There wasn't a visual tool to see your data. Of course, third party tools are always available, but I would have loved something which came with the Neo4j bundle. I love that Docker comes bundled with Kitematic, so it's not wrong to hope that Neo4j could also ship with some default visualization software.

Return on Investment

  • For experimentation purposes, it had a positive impact on my company. It was very natural to work with Neo4j and so intuitive to visualize the data.
  • Neo4j community edition is free, which is what we experimented on. So there was no investment up front apart from employee's time. But this quickly gave results and it was time well spent.
  • Neo4j is a cool but very new technology. It was hard to have people onboard, especially some of the leadership and relational folks.

Alternatives Considered

Titan-Distributed Graph Database

Other Software Used

IntelliJ WebStorm, IntelliJ IDEA, PyCharm, OneNote, MongoDB, Docker, GitHub, AWS Elastic Beanstalk, AWS Lambda