erwin Data Modeler by Quest is a data modeling tool used to find, visualize, design, deploy and standardize high-quality enterprise data assets. It can discover and document any data from anywhere for consistency, clarity and artifact reuse across large-scale data integration, master data management, metadata management, Big Data, business intelligence and analytics initiatives, accomplishing this whil esupporting data governance and intelligence efforts.
N/A
Neo4j
Score 9.0 out of 10
N/A
Neo4j is an open source embeddable graph database developed by Neo Technologies based in San Mateo, California with an office in Sweden.
I have had a chance to use few other data modeling tools from Quest and Oracle, but I am most comfortable using erwin Data Modeler. They understand your data modeling needs and have designed the software to give you a feeling of completeness when you are designing a data model.
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.
Reverse Engineering: I love the way we can import an SQL file containing schema meta data and generate ER diagram out of it. This is specifically useful if you are implementing erwin Data Modeler for an existing database.
Forward Engineering: We use this feature very frequently. Where we do database changes in our physical and logical data models and then generate deployment scripts for the changes made.
Physical vs Logical Models: I like to have my database model split into physical and logical models and at the same time still linked to each other. Any changes you make to logical model or physical model shows up in the other.
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.
I had a lot of experience using erwin Data Modeler for designing data models. I think it's pretty intuitive and easy to use. It has enough features to represent your database requirements in form of a model.
CA customer support and our account manager have been able to support us with any issues that we have had, from managing our serial keys to issues we logged tickets to resolve. There are aspects of key management that have made it difficult over the years but support usually has worked with us.
Not listed, but I've only used alternatives built into something like the Squirrel SQL editor. That one is semi-functional but lacking many features and, in some instances, just plain wrong. The only pro there is that it's freely available and works over ODBC. I've tried some of the other free ones like Creately but didn't have much success.
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.