KHOÁ LUẬN TỐT NGHIỆP
TÌM HIỂU NOSQL VÀ XÂY DỰNG
ỨNG DỤNG MINH HOẠ
Giảng viên hướng dẫn: ThS. PHẠM THI VƯƠNG
Sinh viên thực hiện : DƯƠNG THÂN DÂN - 08520057
BÙI NGỌC HUY - 08520544
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
NỘI DUNG TRÌNH BÀY
Giới thiệu đề tài
Tìm hiểu RavenDB
Giới thiệu ứng dụng
Tổng kết
2
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
LÝ DO LỰA CHỌN ĐỀ TÀI ?
3
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
4
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
1000 tỷ truy cập
5
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
6
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
7
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
MongoDB vs. SQL Server 2008 Performance Showdown
NOSQL LÀ GÌ
Ứng dụng yêu cầu ràng buộc cao
Các truy vấn phức tạp
Các phân tích hiện đại (BI)
10
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
MỤC TIÊU ĐỀ TÀI
11
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
NoSQL, kiến trúc, phân loại
Cách thiết kế cơ sở dữ liệu NoSQL
Tìm hiểu các loại NoSQL phổ biến
Tìm hiểu RavenDB
Xây dựng ứng dụng minh họa
PHÂN LOẠI CƠ SỞ DỮ LIỆU NOSQL
Có 4 loại cơ sở dữ liệu NoSQL:
12
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Key-value store
Column families
Document database
Graph database
NỘI DUNG TRÌNH BÀY
Giới thiệu đề tài
Tìm hiểu RavenDB
Giới thiệu ứng dụng
Tổng kết
13
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
GIỚI THIỆU VỀ RAVENDB
dữ liệu
Không
cần định nghĩa trƣớc kiểu dữ
liệu.Dữ
liệu lƣu trữ dƣới dạng JSON
Phải
định nghĩa trƣớc kiểu
dữ
liệu
Lƣợc
đồ
Không
yêu cầu
Yêu
cầu lƣợc đồ
Kiến
thức SQL
Không
yêu cầu
Yêu
cầu SQL
Truy
vấn
Sử
dụng index (cú pháp Linq)
Truy
vấn SQL.
Ràng
buộc dữ liệu
Bỏ
Yêu
cầu thấp hơn về giá trị và tính
đồng
nhất của phần cứng
Yêu
cầu phần cứng cao
17
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
SO SÁNH RAVENDB VỚI MONGODB VÀ COUCHDB
MongoDB
CouchDB
RavenDB
Documents
Format
BSON
JSON
JSON
Metadata
No
System
Monogoimport
utility
Yes
Yes
Adhoc Query
Yes
No
No
18
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
SO SÁNH RAVENDB VỚI MONGODB VÀ COUCHDB SO SÁNH RAVENDB VỚI MONGODB VÀ COUCHDB
MongoDB
CouchDB
RavenDB
Storage
Sharding
-place
MVCC (Multi
-
version
Concurrency
Control)
Optimistic
concurrency
Consistency
Strong Master /
Eventual Slave
Strong Node /
Eventual Cluster
Eventual
Replication
Master
-Slave
Peer
-based
Included Plug
-in
Triggers
No
Update Validation
Security
Yes
Security
Basic
Basic
Basic using included
plug
-in
Written In
C++
Erlang
C#
NỘI DUNG TRÌNH BÀY
Giới thiệu đề tài
Server
MiddelEast
Server
American
Web server
View
Model
Controller
Clients Asia
Client n
Client 1
Client 2
Clients American
Client n
Client 1
Client 2
Clients MiddelEast
Client n
Client 1
Client 2
Thiết kế mô hnh 3 tầng
24
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH – TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Uses
Uses
Injects
dependencies
Uses
Core