1
00:00:00,000 --> 00:00:01,000
Hello guys.

2
00:00:01,000 --> 00:00:09,000
So in this section we are going to discuss about the basic differences between RDBMS versus graph database.

3
00:00:09,000 --> 00:00:20,000
When we talk about RDBMS this is nothing, but this is my relational relational DBMs right database

4
00:00:20,000 --> 00:00:22,000
management system.

5
00:00:23,000 --> 00:00:25,000
Along with this we are going to compare with the graph database.

6
00:00:25,000 --> 00:00:32,000
If I probably take some of the example of RDBMS, it is nothing but like MySQL SQL server, right?

7
00:00:32,000 --> 00:00:35,000
I hope everybody may have known about this.

8
00:00:35,000 --> 00:00:35,000
Right.

9
00:00:35,000 --> 00:00:37,000
And you may have also used it.

10
00:00:37,000 --> 00:00:40,000
So in order to compare the differences.

11
00:00:40,000 --> 00:00:50,000
So let me go ahead and write RDBMS over here versus our graph database.

12
00:00:51,000 --> 00:00:57,000
So the basic difference is that I really want to talk about and this is important before we start,

13
00:00:57,000 --> 00:01:03,000
you know uh creating our entire nodes properties in graph database okay.

14
00:01:03,000 --> 00:01:09,000
So first is related to tables right.

15
00:01:09,000 --> 00:01:13,000
So in r d uh RDBMS uh we basically create tables.

16
00:01:13,000 --> 00:01:14,000
Right.

17
00:01:14,000 --> 00:01:19,000
Similarly in graph database here instead of creating tables, we will be creating something called as

18
00:01:19,000 --> 00:01:20,000
graphs.

19
00:01:20,000 --> 00:01:25,000
The second important difference is that inside this table we insert records right.

20
00:01:25,000 --> 00:01:28,000
We insert records.

21
00:01:28,000 --> 00:01:32,000
And this records will be something called as rows right.

22
00:01:32,000 --> 00:01:41,000
In the case of graph database we specifically use something called as properties and its it's values.

23
00:01:41,000 --> 00:01:42,000
Right?

24
00:01:42,000 --> 00:01:47,000
So here, instead of saying it as zeros we specifically say it as properties.

25
00:01:48,000 --> 00:01:53,000
The third thing over here and again we will be discussing about all these things when we do it in our

26
00:01:53,000 --> 00:01:54,000
practical implementation.

27
00:01:56,000 --> 00:01:58,000
If I probably talk about tables rows are there.

28
00:01:58,000 --> 00:02:00,000
Rows are for rows records right.

29
00:02:00,000 --> 00:02:02,000
Whenever we insert a record.

30
00:02:02,000 --> 00:02:05,000
But in every row there will be some kind of columns.

31
00:02:06,000 --> 00:02:09,000
And with respect to this columns, there will be data also.

32
00:02:09,000 --> 00:02:10,000
Right?

33
00:02:10,000 --> 00:02:12,000
Some data will definitely be there.

34
00:02:12,000 --> 00:02:16,000
So similarly over here, uh, sorry.

35
00:02:16,000 --> 00:02:19,000
Uh, this rows uh, I just need to make some change over here.

36
00:02:19,000 --> 00:02:25,000
When we say rows right over here inside this graph database we have something called as nodes.

37
00:02:25,000 --> 00:02:25,000
Okay.

38
00:02:25,000 --> 00:02:26,000
Nodes.

39
00:02:26,000 --> 00:02:29,000
Now this nodes will be like this circular structure.

40
00:02:29,000 --> 00:02:30,000
Right?

41
00:02:30,000 --> 00:02:31,000
It can be an entity.

42
00:02:31,000 --> 00:02:32,000
It can be a name.

43
00:02:32,000 --> 00:02:33,000
Something like that.

44
00:02:33,000 --> 00:02:36,000
When we talk about columns and data these are nothing.

45
00:02:36,000 --> 00:02:38,000
But it is basically properties and values.

46
00:02:40,000 --> 00:02:41,000
Properties and values.

47
00:02:42,000 --> 00:02:46,000
So how we represent columns and data in RDBMS.

48
00:02:46,000 --> 00:02:49,000
Similarly in graph database we represent it as properties and values.

49
00:02:49,000 --> 00:02:54,000
Then uh coming to the fourth and the important point which is called as constraints.

50
00:02:55,000 --> 00:03:02,000
I hope you have heard about this kind of constraints, where you have something like primary key, where

51
00:03:02,000 --> 00:03:07,000
you have foreign key where you have candidate key, right?

52
00:03:07,000 --> 00:03:09,000
So different types of keys are there.

53
00:03:09,000 --> 00:03:15,000
And the reason of making keys is that there will be a dependency of another table in a specific table

54
00:03:15,000 --> 00:03:15,000
itself.

55
00:03:15,000 --> 00:03:16,000
Right.

56
00:03:16,000 --> 00:03:23,000
Similarly, over here we if we really want to create constraints in graph database, we basically create

57
00:03:23,000 --> 00:03:24,000
relationships.

58
00:03:25,000 --> 00:03:28,000
Relationships like one of the example I told.

59
00:03:28,000 --> 00:03:28,000
Right.

60
00:03:28,000 --> 00:03:30,000
So this is my two nodes.

61
00:03:30,000 --> 00:03:33,000
And this may be related to this right.

62
00:03:33,000 --> 00:03:37,000
Let's say over here I have Tesla.

63
00:03:37,000 --> 00:03:40,000
This is a company which is owned by Elon Musk.

64
00:03:40,000 --> 00:03:40,000
Right.

65
00:03:40,000 --> 00:03:43,000
So I can just go ahead and write owned.

66
00:03:43,000 --> 00:03:43,000
Right.

67
00:03:43,000 --> 00:03:46,000
So owned is basically a relationship.

68
00:03:46,000 --> 00:03:55,000
And in tables, uh, most of the queries we write a lot of joins, queries itself.

69
00:03:55,000 --> 00:04:00,000
Right now instead of writing join queries in graph database we specifically use something called as

70
00:04:00,000 --> 00:04:01,000
traversal.

71
00:04:01,000 --> 00:04:08,000
Traversal basically means based on the properties based on the nodes, based on the relationship, we

72
00:04:08,000 --> 00:04:12,000
travel from one node to the other node to finally get a result right.

73
00:04:12,000 --> 00:04:18,000
So these are some of the basic differences between RDBMS and graph database, right?

74
00:04:18,000 --> 00:04:20,000
Instead of using tables, we use graph over here.

75
00:04:20,000 --> 00:04:24,000
Instead of inserting records or rows, we create nodes over here.

76
00:04:24,000 --> 00:04:26,000
Then we have columns and data.

77
00:04:26,000 --> 00:04:30,000
Instead of columns and data we use properties and values Similarly, with respect to constraint we have

78
00:04:30,000 --> 00:04:33,000
this primary key foreign key candidate key in RDBMS.

79
00:04:33,000 --> 00:04:38,000
Similarly here we have relationship and instead of join queries we use something called as traversal.

80
00:04:38,000 --> 00:04:43,000
Now let's talk about some of the important advantages.

81
00:04:45,000 --> 00:04:51,000
So let's go ahead and talk about advantages of neo4j's okay.

82
00:04:51,000 --> 00:04:54,000
Now there's some very good advantages.

83
00:04:54,000 --> 00:05:01,000
First, entire this neo four J database works with respect to a graph data model.

84
00:05:01,000 --> 00:05:03,000
We will talk more about this graph data model.

85
00:05:04,000 --> 00:05:13,000
Uh, this graph data model will be responsible in creating this nodes um relationship properties and

86
00:05:13,000 --> 00:05:19,000
values and many more things properties and values.

87
00:05:22,000 --> 00:05:28,000
Okay, now coming to the second and very important point, when we use this neo for Jay in the cloud,

88
00:05:28,000 --> 00:05:36,000
it provides us real time insights, like as soon as I create a graph, because see, at the end of the

89
00:05:36,000 --> 00:05:41,000
day when we use this neo 4G there, you could see in that particular instance nodes were getting maintained

90
00:05:41,000 --> 00:05:42,000
in a separate way.

91
00:05:42,000 --> 00:05:44,000
Properties were getting maintained in a separate way.

92
00:05:45,000 --> 00:05:49,000
The relationships were getting maintained in a separate way right here.

93
00:05:49,000 --> 00:05:58,000
Uh, you'll be able to see that if I go to the third point, you will be able to retrieve the data very

94
00:05:58,000 --> 00:06:00,000
much easily just by writing one query.

95
00:06:00,000 --> 00:06:05,000
And over here we will be learning about this, which is called as Cypher query.

96
00:06:05,000 --> 00:06:07,000
like how we have a sequel query.

97
00:06:07,000 --> 00:06:10,000
Similarly, we'll go ahead and uh, write the cipher query.

98
00:06:10,000 --> 00:06:14,000
And sometime you don't even have to write the cipher query, right.

99
00:06:14,000 --> 00:06:17,000
Just by clicking on any of the relationships.

100
00:06:17,000 --> 00:06:22,000
And all automatically will be getting a basic template of all the queries itself.

101
00:06:22,000 --> 00:06:25,000
And that is all possible because of this Neo4j's database.

102
00:06:25,000 --> 00:06:26,000
Okay.

103
00:06:26,000 --> 00:06:29,000
As I said, uh, let's talk about this Cypher query.

104
00:06:29,000 --> 00:06:33,000
So we basically say Cypher query as this Cypher query language.

105
00:06:35,000 --> 00:06:37,000
Cypher query language.

106
00:06:37,000 --> 00:06:40,000
Right now inside the Cypher query language.

107
00:06:40,000 --> 00:06:46,000
Uh, it is you can just say it as it is a declarative.

108
00:06:47,000 --> 00:06:50,000
It is a decorated declarative query language.

109
00:06:52,000 --> 00:06:54,000
To represent.

110
00:06:57,000 --> 00:06:59,000
The graph.

111
00:07:01,000 --> 00:07:03,000
Visually.

112
00:07:04,000 --> 00:07:07,000
It is used to represent the graph visually.

113
00:07:07,000 --> 00:07:08,000
Okay.

114
00:07:08,000 --> 00:07:13,000
And the best thing about Cypher query will be that you'll be able to understand in a very much easy

115
00:07:13,000 --> 00:07:15,000
way, because it is human readable.

116
00:07:15,000 --> 00:07:15,000
Okay.

117
00:07:16,000 --> 00:07:23,000
And one of the very important thing that usually in RDBMS you sometime when there is a nested queries

118
00:07:23,000 --> 00:07:25,000
and all, you really have to use lot of joints.

119
00:07:25,000 --> 00:07:30,000
But uh, in neo4j's you don't have to use any joints.

120
00:07:30,000 --> 00:07:31,000
That is the best thing.

121
00:07:31,000 --> 00:07:37,000
So that makes this entire Cypher query language amazing for doing multi different different purposes

122
00:07:38,000 --> 00:07:40,000
for retrieving different, different kind of data itself.

123
00:07:40,000 --> 00:07:40,000
Okay.

124
00:07:41,000 --> 00:07:45,000
Uh, so we will be talking more about it as we go ahead.

125
00:07:45,000 --> 00:07:51,000
And I've also spoken about the advantages of neo for Jay, but if I probably talk about most of the

126
00:07:51,000 --> 00:07:57,000
common properties like acid properties, it supposed, uh, it neo four J supports complete acid properties,

127
00:07:57,000 --> 00:07:57,000
right?

128
00:07:57,000 --> 00:08:00,000
When we say acid, what does this basically mean?

129
00:08:00,000 --> 00:08:02,000
In RDBMS there are four important properties.

130
00:08:02,000 --> 00:08:06,000
One is atomicity, consistency, isolation, and durability.

131
00:08:06,000 --> 00:08:06,000
Right.

132
00:08:06,000 --> 00:08:08,000
So let me just go ahead and write this.

133
00:08:08,000 --> 00:08:10,000
It is nothing but atomicity.

134
00:08:11,000 --> 00:08:12,000
Okay.

135
00:08:12,000 --> 00:08:13,000
Consistency.

136
00:08:15,000 --> 00:08:16,000
Isolation.

137
00:08:18,000 --> 00:08:21,000
Along with this you also have this durability.

138
00:08:21,000 --> 00:08:28,000
So with respect to this acid properties which is one of the core features of RDBMS.

139
00:08:28,000 --> 00:08:30,000
Similarly this is also supported in Neo4j's.

140
00:08:30,000 --> 00:08:39,000
Um and um, you'll be able to see that, uh, once you start using this, there is no such kind of fixed

141
00:08:39,000 --> 00:08:40,000
schema.

142
00:08:40,000 --> 00:08:40,000
Okay.

143
00:08:40,000 --> 00:08:47,000
So one of the very good advantages with respect to Neo4j's is that we don't have any fixed schema.

144
00:08:47,000 --> 00:08:51,000
It is having a flexible schema okay.

145
00:08:51,000 --> 00:08:55,000
It's not like that one of the node will have only three properties.

146
00:08:55,000 --> 00:08:57,000
The other node will also have three properties.

147
00:08:57,000 --> 00:08:58,000
No, nothing like that.

148
00:08:58,000 --> 00:09:00,000
It can have any number of properties.

149
00:09:00,000 --> 00:09:03,000
It can depend right based on the data that we have.

150
00:09:03,000 --> 00:09:11,000
So this was just to give you a clear idea about the differences between RDBMS and graph database.

151
00:09:11,000 --> 00:09:17,000
Along with this, we also saw what are the advantages of uh specifically using neo for J.

152
00:09:17,000 --> 00:09:24,000
Okay, now, uh, in the next video or in the next section, we are going to discuss about the data

153
00:09:24,000 --> 00:09:25,000
model in Neo Forge.

154
00:09:25,000 --> 00:09:30,000
And that will actually give us a crux, understanding about how a nodes is basically created.

155
00:09:30,000 --> 00:09:31,000
What are the important things?

156
00:09:31,000 --> 00:09:33,000
What are the important components.

157
00:09:33,000 --> 00:09:35,000
When we go ahead and create this kind of nodes?

158
00:09:35,000 --> 00:09:41,000
By using Neo Forge database, by using the Cypher query language, I this was it.

159
00:09:41,000 --> 00:09:42,000
I will see you all in the next section.

