To understand how graph databases work, let’s give a definition first. A graph database that stores nodes and relationships instead of tables, or documents. The data is stored without restricting it to a pre-defined model giving flexibility. The abovementioned NoSQL databases are often perceived In SQL databases, the data is only stored in tables. Using NoSQL you can store 4 types of databases: Document, Key-value, Wide-column, and Graph. is a type of NoSQL databases as “no SQL” at all but it’s actually “not only SQL”. SQL database examples: MySQL, PostgreSQL, OrientDB, MariaDB, CouchDB NoSQL database examples: MongoDB, Apache Cassandra, Neo4j, Redis, DynamoDB, HyperTable In fact, there are so many databases now that it gets hard to choose. However, which have descriptions of functionality and use cases. there are lists of best or top databases Why Use a Graph Database? Graph databases are multi-relational by nature opposed to relational databases (SQL). It seems more practical too as data is shown in an intuitive way. Relationships are already stored in the database so no need to calculate. Graph databases can store large quantities, be quick, and support a diversity of current data. If you want to develop a social media app or community app, graph database would be the most reasonable choice. Not only will the database handle a large number of users, but it’ll also form relationships between them. For any app involving social networking, graph database will be suitable. Moreover, graph database is perfect for real-time big data as you can add new nodes and relationships between nodes easily. This doesn’t affect performance though. NoSQL databases and graph databases in particular are better performings as they don’t need to load or touch unrelated data for a given query. The most popular use cases for graph databases: Social Networks Supply Chain Mapping AI Knowledge Graphs/Machine learning Network/Operations Mapping Any type of analytics Recommendations engines in retail Telecommunications apps Data Privacy, Risk, and Compliance Network and IT management Fraud detection Components of Graph Database There are three main components in every graph database: nodes, properties, and edges (or relationships). in simple words are entities or some objects in a domain like users, locations, and things. are added to nodes to add more context. In some cases, . And connect nodes and show a type of connection. Take a look at the image: Nodes Properties edges have properties as well edges Edges or relationships might have values attached. Here it’s “Follows” but there might be more than one value. One more addition are labels which define (classify) what kind of nodes they are (Student and Teacher). So, multiple nodes together form a sort of mind map ecosystem. Neo4j Main Features It wouldn’t be such a popular graph database if it didn’t have unique features. The first thing is that Neo4j is a native graph database. It means that the underlying architecture of how the data is stored . This type of data model is actually a highly connected graph. And when doing a query, in Neo4j you don’t have to index every time you make a hop like in relational databases. isn’t built on top of tables The query language Cypher is pretty straightforward. It's a declarative language where parentheses and relationships represent nodes are arrows and brackets. Below is an example of a Neo4j query. It demonstrates the query of which neighbor games share the most characteristics with the selected (i.e., searched-for) game. The most beautiful part of it is the code: MATCH p=(game:Game)--(characteristic:ConceptEntry) WHERE game.uid = 'game-borderlands_2' OR game.uid = 'game-fallout_3' RETURN p Three lines do the impressive work of finding needed data. Popular Graph Databases Now let’s look at graph database examples and their strong sides. is probably the most well-known graph database. It looks . Query language commands are relatively easy to learn. The most important thing about Neo4j is that it clearly represents connected data. Just from the look at it, you’ll understand relationships between many nodes. Neo4j only provides services related to graph database type. It can be said that Neo4j wins in terms of popularity and well-established functionality. Neo4j simple and user-friendly and at the same time powerful is a multitool various types of NoSQL databases. If the project or business demands several databases at the same time, ArrangoDB will be of great help. What’s even more unique about this service, it allows combining SQL and NoSQL in one project. ArangoDB designed specifically to maintain was a database but has overgrown it and now is an ecosystem of tools, libraries extensions, etc. It’s and supports third-party extensions. So, the main difference from others is increased levels of integrations. Some important things are the automation of various processes, GraphQL and its usage possibilities, and continuous development process (yes, it’s still actively developing). It’s newer than the first two so it has a way to go. Apollo highly compatible with Javascript frameworks Sum Up Now that you know that much about graph databases, you can be delighted with powerful data sets. It might be used in industries with high volumes of data and different types of it. Of course, every project is unique and has different business logic. So, weigh both pros and cons of graph databases before choosing. You know now how graph databases work and use cases with them. In software development, there is no final answer to such questions: what database is the best? what programming language is the coolest? The context matters, so choose wisely.