ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌC
CƠ SỞ DỮ LIỆU NÂNG CAO
GIẢNG VIÊN: TS. NGUYỄN TRẦN MINH THƯ
ĐỀ TÀI : NEWSQL
DỰA TRÊN TÀI LIỆU : NEWSQL TOWARDS NEXT - GENERATION SCALABLE RDBMS FOR ONLINE TRANSACTION
PROCESSING (OLTP) FOR BIG DATA MANAGEMENT
HỌC VIÊN:
LÊ HỒNG DANH – 16C12005
TP.HCM – 11/2017
NỘI DUNG TRÌNH BÀY
5
2
4
1
KẾT LUẬN
NỀN TẢNG
3
SO SÁNH RDBMS, NOSQL VÀ
GIỚI THIỆU
NEWSQL
2
Lê
Hồ
ng
D
an
h–
16
C1
20
05
NEWSQL DATABASES
1
PH
ẦN
GIỚI THIỆU
4
Lê
Hồ
n
gD
an
h–
16
C1
20
05
GIỚI THIỆU VÀ ĐỘNG LỰC
GIỚI THIỆU VÀ ĐỘNG LỰC
Các ứng dụng tập trung dữ liệu mới (mạng xã hội, IoT,…);
Cơ sở dữ liệu quan hệ không phù hợp với loại ứng dụng này;
Hệ thống lưu trữ dữ liệu mới – NoSQL:
Cung cấp khả năng mở rộng theo chiều ngang khá linh hoạt cho việc đọc/ghi đơn giản của hệ cơ
sở dữ liệu trên các máy chủ phân tán;
5
Lê
Hồ
n
gD
an
h–
16
C1
20
05
Khả năng phân phối và sao chép dữ liệu,…
GIỚI THIỆU VÀ ĐỘNG LỰC
yếu của NoSQL:
• Không hỗ trợ giao tác ACID nên kém về sự nhất quán dữ
NoSQL có phải là một hệ thống lưu trữ dữ liệu Điểm
16
C1
20
05
Xử lý phân tích trực tuyến (OLAP) sẽ giảm khi CSDL phình
to
an
h–
6
•
Xử lý giao dịch trực tuyến (OLTP) còn hạn chế, người dùng
cần độ chính xác trên từng giao dịch
gD
•
liệu
Lê
Hồ
n
tốt nhất?
GIỚI THIỆU VÀ ĐỘNG LỰC
Hãy thử kết hợp của cả hai mô hình RDBMS và NoSQL
Để đảm bảo đặc tính ACID
Để đảm bảo khả năng mở rộng
Để đảm bảo được hiệu suất cao các giao dịch OLTP
Để đảm bảo dữ liệu phân tích thời gian thực
7
gD
an
h–
16
C1
20
05
…
Lê
Hồ
n
•
•
•
•
•
GIỚI THIỆU VÀ ĐỘNG LỰC
8
Lê
Hồ
n
gD
an
h–
16
C1
20
05
NewSQ
L
2
PH
ẦN
NỀN TẢNG
BIGDATA
•
Trong thập kỉ qua, trong hầu hết mọi lĩnh vực trong nền
kinh tế đã chuyển định hướng theo dữ liệu.
Sự bùng nổ của dữ liệu đã làm tăng nhu cầu sử dụng các
10
gD
an
h–
16
C1
20
05
hệ thống lưu trữ dữ liệu.
Lê
Hồ
n
•
5 ĐẶC TRƯNG BIGDATA
Velocity
Value
BigData
Volume
Veracity
Variety
16
C1
20
05
BigData chứa nhiều thông tin quý giá
1
Lê
Hồ
n
gD
an
h–
Chính vì thế, những dữ liệu này phải được thu thập, tổ chức, lưu trữ, tìm kiếm, chia sẻ theo một cách khác so với bình thường
MÔ HÌNH GIAO DỊCH CƠ SỞ DỮ LIỆU
Add Image
Add Image
Add Image
Add Image
Isolation
Atomicity
Consistency
Tính bền vững: dữ liệu được lưu trữ cho cả
an
h–
chuẩn xác
2
gD
Tính nhất quán: một giao dịch sẽ tạo ra một
trạng thái mới khi hợp lệ dữ liệu hoặc chuyển
toàn bộ về trạng thái trước khi giao dịch
16
C1
20
05
trường hợp lỗi hệ thống vẫn đảm bảo trạng thái
Lê
Hồ
n
Tính nguyên tố: một giao dịch có nhiều thao
tác khác biệt thì toàn bộ được thực hiện hoặc
không một thao tác nào thực hiện
Durability
Tính đọc lập: một giao dịch đang thực thi và
chưa được xác nhận phải đảm bảo tách biệt
khỏi giao dịch khác
ĐỊNH LÝ CAP
Các khía cạnh khác nhau trong hệ thống phân tán
Strong Consistency: tính nhất quán mạnh mẽ
High Availability: tính sẵn sàng cao
3
gD
an
h–
16
C1
20
05
Partition Tolerance: tính hoạt động liên tục
Lê
Hồ
n
•
•
•
ACID x BASE
Thuật ngữ BASE [Brewer:2000]
•
Basically Available: về cơ bản đảm bảo được tính sẳn
sàng
•
Soft-state: trạng thái của hệ thống có thể thay đổi theo
thời gian
Eventually consistent: hệ thống sẽ trở nên nhất quán
14
gD
an
h–
16
C1
20
05
theo thời gian
Lê
Hồ
n
•
3
PH
ẦN
NEWSQL DATABASES
ĐỊNH NGHĨA NEWSQL
MATT ASSLET – 451 GROUP (APRIL 4th, 2011)
Các hệ thống cung cấp khả năng mở rộng và tính linh hoạt của NoSQL trong
khi vẫn giữ được hỗ trợ cho các truy vấn SQL và ACID hoặc để cải thiện hiệu
6
Lê
Hồ
n
gD
an
h–
16
C1
20
05
suất cho khối lượng công việc thích hợp
ĐỊNH NGHĨA NEWSQL
MICHAEL STONEBRAKER – BLOG@CACM (JUNE 16th, 2011)
Một định nghĩa hẹp hơn cho việc triển khai hệ thống của NewSQL:
Sử dụng lock-free kiểm soát truy cập đồng thời của lược đồ
Sử dụng shared-nothing kiến trúc phân tán
Hỗ trợ truy vấn SQL
Hỗ trợ ACID cho các giao dịch
Hiệu năng cao cho mỗi node
7
gD
an
h–
16
C1
20
05
Khả năng mở rộng
Lê
Hồ
n
•
•
•
•
•
•
ĐỊNH NGHĨA NEWSQL
WIKIPEDIA ARTICLE
NewSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ hiện đại
nhằm cung cấp hiệu năng khả thi tương tự cho các hệ thống
NoSQL để xử lý giao dịch trực tuyến (OLTP) trong khi vẫn đảm
8
Lê
Hồ
n
gD
an
h–
16
C1
20
05
bảo duy trì ACID của một hệ thống cơ sở dữ liệu truyền thống.
MÔ HÌNH KIẾN TRÚC
19
Lê
Hồ
n
gD
an
h–
16
C1
20
05
Shared Nothing Architecture
PHÂN LOẠI
New Architecture databases
NouDB, Clustrix, VoltDB, Drizzle, MenSQL
Các hệ thống này được thiết kế mới để đạt được khả năng mở rộng và hiệu năng hoạt động của Share Nothing của các nodes.
New MySQL storage engines
InnoDB, Akiban, TokuDB (commercial), InfiniDB, Xeround, GenieDB
Công cụ lưu trữ được tối ưu hóa cao cho SQL với giao diện lập trình tương tự như SQL.
Transparent clustering/ sharding
16
C1
20
05
dbShards (commercial), ScaleBase (commercial), ScalArc, Schooner MySQL
20
Lê
Hồ
n
gD
an
h–
Hệ thống này tự động chia CSDL trên nhiều nodes.
NEW ARCHITECTURE DATABASES
21
Lê
Hồ
n
gD
an
h–
16
C1
20
05
Cung cấp kiểm soát truy xuất đồng thời.
Quản lý kiểm soát truy xuất đồng thời trong cơ sở dữ liệu truyền thống:
2PL (2 phase locking)
MVCC (Milti Version Concurrency Control)
Basic Timestamp Concurrency Control
Optimistic Concurrency Control
T/O with Partion-Level Locking
NEW MYSQL STORAGE ENGINES
Cung cấp lưu trữ tối ưu hóa cho SQL.
Sử dụng MySQL Cluster
Trong node riêng biệt phân thành 3 loại như sau:
Data node: lưu trữ data;
Management node: cấu hình và giám sát các cụm;
Application node or SQL node: kết nối tất cả các node dữ liệu thực hiện lưu trữ và
phục hồi dữ liệu
22
Lê
Hồ
n
gD
an
h–
16
C1
20
05
Tính nhất quán sẽ được kiểm soát bởi application node
TRANSPARENT CLUSTERING / SHARDING
23
Lê
Hồ
n
gD
an
h–
16
C1
20
05
Sử dụng middleware sharding
Tất cả các node có thể kết nối với middleware
Middleware sẽ kiểm soát tất cả các quá trình để đảm bảo tính nhất quán
ĐẶC ĐIỂM NEWSQL
16
C1
20
05
an
h–
24
gD
o
SQL là cơ chế chính cho tương tác các ứng dụng
Đảm bảo các giao dịch được thực hiện một cách đáng tin cậy
Cơ chế kiểm soát đồng thời không khóa để đọc theo thời gian thực sẽ không xung đột với ghi
Cung cấp một kiến trúc hiệu suất cao hơn cho mỗi nút so với các giải pháp RDBMS
Kiến trúc phân tán
Cấu trúc chia nhỏ, kiến trúc shared-nothing, có khả năng chạy trên một số lượng lớn các node
mà không bị tắc nghẽn
Cơ sở dữ liệu quan hệ dự trên bộ nhớ
Lê
Hồ
n
o
o
o
o
o
o
SO SÁNH RDBMS, NOSQL VÀ NEWSQL
Tính năng
Traditional RBDMS
NoSQL
NewSQL
Ngôn ngữ truy vấn SQL
Hỗ trợ
Không hỗ trợ
Hỗ trợ
Một server
Đa server/phân tán
Đa server/phân tán
Quan hệ
Không quan hệ
Quan hệ
Hỗ trợ tính năng
store, document store
Cả hai
Trên đĩa và bộ nhớ
Trên đĩa và bộ nhớ
Trên đĩa và
cache
cache
bộ nhớ cache
ACID
CAP through BASE
ACID
25
Lưu trữ
Bảng
16
C1
20
05
Schema
Key-value, column
an
h–
Kiểu DBMS
gD
server
Lê
Hồ
n
Tính phụ thuộc vào