Neo4j Database: Use Cases and Advantages For Your Project
According to the research, graph database market size is expected to grow from USD 821, 8 million in 2018 to USD 2,409, 1 million by 2023.
More and more organizations start understanding that real value lies not in the data itself but in how these data are connected.
Let's learn about the main advantages of graph databases (Neo4j in particular), what companies use Neo4j and how it brings their business to a new level.
What is a graph database
Nothing in the world exists on its own. Connections and relationships - this is what makes everything coherent.
We don't need to go far here. Let’s take our inner circle of friends and family and see that all of them are related in different ways.
Imagine that all these data is stored in one place. If you need to retrieve some information (for example whom Julie is married to), you can take it without worrying about other connections.
This is exactly how graph databases work. Graph databases are NoSQL databases that use graph theory to store, map, and query relationships between data. If you are interested, you can read more about graph theory in this detailed post.
As you have noticed above, elements can be connected in any possible way and may have different directions or have no direction at all.
These elements consist of nodes and edges. Each node represents an entity and each edge shows the connection or relationships between the nodes.
So here is what graph database consists of:
Nodes - data elements connected by relationships. Nodes can have labels (that show their role and help to identify the node) and properties (attributes with key-value pairs)
Relationships - provide connections between node entities (e.g. Jack IS MARRIED WITH Sally)
Labels - represent roles of nodes (for example Jack is a person, where person is a label)
Properties - attributes of nodes and relationships that consist of name/value pairs
In comparison to traditional databases, Graph databases store linked data. It helps you to dig deeper into data analytics, analyze the connections between data, and manage your business more effectively.
Traditional relational databases store data in rows and columns. But the real treasure lies in the relationships between data.
“People are excited about graphs in the context of data management and
processing...because they are realizing that many problems can be
represented as a graph and solved efficiently using graph traversal
Dr. Marko A. Rodriguez
Benefits of graph databases
The best way to talk about any benefits is to do it on real-life examples and show how they have improved someone's life. I will rely on the global survey conducted by IBM and TehValidate. They have polled 1, 365 entrepreneurs and developers about the potential and benefits of graph databases.
First, let's see the main reasons of why enterprises move to Graph.
Based on the survey results, I want to outline the following benefits of graph databases that make organizations adapt to this technology.
Performance and speed
Jonas Partner and Aleksa Vukotic in the book Neo4j in action have conducted an experiment. They've built a query for a social network in both MySQL and Neo4j with a database of 1, 000, 000 users. Here are the results.
For a simple friends of friends query, Neo4j is 60% faster than MySQL. For friends of friends of friends, Neo is 180 times faster. And for the depth four query, Neo4j is 1,135 times faster.
Businesses are demanding greater application performance. Companies
are requiring greater agility and faster response times from their
applications, and they have a strong desire to derive enhanced value
from their data. 34% of respondents said they are moving to graph for
Discovery and insights into customer needs
Graph databases provide insights into customer needs by tracking relationships according to user interactions. They allow you to find and analyze touchpoints during a customer journey.
Example: Walmart uses Neo4j to study online shoppers' behavior, optimize their sales and improve product recommendations.
Graph databases are all about search and discovery that happens in a natural way as if you talk with your good friend. The secret lies in the following. On the first query, graph-based database takes into account the entire structure of available connected data and gives you more in-depth result.
Example: Europeana is an artworks platform that provides digital data about European artifacts. They needed a database that will help them to explore artifacts by creating connections between the items (e.g. not only the basic information about the painter but also all his works).
They've chosen a graph database Neo4j for this purpose. It helped their users to browse data in a different way. Now they don't just retrieve the object, but also the family of objects that is closely related to that object.
Neo4j - a graph database for scalable projects
Neo4j is the most popular graph database used by both enterprises and startups. Let’s discover why it's so popular and what projects it is suitable for.
What is Neo4j
Neo4j is an open-source database with graph storage structure. It allows you to reflect complex real-world graph structures of entities and relationships between them.
With Neo4j organizations get a chance to process a large amount of connected data, get valuable insights about how data are related and build their own algorithms for business analysis.
Neo4j advantages and business problems it solves
With Neo4j companies can:
- Process big data
Neo4j can handle large scale of datasets without sacrificing the application performance. Neo4j team has also recently released a library
library that allows running graph algorithms in parallel on several billion nodes and tens of billions of relationships in 1-2 hours.
- Manage relationships between data
With Neo4j you can explore different paths and connections between your data and query them more efficiently. You can also easily fetch complex data from the database even if they're highly connected.
- Answer complex queries with high performance
Neo4j scales horizontally, so its performance doesn’t depend on the database size. It traverses large sets of connected data and has such enterprise-grade database features as ACID transactions and automated backup/recovery.
Neo4j use cases. Who adapts Neo4j database in production.
Let's see who uses Neo4j and what benefits it brings to their business
Ebay uses Neo4j to enhance the same day delivery service. Its main goal was to decrease the wait - the main hurdle between retailers and online shoppers.
They've used MySQL before, but it wasn’t up to this task. The queries used for calculating the best route took too long time and were difficult to maintain.
We found Neo4j to be literally thousands of times faster than our
prior MySQL solution, with queries that require 10-100 times less
code. Today, Neo4j provides eBay with functionality that was
Volker Pacher, Senior Developer at eBay.
With the growth of Airbnb, the number of its internal data resources went up. It turned out in the necessity to search, navigate and manage these data effectively, see how data are related and empower all employees to be data-informed.
They decided to create a dataportal and Neo4j together with Elastic search were the best for this purpose.
Graph database allowed them to
- Navigate a set of data resources of different relevance and complexity
Empower employees to be data-informed, find data they need and see who else has access to them
Identify facets or disconnected information
Create a unified search across the entire data ecosystem
Make data employee- and company-centric
Cisco uses graph database Neo4j for data mining customer support case notes. Any time the issue appears in the system, engineers log case notes about it. Then, Cisco team loads these issues into Neo4j together with rich meta data about the team member, group he/she belongs to and the case itself.
Neo4j has helped Cisco team to see how the bug IDs are related and find the roots of the problems.
When we were data mining bug IDs, one of our problems was that
sometimes a customer opened a case and it appeared as if it were a
hardware problem that required a Return Merchandise Authorization
(RMA). But often we found that many of the RMAs were software-related.
By surfacing the most frequently mentioned bug IDs in the case loads,
it has allowed us to address avoidable RMA problems. This saves us
money and is helpful for customers, and has become a use case for us
that’s really gaining traction.
Startups that adopt Neo4j database
Neo4j has also got traction not only among enterprises but startup companies as well.
As startups look to graph databases as a way to bring their connected data to life, they naturally gravitate to Neo4j as we are the leader in the space," said Emil Eifrem, CEO of Neo Technology.
Startups understand that using relationships in their data will help them to stand out among competitors and make innovative business decisions.
Here are some of the most prominent examples of startups that use Neo4j.
Gaming provider, that uses Neo4j for tracking whom players interact with and manage referral bonuses more effectively.
Cross-product recommendations engine. Uses Neo4j for intelligent real-time recommendations.
We saw a great opportunity to empower users. If we can create better
recommendations, then it's a win for everybody. With Neo4j, as soon as
a user does something or gives us feedback on an item, your Cobrain
can personalize your recommendations.
Uses Neo4j for home inventory management. They have a wide selection of different homes, but no two homes look alike. Their housing pool has a variety of characteristics and relationships (e.g. where the linens are kept), that is a difficult match for relational databases. These characteristics were frequently extended, so Onefinestay has chosen Neo4j - a database that is infinitely extensible.
You can't think of all the questions people have ahead of time," said
Hull. Customers querying the Onefinestay site may ask "Where's the
bedroom?" or "Where's the bathroom?" as they consider homes. The graph
DB can create relationships between such things as rooms in homes, or
linens and closets
All these examples show that companies start to realize that connections between the data help them to look at their business from a different angle and make new discoveries.
Neo4j is just the thing for the projects that use a lot of interconnected data and want to get insights on how these data are related. Want to know if Neo4j is the right choice for your business? Leave a comment below or contact us and we will discuss it together.