Graph-oriented database
The exponential increase in data generation has forced the creation of new, more efficient and powerful databases. In today's article we will see a new type of database called graph database or BDOG which makes use of a mathematical object called a graph.
Today we will talk about
We will see what are the graph-oriented databases, What characteristics do they have, what is their use and some of the applications they currently have in society.
Stay and discover more!
What are graph-oriented databases or BDOG?
Graph databases or BDOG are a type of non-relational or NoSQL database that model information using mathematical objects called graphs.
A graph is defined by a set of nodes related to each other through edges. In the nodes we find the data and the edges represent the relationships established between said nodes.
Thanks to this type of modeling we can work with data with complex relationships between them using mathematical graph theory.
This type of database they are not related to a scheme (unlike relational databases) which allows us to work effectively with a large volume of data.
Although it is a fairly recent database model many companies have already begun to incorporate it in their big data strategies. Some of these large companies are Walmart, which uses them for customer sales analysis to know the preferences of each customer, or Ebay in service route optimization.
Normally to make requests to this type of database a language called PGQL is used ( Property Graph Query Language ), similar to the declarative language SQL, but more focused on graph-oriented databases.
Graph Database Applications
As we have seen, this type of DB works very well for operate with large amounts of data with complex relationships between them. An example of an application is social networks.
The nodes are the users of the social network while the edges are the relationships established between them, such as, for example, the likes of the photos, the friendships they have, among others.
Advertising systems also make use of relationships between nodes to make personalized suggestions for each user based on their tastes and preferences.
Another very important application is fraud detection in the banking world. Thanks to the analysis of relationships in graphs using graph theory, money laundering patterns and other frauds can be effectively detected.
The graph databases They can also be used to calculate logistics routes. Companies that manage shipments are interested in calculating the fastest and most efficient route to increase the number of deliveries per hour.
Calculating the fastest route can be done using Dijkstra's algorithm which is applied on graphs.
Advantages and disadvantages of using BDOGs
Like every type of database, BDOGs have their advantages and disadvantages. For this reason, it is important to know its characteristics well to determine if it is necessary to implement a graph-oriented database in our project or if, on the contrary, we need a relational database or a document-oriented database.
Advantages
- Performance: Large amounts of related data can be handled quickly and effectively.
- Flexibility: The graph theory on which BDOG is based allows solving multiple problems by finding the most optimal solution.
- Scalability: Graph-oriented databases allow good scalability because new nodes and new relationships between them can be added.
Disadvantages
- Low community: Being a fairly recent type of DB, the community is not yet very large and, therefore, it is difficult to find support for the different problems that may arise.
- Lack of standardized language: Each BDOG platform has a different request language so there is no standardized language to make requests unlike relational databases with SQL ( Structure Query Language ).
- Inefficiency for transactional requests: Graph databases do not work well for transactional requests unlike relational databases.
Examples of graph-oriented databases
There are several platforms, both paid and free, that allow you to incorporate this type of database. If you are looking for examples to know which one best suits your project, we leave you some so that you have an idea of which BDOG currently exists.
Neo4j
This graph-oriented database is very popular in the Big Data world used by companies such as Ebay or IBM. It is designed to manipulate connected data quickly and easily, helping to analyze the information. It has a large community so it is ideal to start using this type of databases.
ArangoDB
ArangoDB is one of the most used open source multi-model BDOGs at the moment. It combines the graph model with the key-value model in addition to having a complete text search engine giving the user the possibility of combining different data models and performing queries through a declarative language similar to SQL.
Amazon Neptune
Amazon Neptune is a high-performance graph database with low query latency. It allows you to store information with millions of relationships in addition to being able to make data predictions using the Amazon Neptune ML autonomous learning module.
FlockDB
FlockDB is a database open source graph-oriented designed to scale horizontally and not so much vertically. Since it has a lower capacity than other types of databases, it is used in projects that require high speed and low latency operations. It was initially used by Twitter to establish relationships between users of its platform.