Neo4j is an open source embeddable graph database developed by Neo Technologies based in San Mateo, California with an office in Sweden.
$65
per month
SQLite
Score 9.5 out of 10
N/A
SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is one of the most widely deployed databases in the world.
Neo4J is great for creating network graphs or illustrating how things are related. It is also good for finding individuals or things that have greater influence than others in a system. It is not appropriate if you have standard data sets that can be analyzed using conventional methods or visualized using Tableau, for example.
SQLite is a lightweight and efficient database management system. With SQLite, performance increases as memory are added. It's reliable and well-tested before release. SQLite handles memory allocation and I/O errors gracefully. SQLite provides bug lists and code-change chronologies. All bugs are disclosed, and it's compatible with iOS, Android, MAC, and Windows. SQLite is open-source, allowing developers to tailor it to their specific needs.
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.
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.
Although it is excellent at what it does, you should be really careful and plan accordingly if you know that your database is going to scale at a huge level because it is not suitable of databases which are of Enterprise level and demands top-notch security and protection.
If your project involves multiple people working on the same database simultaneously, then that becomes a big problem, because it only allows single write at one time. You really need to be forward thinking in a manner to predict if this database will cater to all the needs of your project.
The most common difficulty with this is the lack of some of the basic functionality which is present in the other premier databases like Joints, Stored Procedure calls, Security and permission grants. If you do require all those things then you are better off not using this software.
Lastly, if you are using this in an Andriod App development cycle then also your options are limited because it does not integrate with PostgreSQL and MYSQL.
I have had a wonderful experience with SQLite because in my every project I use SQLite in the development phase because it's really fast, doesn't crash and very easy to maintain as well. It saves a lot on physical memory and dedicated server usage. It has all the basic functionality you would need to get the job done and that too at no cost at all. What more could you ask for !!!
Neo4j is a graph store and has different use cases compared to another NoSQL Document store like MongoDB. MongoDB is a bad choice when joins are common as existing operators for joining two documents (similar to tables in a relational store) as Mongo 3.5 use SQL like join algorithms which are expensive. MongoDB is a great choice when distributed schemaless rich document structures are important requirements. Cross document transaction support is not native to MongoDB yet, whereas Neo4J is ACID complaint with all its operations.
We looked at other traditional RDBMS products, but found them to be cumbersome to deploy. They take up more space, and consume more computing resources than SQLite does. While the performance or direct integration to our primary applications may have been better or easier if we had gone with a traditional RDBMS, the performance of SQLite has been more than acceptable. The performance and speed to deploy made SQLite a much more attractive option for us than a traditional RDBMS.
The active community has kept support costs low, further increasing ROI
The wide range of supported platforms and high level of compatibility has increased ROI by reducing time spent porting the database model to any platform specific solutions.