Hello guys.
So in this section we are going to discuss about the basic differences between RDBMS versus graph database.
When we talk about RDBMS this is nothing, but this is my relational relational DBMs right database
management system.
Along with this we are going to compare with the graph database.
If I probably take some of the example of RDBMS, it is nothing but like MySQL SQL server, right?
I hope everybody may have known about this.
Right.
And you may have also used it.
So in order to compare the differences.
So let me go ahead and write RDBMS over here versus our graph database.
So the basic difference is that I really want to talk about and this is important before we start,
you know uh creating our entire nodes properties in graph database okay.
So first is related to tables right.
So in r d uh RDBMS uh we basically create tables.
Right.
Similarly in graph database here instead of creating tables, we will be creating something called as
graphs.
The second important difference is that inside this table we insert records right.
We insert records.
And this records will be something called as rows right.
In the case of graph database we specifically use something called as properties and its it's values.
Right?
So here, instead of saying it as zeros we specifically say it as properties.
The third thing over here and again we will be discussing about all these things when we do it in our
practical implementation.
If I probably talk about tables rows are there.
Rows are for rows records right.
Whenever we insert a record.
But in every row there will be some kind of columns.
And with respect to this columns, there will be data also.
Right?
Some data will definitely be there.
So similarly over here, uh, sorry.
Uh, this rows uh, I just need to make some change over here.
When we say rows right over here inside this graph database we have something called as nodes.
Okay.
Nodes.
Now this nodes will be like this circular structure.
Right?
It can be an entity.
It can be a name.
Something like that.
When we talk about columns and data these are nothing.
But it is basically properties and values.
Properties and values.
So how we represent columns and data in RDBMS.
Similarly in graph database we represent it as properties and values.
Then uh coming to the fourth and the important point which is called as constraints.
I hope you have heard about this kind of constraints, where you have something like primary key, where
you have foreign key where you have candidate key, right?
So different types of keys are there.
And the reason of making keys is that there will be a dependency of another table in a specific table
itself.
Right.
Similarly, over here we if we really want to create constraints in graph database, we basically create
relationships.
Relationships like one of the example I told.
Right.
So this is my two nodes.
And this may be related to this right.
Let's say over here I have Tesla.
This is a company which is owned by Elon Musk.
Right.
So I can just go ahead and write owned.
Right.
So owned is basically a relationship.
And in tables, uh, most of the queries we write a lot of joins, queries itself.
Right now instead of writing join queries in graph database we specifically use something called as
traversal.
Traversal basically means based on the properties based on the nodes, based on the relationship, we
travel from one node to the other node to finally get a result right.
So these are some of the basic differences between RDBMS and graph database, right?
Instead of using tables, we use graph over here.
Instead of inserting records or rows, we create nodes over here.
Then we have columns and data.
Instead of columns and data we use properties and values Similarly, with respect to constraint we have
this primary key foreign key candidate key in RDBMS.
Similarly here we have relationship and instead of join queries we use something called as traversal.
Now let's talk about some of the important advantages.
So let's go ahead and talk about advantages of neo4j's okay.
Now there's some very good advantages.
First, entire this neo four J database works with respect to a graph data model.
We will talk more about this graph data model.
Uh, this graph data model will be responsible in creating this nodes um relationship properties and
values and many more things properties and values.
Okay, now coming to the second and very important point, when we use this neo for Jay in the cloud,
it provides us real time insights, like as soon as I create a graph, because see, at the end of the
day when we use this neo 4G there, you could see in that particular instance nodes were getting maintained
in a separate way.
Properties were getting maintained in a separate way.
The relationships were getting maintained in a separate way right here.
Uh, you'll be able to see that if I go to the third point, you will be able to retrieve the data very
much easily just by writing one query.
And over here we will be learning about this, which is called as Cypher query.
like how we have a sequel query.
Similarly, we'll go ahead and uh, write the cipher query.
And sometime you don't even have to write the cipher query, right.
Just by clicking on any of the relationships.
And all automatically will be getting a basic template of all the queries itself.
And that is all possible because of this Neo4j's database.
Okay.
As I said, uh, let's talk about this Cypher query.
So we basically say Cypher query as this Cypher query language.
Cypher query language.
Right now inside the Cypher query language.
Uh, it is you can just say it as it is a declarative.
It is a decorated declarative query language.
To represent.
The graph.
Visually.
It is used to represent the graph visually.
Okay.
And the best thing about Cypher query will be that you'll be able to understand in a very much easy
way, because it is human readable.
Okay.
And one of the very important thing that usually in RDBMS you sometime when there is a nested queries
and all, you really have to use lot of joints.
But uh, in neo4j's you don't have to use any joints.
That is the best thing.
So that makes this entire Cypher query language amazing for doing multi different different purposes
for retrieving different, different kind of data itself.
Okay.
Uh, so we will be talking more about it as we go ahead.
And I've also spoken about the advantages of neo for Jay, but if I probably talk about most of the
common properties like acid properties, it supposed, uh, it neo four J supports complete acid properties,
right?
When we say acid, what does this basically mean?
In RDBMS there are four important properties.
One is atomicity, consistency, isolation, and durability.
Right.
So let me just go ahead and write this.
It is nothing but atomicity.
Okay.
Consistency.
Isolation.
Along with this you also have this durability.
So with respect to this acid properties which is one of the core features of RDBMS.
Similarly this is also supported in Neo4j's.
Um and um, you'll be able to see that, uh, once you start using this, there is no such kind of fixed
schema.
Okay.
So one of the very good advantages with respect to Neo4j's is that we don't have any fixed schema.
It is having a flexible schema okay.
It's not like that one of the node will have only three properties.
The other node will also have three properties.
No, nothing like that.
It can have any number of properties.
It can depend right based on the data that we have.
So this was just to give you a clear idea about the differences between RDBMS and graph database.
Along with this, we also saw what are the advantages of uh specifically using neo for J.
Okay, now, uh, in the next video or in the next section, we are going to discuss about the data
model in Neo Forge.
And that will actually give us a crux, understanding about how a nodes is basically created.
What are the important things?
What are the important components.
When we go ahead and create this kind of nodes?
By using Neo Forge database, by using the Cypher query language, I this was it.
I will see you all in the next section.