Graph Databases are schema free and they lack schema oriented Governance mechanisms. When designing Graph Databases, the focus has to be on modeling the structure of the data and their interconnectivity on how different data connect to each other. Graph based data model can become very complex really quickly.
Examples of list of Graph Databases
- SQL Server 2017
- SAP HANA
- Nodes - These are basically Entities
- Properties - Information about the node or information about the relationship
- Edges - Relationships between Nodes
When to use a Graph Database vs. Relational Database?
a) When multiple relationships need to be described e.g. Social relationships, Networks, Error logging, Sensor data, Logistics data. These are examples where the relationships don't truly exist but needs to be described to understand the data.
b) Using for non-analytical data e.g. Authorisation, User preferences, Non frequent changing variables if stored in a database table.
If you have high performance requirements especially using SQL Server 2017 you need to use functions to parse JSON data and it will be a row by row execution but indexes can be used to improve performance a bit but still recommend to use relational in those scenarios. If you have Validation and Integrity requirements and if you need them in the backend, then relational is the best choice.
SQL Graph Architecture