際際滷

際際滷Share a Scribd company logo
MongoDB Introduction
Thanh.bntt
( S動u t畉m ) 07/2nd/2015
1. NoSQL
NoSQL l m畛t kh叩i ni畛m ch畛 v畛 m畛t l畛p c叩c h畛 c董 s畛 d畛 li畛u kh担ng s畛 d畛ng m担
h狸nh quan h畛. (RDBMS).
NoSQL ra 畛i nm 1998 b畛i Carlo Strozzi
Vo nm 2009, Eric Evans, nh但n vi棚n c畛a Rackspace gi畛i thi畛u l畉i thu畉t ng畛
NoSQL khi Johan Oskarsson c畛a Last.fm mu畛n t畛 ch畛c m畛t h畛i th畉o v畛 c董 s畛 d畛
li畛u ngu畛n m畛 ph但n t叩n.
Thu畉t ng畛 NoSQL 叩nh d畉u b動畛c ph叩t tri畛n c畛a th畉 h畛 CSDL m畛i:
ph但n t叩n (distributed) + kh担ng rng bu畛c (non-relational).
1.2. 畉c i畛m
 NoSQL l動u tr畛 d畛 li畛u c畛a m狸nh theo d畉ng c畉p gi叩 tr畛 key  value.
 S畛 d畛ng s畛 l動畛ng l畛n c叩c node 畛 l動u tr畛 th担ng tin  M担 h狸nh ph但n t叩n
d動畛i s畛 ki畛m so叩t ph畉n m畛m
 Ch畉p nh畉n d畛 li畛u b畛 tr湛ng l畉p
 M畛t truy v畉n s畉 動畛c g畛i t畛i nhi畛u m叩y c湛ng l炭c
 Phi quan h畛  kh担ng c坦 rng bu畛c no cho vi畛c nh畉t qu叩n d畛 li畛u
 T鱈nh nh畉t qu叩n kh担ng theo th畛i gian th畛c: Sau m畛i thay 畛i CSDL, kh担ng
c畉n t叩c 畛ng ngay 畉n t畉t c畉 c叩c CSDL li棚n quan m 動畛c lan truy畛n theo
th畛i gian.
1.3. C叩c d畉ng NoSQL c董 b畉n
 Key  value data stores: D畛 li畛u l動u d動畛i d畉ng c畉p key  value. Gi叩 tr畛 動畛c truy xu畉t th担ng qua key.
V鱈 d畛 : Redis, Dynomite, Project Voldemort.
Th動畛ng cho : Content caching Applications
 Column-based  Tabular: C董 s畛 d畛 li畛u t畛 ch畛c d動畛i d畉ng c叩c b畉ng. G畉n gi畛ng v畛i m担 h狸nh
RDBMS. Tuy nhi棚n, Ch炭ng l動u d畛 li畛u b畛i c叩c c畛t ch畛 kh担ng ph畉i b畉ng c叩c d嘆ng. N坦 kh叩 th鱈ch h畛p
v畛i 畛 hi畛n th畛 b畉ng c叩c ph畉n m畛m qu畉n l箪 kho d畛 li畛u
V鱈 d畛 : Apache Hbase, Apache Cassandra, Hypertable
Th動畛ng cho : c叩c h畛 ph但n t叩n file
 Document-based: D畛 li畛u (b叩n c畉u tr炭c hay semi-structured) 動畛c l動u tr畛 v t畛 ch畛c d動畛i d畉ng m畛t
t畉p h畛p c叩c document. C叩c document ny linh ho畉t, m畛i document c坦 m畛t t畉p nhi畛u tr動畛ng.
V鱈 d畛 : Apache CouchDB v MongoDB
Th動畛ng cho : Web applications
 Graph-based data-stores: Nh畛ng CSDL ny 叩p d畛ng l箪 thuy畉t 畛 th畛 trong khoa h畛c m叩y t鱈nh 畛 l動u
tr畛 v truy xu畉t d畛 li畛u. Ch炭ng t畉p trung vo t鱈nh r畛i r畉c gi畛a c叩c ph畉n d畛 li畛u. C叩c ph畉n t畛 董n v畛 d畛
li畛u 動畛c bi畛u th畛 nh動 m畛t n炭t v li棚n k畉t v畛i c叩c thnh ph畉n kh叩c b畉ng c叩c c畉nh.
V鱈 d畛 : Neo4j, InfiniteGraph, DEX
Th動畛ng cho : Social networking, H畛 tr畛 gi炭p
2. MongoDB
MongoDB l m畛t m達 ngu畛n m畛 v l m畛t t畉p ti li畛u d湛ng c董 ch畉 NoSQL
畛 truy v畉n
動畛c vi畉t b畛i ng担n ng畛 C++.
L動u tr畛 d畛 li畛u d動畛i d畉ng JSON
Ho畉t 畛ng tr棚n kh叩i ni畛m collection v document
2.1 Kh叩i ni畛m c叩c thnh ph畉n l動u tr畛
Database l g狸?
 Database l m畛t  ch畛a d畛 li畛u 畛 m畛c v畉t l箪 (physical), m畛i database s畉 c坦 nhi畛u
collection v 動畛c thi畉t l畉p l動u tr畛 畛 m畛t n董i trong m叩y ch畛 m叩y t鱈nh. M畛t m叩y ch畛
MongoDB th動畛ng c坦 th畛 t畉o nhi畛u c董 s畛 d畛 li畛u.
Collection l g狸?
 Collection trong MongoDB l nh坦m c叩c ti li畛u (document), n坦 t動董ng 動董ng v畛i m畛t
b畉ng (table) trong CSDL th担ng th動畛ng n棚n m畛i collection s畉 thu畛c v畛 m畛t database duy
nh畉t, kh担ng c坦 rng bu畛c Relationship
 m畛i collection c坦 th畛 ch畛a nhi畛u th畛 lo畉i kh叩c nhau kh担ng gi畛ng nh動 table trong h畛 qu畉n
tr畛 mysql l c叩c field c畛 畛nh.
Document l g狸?
 Document trong MongoDB c坦 c畉u tr炭c t動董ng t畛 nh動 ki畛u d畛 li畛u JSON, ngh挑a l s畉 c坦
c叩c c畉p (key => gi叩 tr畛)
 Document ta c坦 th畛 hi畛u n坦 gi畛ng nh動 c叩c record d畛 li畛u trong MYSQL, tuy nhi棚n n坦 c坦
s畛 kh叩c bi畛t l c叩c c畉p (key => value) c坦 th畛 kh担ng gi畛ng nhau 畛 m畛i document.
2.2 So s叩nh gi畛a RDBMS v MongoDB
RDBMS MongoDB
Database Database
Table Collection
Tuple/Row Document
column Field
Table Join Embedded Documents
Primary Key Primary Key (m畉c 畛nh l _id)
2.3 V鱈 d畛 v畛 c叩ch l動u tr畛 trong MongoDB
{
_id: ObjectId(7df78ad8902c)
title: 'T狸m hi畛u mongodb',
description: 'MongoDB s畛 d畛ng kh叩i ni畛m NO-SQL',
comments: [
{
user:'user1',
message: 'First comment',
dateCreated: new Date(2011,1,20,2,15),
like: 0
},
{
user:'user2',
message: 'Second comment',
dateCreated: new Date(2011,1,25,7,45),
like: 5
}
]
}
 key _id l do h畛 th畛ng t畛 t畉o ra m畛t field
nh動 v畉y lm kh坦a ch鱈nh
 但y l c畉u tr炭c c畛a m畛t m畉u document
trong MongoDB, nh動 v畉y khi c坦 th棚m
comment th狸 ta s畉 th棚m n坦 vo ph畉n
comment c畛a tin.
2.4 Khi no s畛 d畛ng MongoDB
N畉u website c畛a b畉n c坦 t鱈nh ch畉t INSERT cao, b畛i v狸 m畉c 畛nh MongoDB
c坦 s畉n c董 ch畉 ghi v畛i t畛c 畛 cao v an ton.
Website c畛a b畉n 畛 d畉ng th畛i gian th畛c nhi畛u, ngh挑a l nhi畛u ng動畛i thao t叩c
v畛i 畛ng dung. N畉u trong qu叩 tr狸nh load b畛 l畛i t畉i m畛t i畛m no 坦 th狸 n坦 s畉
b畛 qua ph畉n 坦 n棚n s畉 an ton.
Website b畉n c坦 nhi畛u d畛 li畛u qu叩, gi畉 s畛 web b畉n c坦 畉n 10 tri畛u records
th狸 坦 l c董n 叩c m畛ng v畛i MYSQL. B畛i v狸 MongoDB c坦 kh畉 nng t狸m ki畉n
th担ng tin li棚n quan c滴ng kh叩 nhanh n棚n tr動畛ng h畛p ny n棚n d湛ng n坦.
M叩y ch畛 kh担ng c坦 h畛 qu畉n tr畛 CSDL, tr動畛ng h畛p ny th動畛ng b畉n s畉 s畛
d畛ng SQL LIFE ho畉c l MongoDB.
Ad

More Related Content

What's hot (20)

Gi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛n
Gi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛nGi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛n
Gi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛n
Trieu Nguyen
Hadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛n
Hadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛nHadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛n
Hadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛n
Thnh Th動 Th叩i
b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚
b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚
b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚
thuhuynhphonegap
Ph但n T鱈ch Thi畉t K畉 H畛 Th畛ng Th担ng Tin - Qu畉n L箪 i畛m
Ph但n T鱈ch Thi畉t K畉 H畛 Th畛ng Th担ng Tin -  Qu畉n L箪 i畛mPh但n T鱈ch Thi畉t K畉 H畛 Th畛ng Th担ng Tin -  Qu畉n L箪 i畛m
Ph但n T鱈ch Thi畉t K畉 H畛 Th畛ng Th担ng Tin - Qu畉n L箪 i畛m
H畛c vi畛n C担ng ngh畛 B動u ch鱈nh Vi畛n th担ng
Chuong 3- CSDL ph但n t叩n
Chuong 3- CSDL ph但n t叩nChuong 3- CSDL ph但n t叩n
Chuong 3- CSDL ph但n t叩n
duysu
Bi 2 : C叩c 畛i t動畛ng trong CSDL - SQL server
Bi 2 : C叩c 畛i t動畛ng trong CSDL - SQL serverBi 2 : C叩c 畛i t動畛ng trong CSDL - SQL server
Bi 2 : C叩c 畛i t動畛ng trong CSDL - SQL server
MasterCode.vn
畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...
畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...
畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...
GMO-Z.com Vietnam Lab Center
C董 s畛 d畛 li畛u n但ng cao
C董 s畛 d畛 li畛u n但ng caoC董 s畛 d畛 li畛u n但ng cao
C董 s畛 d畛 li畛u n但ng cao
Minh Tr鱈 L棚 Vi畉t
H畛 Th畛ng DNS
H畛 Th畛ng DNSH畛 Th畛ng DNS
H畛 Th畛ng DNS
Tu畉n Nguy畛n Vn
X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛
X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛
X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛
AskSock Ng担 Quang 畉o
CMS dotnetnuke
CMS dotnetnukeCMS dotnetnuke
CMS dotnetnuke
Trung Thnh Nguy畛n
B叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛n
B叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛nB叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛n
B叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛n
Qu但n Kh担ng Qu畉n
畛 ti: T狸m hi畛u v畛 Web Service v 畛ng d畛ng, HAY, 9
畛 ti: T狸m hi畛u v畛 Web Service v 畛ng d畛ng, HAY, 9畛 ti: T狸m hi畛u v畛 Web Service v 畛ng d畛ng, HAY, 9
畛 ti: T狸m hi畛u v畛 Web Service v 畛ng d畛ng, HAY, 9
D畛ch v畛 vi畉t bi tr畛n g坦i ZALO 0917193864
M担 h狸nh i畛n to叩n 叩m m但y
M担 h狸nh i畛n to叩n 叩m m但yM担 h狸nh i畛n to叩n 叩m m但y
M担 h狸nh i畛n to叩n 叩m m但y
PhamTuanKhiem
Gi叩o tr狸nh m畉ng m叩y t鱈nh
Gi叩o tr狸nh m畉ng m叩y t鱈nhGi叩o tr狸nh m畉ng m叩y t鱈nh
Gi叩o tr狸nh m畉ng m叩y t鱈nh
Hoi Ph畉m
畛 ti: Nghi棚n c畛u x但y d畛ng 畛ng d畛ng cho h畛 i畛u hnh IOS, HOT
畛 ti: Nghi棚n c畛u x但y d畛ng 畛ng d畛ng cho h畛 i畛u hnh IOS, HOT畛 ti: Nghi棚n c畛u x但y d畛ng 畛ng d畛ng cho h畛 i畛u hnh IOS, HOT
畛 ti: Nghi棚n c畛u x但y d畛ng 畛ng d畛ng cho h畛 i畛u hnh IOS, HOT
D畛ch V畛 Vi畉t Bi Tr畛n G坦i ZALO 0917193864
Rang buoc toan ven
Rang buoc toan venRang buoc toan ven
Rang buoc toan ven
Ph湛ng Duy
Bi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL server
Bi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL serverBi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL server
Bi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL server
MasterCode.vn
C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉
C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉
C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉
Tran Tien
B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛
B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛
B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛
zDollz Lovez
Gi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛n
Gi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛nGi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛n
Gi畛i thi畛u c董 b畉n v畛 Big Data v c叩c 畛ng d畛ng th畛c ti畛n
Trieu Nguyen
Hadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛n
Hadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛nHadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛n
Hadoop - H畛 th畛ng t鱈nh to叩n v x畛 l箪 d畛 li畛u l畛n
Thnh Th動 Th叩i
b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚
b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚
b叩o c叩o h畛 qu畉n tr畛 c董 s畛 d畛 li畛u h畛 th畛ng b叩n c ph棚
thuhuynhphonegap
Chuong 3- CSDL ph但n t叩n
Chuong 3- CSDL ph但n t叩nChuong 3- CSDL ph但n t叩n
Chuong 3- CSDL ph但n t叩n
duysu
Bi 2 : C叩c 畛i t動畛ng trong CSDL - SQL server
Bi 2 : C叩c 畛i t動畛ng trong CSDL - SQL serverBi 2 : C叩c 畛i t動畛ng trong CSDL - SQL server
Bi 2 : C叩c 畛i t動畛ng trong CSDL - SQL server
MasterCode.vn
畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...
畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...
畛ng d畛ng NLP vo vi畛c x叩c 畛nh 箪 mu畛n ng動畛i d湛ng (Intent Detection) v s畛a l畛...
GMO-Z.com Vietnam Lab Center
X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛
X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛
X但y d畛ng c董 s畛 d畛 li畛u trong qu畉n l箪 nh但n s畛
AskSock Ng担 Quang 畉o
B叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛n
B叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛nB叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛n
B叩o c叩o d畛 叩n qu畉n l鱈 th動 vi畛n
Qu但n Kh担ng Qu畉n
M担 h狸nh i畛n to叩n 叩m m但y
M担 h狸nh i畛n to叩n 叩m m但yM担 h狸nh i畛n to叩n 叩m m但y
M担 h狸nh i畛n to叩n 叩m m但y
PhamTuanKhiem
Gi叩o tr狸nh m畉ng m叩y t鱈nh
Gi叩o tr狸nh m畉ng m叩y t鱈nhGi叩o tr狸nh m畉ng m叩y t鱈nh
Gi叩o tr狸nh m畉ng m叩y t鱈nh
Hoi Ph畉m
Rang buoc toan ven
Rang buoc toan venRang buoc toan ven
Rang buoc toan ven
Ph湛ng Duy
Bi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL server
Bi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL serverBi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL server
Bi 3 : C叩c rng bu畛c ton v畉n d畛 li畛u - SQL server
MasterCode.vn
C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉
C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉
C董 s畛 d畛 li畛u ph但n t叩n - ph畉m th畉 qu畉
Tran Tien
B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛
B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛
B叩o C叩o 畛 n 2 : Thi畉t K畉 Web B叩n 畛ng H畛
zDollz Lovez

Similar to MongoDB Introduction (20)

MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
DuyThnh28
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
HungHuyNguyen3
H畛 qu畉n tr畛 c董 s畛 d畛 li畛u ph畉m gia ti畉n[bookbooming.com]
H畛 qu畉n tr畛 c董 s畛 d畛 li畛u   ph畉m gia ti畉n[bookbooming.com]H畛 qu畉n tr畛 c董 s畛 d畛 li畛u   ph畉m gia ti畉n[bookbooming.com]
H畛 qu畉n tr畛 c董 s畛 d畛 li畛u ph畉m gia ti畉n[bookbooming.com]
bookbooming1
C董 S畛 D畛 Li畛u - Ch動董ng 1
C董 S畛 D畛 Li畛u - Ch動董ng 1C董 S畛 D畛 Li畛u - Ch動董ng 1
C董 S畛 D畛 Li畛u - Ch動董ng 1
Nguy畛n Tr畛ng
C董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptx
C董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptxC董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptx
C董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptx
longg3z2000
Couchbase Server, originally known as Membase
Couchbase Server, originally known as MembaseCouchbase Server, originally known as Membase
Couchbase Server, originally known as Membase
Anh Dung
Ldap it-slideshares.blogspot.com
Ldap it-slideshares.blogspot.comLdap it-slideshares.blogspot.com
Ldap it-slideshares.blogspot.com
phanleson
H畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚n
H畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚nH畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚n
H畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚n
TranHoangViet001455
My sql.storage engine
My sql.storage engineMy sql.storage engine
My sql.storage engine
L棚 Nh但n
際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1
際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1
際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1
pisu412
Chuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlChuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdl
Huy Feng
b1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdfb1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdf
QuyVo27
3_Chuong 3_An toan trong DBMSsssssssssss.pdf
3_Chuong 3_An toan trong DBMSsssssssssss.pdf3_Chuong 3_An toan trong DBMSsssssssssss.pdf
3_Chuong 3_An toan trong DBMSsssssssssss.pdf
submitzenlish
C董 s畛 d畛 li畛u
C董 s畛 d畛 li畛uC董 s畛 d畛 li畛u
C董 s畛 d畛 li畛u
Thnh Lu但n
51645016 csdl
51645016 csdl51645016 csdl
51645016 csdl
Thuy Sunwar
V1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdf
V1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdfV1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdf
V1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdf
TrcNguyn284959
C董 s畛 d畛 li畛u PTIT slide 2
C董 s畛 d畛 li畛u PTIT slide 2C董 s畛 d畛 li畛u PTIT slide 2
C董 s畛 d畛 li畛u PTIT slide 2
NguynMinh294
C董 s畛 d畛 li畛u ts.ph畉m th畉 qu畉[bookbooming.com]
C董 s畛 d畛 li畛u   ts.ph畉m th畉 qu畉[bookbooming.com]C董 s畛 d畛 li畛u   ts.ph畉m th畉 qu畉[bookbooming.com]
C董 s畛 d畛 li畛u ts.ph畉m th畉 qu畉[bookbooming.com]
bookbooming1
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
DuyThnh28
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
HungHuyNguyen3
H畛 qu畉n tr畛 c董 s畛 d畛 li畛u ph畉m gia ti畉n[bookbooming.com]
H畛 qu畉n tr畛 c董 s畛 d畛 li畛u   ph畉m gia ti畉n[bookbooming.com]H畛 qu畉n tr畛 c董 s畛 d畛 li畛u   ph畉m gia ti畉n[bookbooming.com]
H畛 qu畉n tr畛 c董 s畛 d畛 li畛u ph畉m gia ti畉n[bookbooming.com]
bookbooming1
C董 S畛 D畛 Li畛u - Ch動董ng 1
C董 S畛 D畛 Li畛u - Ch動董ng 1C董 S畛 D畛 Li畛u - Ch動董ng 1
C董 S畛 D畛 Li畛u - Ch動董ng 1
Nguy畛n Tr畛ng
C董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptx
C董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptxC董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptx
C董 s畛 d畛 li畛u cho ng動畛i m畛i b畉t 畉u.pptx
longg3z2000
Couchbase Server, originally known as Membase
Couchbase Server, originally known as MembaseCouchbase Server, originally known as Membase
Couchbase Server, originally known as Membase
Anh Dung
Ldap it-slideshares.blogspot.com
Ldap it-slideshares.blogspot.comLdap it-slideshares.blogspot.com
Ldap it-slideshares.blogspot.com
phanleson
H畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚n
H畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚nH畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚n
H畛 qu畉n tr畛 CSDL PostgreSQL cho sinh vi棚n
TranHoangViet001455
My sql.storage engine
My sql.storage engineMy sql.storage engine
My sql.storage engine
L棚 Nh但n
際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1
際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1
際際滷 H畛 Qu畉n Tr畛 C董 s畛 d畛 li畛u - CH働NG 1
pisu412
Chuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlChuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdl
Huy Feng
b1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdfb1-gioithieu-190213084421.pdf
b1-gioithieu-190213084421.pdf
QuyVo27
3_Chuong 3_An toan trong DBMSsssssssssss.pdf
3_Chuong 3_An toan trong DBMSsssssssssss.pdf3_Chuong 3_An toan trong DBMSsssssssssss.pdf
3_Chuong 3_An toan trong DBMSsssssssssss.pdf
submitzenlish
C董 s畛 d畛 li畛u
C董 s畛 d畛 li畛uC董 s畛 d畛 li畛u
C董 s畛 d畛 li畛u
Thnh Lu但n
51645016 csdl
51645016 csdl51645016 csdl
51645016 csdl
Thuy Sunwar
V1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdf
V1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdfV1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdf
V1_CSDL_Ch動董ng 1 - Kh叩i ni畛m l箪 thuy畉t cn b畉n v畛 c董 s畛 d畛 li畛u.pdf
TrcNguyn284959
C董 s畛 d畛 li畛u PTIT slide 2
C董 s畛 d畛 li畛u PTIT slide 2C董 s畛 d畛 li畛u PTIT slide 2
C董 s畛 d畛 li畛u PTIT slide 2
NguynMinh294
C董 s畛 d畛 li畛u ts.ph畉m th畉 qu畉[bookbooming.com]
C董 s畛 d畛 li畛u   ts.ph畉m th畉 qu畉[bookbooming.com]C董 s畛 d畛 li畛u   ts.ph畉m th畉 qu畉[bookbooming.com]
C董 s畛 d畛 li畛u ts.ph畉m th畉 qu畉[bookbooming.com]
bookbooming1
Ad

MongoDB Introduction

  • 2. 1. NoSQL NoSQL l m畛t kh叩i ni畛m ch畛 v畛 m畛t l畛p c叩c h畛 c董 s畛 d畛 li畛u kh担ng s畛 d畛ng m担 h狸nh quan h畛. (RDBMS). NoSQL ra 畛i nm 1998 b畛i Carlo Strozzi Vo nm 2009, Eric Evans, nh但n vi棚n c畛a Rackspace gi畛i thi畛u l畉i thu畉t ng畛 NoSQL khi Johan Oskarsson c畛a Last.fm mu畛n t畛 ch畛c m畛t h畛i th畉o v畛 c董 s畛 d畛 li畛u ngu畛n m畛 ph但n t叩n. Thu畉t ng畛 NoSQL 叩nh d畉u b動畛c ph叩t tri畛n c畛a th畉 h畛 CSDL m畛i: ph但n t叩n (distributed) + kh担ng rng bu畛c (non-relational).
  • 3. 1.2. 畉c i畛m NoSQL l動u tr畛 d畛 li畛u c畛a m狸nh theo d畉ng c畉p gi叩 tr畛 key value. S畛 d畛ng s畛 l動畛ng l畛n c叩c node 畛 l動u tr畛 th担ng tin M担 h狸nh ph但n t叩n d動畛i s畛 ki畛m so叩t ph畉n m畛m Ch畉p nh畉n d畛 li畛u b畛 tr湛ng l畉p M畛t truy v畉n s畉 動畛c g畛i t畛i nhi畛u m叩y c湛ng l炭c Phi quan h畛 kh担ng c坦 rng bu畛c no cho vi畛c nh畉t qu叩n d畛 li畛u T鱈nh nh畉t qu叩n kh担ng theo th畛i gian th畛c: Sau m畛i thay 畛i CSDL, kh担ng c畉n t叩c 畛ng ngay 畉n t畉t c畉 c叩c CSDL li棚n quan m 動畛c lan truy畛n theo th畛i gian.
  • 4. 1.3. C叩c d畉ng NoSQL c董 b畉n Key value data stores: D畛 li畛u l動u d動畛i d畉ng c畉p key value. Gi叩 tr畛 動畛c truy xu畉t th担ng qua key. V鱈 d畛 : Redis, Dynomite, Project Voldemort. Th動畛ng cho : Content caching Applications Column-based Tabular: C董 s畛 d畛 li畛u t畛 ch畛c d動畛i d畉ng c叩c b畉ng. G畉n gi畛ng v畛i m担 h狸nh RDBMS. Tuy nhi棚n, Ch炭ng l動u d畛 li畛u b畛i c叩c c畛t ch畛 kh担ng ph畉i b畉ng c叩c d嘆ng. N坦 kh叩 th鱈ch h畛p v畛i 畛 hi畛n th畛 b畉ng c叩c ph畉n m畛m qu畉n l箪 kho d畛 li畛u V鱈 d畛 : Apache Hbase, Apache Cassandra, Hypertable Th動畛ng cho : c叩c h畛 ph但n t叩n file Document-based: D畛 li畛u (b叩n c畉u tr炭c hay semi-structured) 動畛c l動u tr畛 v t畛 ch畛c d動畛i d畉ng m畛t t畉p h畛p c叩c document. C叩c document ny linh ho畉t, m畛i document c坦 m畛t t畉p nhi畛u tr動畛ng. V鱈 d畛 : Apache CouchDB v MongoDB Th動畛ng cho : Web applications Graph-based data-stores: Nh畛ng CSDL ny 叩p d畛ng l箪 thuy畉t 畛 th畛 trong khoa h畛c m叩y t鱈nh 畛 l動u tr畛 v truy xu畉t d畛 li畛u. Ch炭ng t畉p trung vo t鱈nh r畛i r畉c gi畛a c叩c ph畉n d畛 li畛u. C叩c ph畉n t畛 董n v畛 d畛 li畛u 動畛c bi畛u th畛 nh動 m畛t n炭t v li棚n k畉t v畛i c叩c thnh ph畉n kh叩c b畉ng c叩c c畉nh. V鱈 d畛 : Neo4j, InfiniteGraph, DEX Th動畛ng cho : Social networking, H畛 tr畛 gi炭p
  • 5. 2. MongoDB MongoDB l m畛t m達 ngu畛n m畛 v l m畛t t畉p ti li畛u d湛ng c董 ch畉 NoSQL 畛 truy v畉n 動畛c vi畉t b畛i ng担n ng畛 C++. L動u tr畛 d畛 li畛u d動畛i d畉ng JSON Ho畉t 畛ng tr棚n kh叩i ni畛m collection v document
  • 6. 2.1 Kh叩i ni畛m c叩c thnh ph畉n l動u tr畛 Database l g狸? Database l m畛t ch畛a d畛 li畛u 畛 m畛c v畉t l箪 (physical), m畛i database s畉 c坦 nhi畛u collection v 動畛c thi畉t l畉p l動u tr畛 畛 m畛t n董i trong m叩y ch畛 m叩y t鱈nh. M畛t m叩y ch畛 MongoDB th動畛ng c坦 th畛 t畉o nhi畛u c董 s畛 d畛 li畛u. Collection l g狸? Collection trong MongoDB l nh坦m c叩c ti li畛u (document), n坦 t動董ng 動董ng v畛i m畛t b畉ng (table) trong CSDL th担ng th動畛ng n棚n m畛i collection s畉 thu畛c v畛 m畛t database duy nh畉t, kh担ng c坦 rng bu畛c Relationship m畛i collection c坦 th畛 ch畛a nhi畛u th畛 lo畉i kh叩c nhau kh担ng gi畛ng nh動 table trong h畛 qu畉n tr畛 mysql l c叩c field c畛 畛nh. Document l g狸? Document trong MongoDB c坦 c畉u tr炭c t動董ng t畛 nh動 ki畛u d畛 li畛u JSON, ngh挑a l s畉 c坦 c叩c c畉p (key => gi叩 tr畛) Document ta c坦 th畛 hi畛u n坦 gi畛ng nh動 c叩c record d畛 li畛u trong MYSQL, tuy nhi棚n n坦 c坦 s畛 kh叩c bi畛t l c叩c c畉p (key => value) c坦 th畛 kh担ng gi畛ng nhau 畛 m畛i document.
  • 7. 2.2 So s叩nh gi畛a RDBMS v MongoDB RDBMS MongoDB Database Database Table Collection Tuple/Row Document column Field Table Join Embedded Documents Primary Key Primary Key (m畉c 畛nh l _id)
  • 8. 2.3 V鱈 d畛 v畛 c叩ch l動u tr畛 trong MongoDB { _id: ObjectId(7df78ad8902c) title: 'T狸m hi畛u mongodb', description: 'MongoDB s畛 d畛ng kh叩i ni畛m NO-SQL', comments: [ { user:'user1', message: 'First comment', dateCreated: new Date(2011,1,20,2,15), like: 0 }, { user:'user2', message: 'Second comment', dateCreated: new Date(2011,1,25,7,45), like: 5 } ] } key _id l do h畛 th畛ng t畛 t畉o ra m畛t field nh動 v畉y lm kh坦a ch鱈nh 但y l c畉u tr炭c c畛a m畛t m畉u document trong MongoDB, nh動 v畉y khi c坦 th棚m comment th狸 ta s畉 th棚m n坦 vo ph畉n comment c畛a tin.
  • 9. 2.4 Khi no s畛 d畛ng MongoDB N畉u website c畛a b畉n c坦 t鱈nh ch畉t INSERT cao, b畛i v狸 m畉c 畛nh MongoDB c坦 s畉n c董 ch畉 ghi v畛i t畛c 畛 cao v an ton. Website c畛a b畉n 畛 d畉ng th畛i gian th畛c nhi畛u, ngh挑a l nhi畛u ng動畛i thao t叩c v畛i 畛ng dung. N畉u trong qu叩 tr狸nh load b畛 l畛i t畉i m畛t i畛m no 坦 th狸 n坦 s畉 b畛 qua ph畉n 坦 n棚n s畉 an ton. Website b畉n c坦 nhi畛u d畛 li畛u qu叩, gi畉 s畛 web b畉n c坦 畉n 10 tri畛u records th狸 坦 l c董n 叩c m畛ng v畛i MYSQL. B畛i v狸 MongoDB c坦 kh畉 nng t狸m ki畉n th担ng tin li棚n quan c滴ng kh叩 nhanh n棚n tr動畛ng h畛p ny n棚n d湛ng n坦. M叩y ch畛 kh担ng c坦 h畛 qu畉n tr畛 CSDL, tr動畛ng h畛p ny th動畛ng b畉n s畉 s畛 d畛ng SQL LIFE ho畉c l MongoDB.