Tải bản đầy đủ (.pdf) (24 trang)

NewSQL database system

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.44 MB, 24 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

LÊ HỒNG DANH
MSHV: 16C12005

ĐỒ ÁN MÔN HỌC
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI:
HỆ THỐNG QUẢN LÝ
CƠ SỞ DỮ LIỆU QUAN HỆ HIỆN ĐẠI
DỰA TRÊN TÀI LIỆU:

NewSQL: Towards Next-Generation Scalable RDBMS for Online
Transaction Processing (OLTP) for Big Data Management

TP. HỒ CHÍ MINH - 2017


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

ĐỒ ÁN MÔN HỌC
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI:
HỆ THỐNG QUẢN LÝ
CƠ SỞ DỮ LIỆU QUAN HỆ HIỆN ĐẠI
DỰA TRÊN TÀI LIỆU:

NewSQL: Towards Next-Generation Scalable RDBMS for Online
Transaction Processing (OLTP) for Big Data Management



LÊ HỒNG DANH
MSHV: 16C12005

TP. HỒ CHÍ MINH - 2017


LỜI CẢM ƠN
---o0o--Tôi xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các Thầy/cô của Trường
Đại học Khoa học Tự nhiên TP Hồ Chí Minh, đặc biệt là các Thầy/cô Khoa Công Nghệ
Thông tin và phòng Sau Đại học đã tạo điều kiện cho tôi được học môn “Cơ Sở Dữ Liệu
Nâng Cao” và tôi cũng xin chân thành cảm ơn Cô TS Nguyễn Trần Minh Thư đã tận tâm
truyền đạt những kiến thức quý báu về cơ sở dữ liệu nâng cao.
Trong quá trình học tập, cũng như là trong quá trình làm bài đồ án, khó tránh khỏi sai
sót, rất mong Thầy/cô bỏ qua. Đồng thời do trình độ lý luận cũng như kinh nghiệm thực
tiễn còn hạn chế nên bài đồ án không thể tránh khỏi những thiếu sót, tôi rất mong nhận
được ý kiến đóng góp Thầy/cô để tôi học thêm được nhiều kinh nghiệm và sẽ hoàn thành
tốt hơn các bài đồ án sắp tới.


MỤC LỤC
---o0o--TÓM LƯỢC ..................................................................................................................... 1
CHƯƠNG 1. GIỚI THIỆU .............................................................................................. 2
CHƯƠNG 2. NỀN TẢNG CỦA CƠ SỞ DỮ LIỆU HIỆN ĐẠI ..................................... 3
CHƯƠNG 3. TỔNG QUAN VỀ NOSQL VÀ NEWSQL............................................... 4
3.1. NoSQL ................................................................................................................... 4
3.1.1. Khái niệm ........................................................................................................ 4
3.1.2. Phân loại .......................................................................................................... 7
3.2. NewSQL ................................................................................................................ 9
3.2.1. Khái niệm ........................................................................................................ 9

3.2.2. Kiến trúc NewSQL ........................................................................................ 10
3.2.3. Đặc điểm của cơ sở dữ liệu NewSQL ........................................................... 12
3.2.4. Phân loại ........................................................................................................ 13
CHƯƠNG 4. SO SÁNH GIỮA RDBMS, NOSQL VÀ NEWSQL .............................. 15
CHƯƠNG 5. KẾT LUẬN.............................................................................................. 18
TÀI LIỆU THAM KHẢO .............................................................................................. 20


1

TÓM LƯỢC
---o0o--Mặc dù các cơ sở dữ liệu quan hệ truyền thống vẫn được sử dụng trong một phạm
vi lớn các ứng dụng, gần đây chúng tôi đã chứng kiến sự bùng nổ về số lượng các cơ sở
dữ liệu mới được phát triển đặc biệt cho việc phục vụ dữ liệu lớn. Hiện nay các giải pháp
thay thế chính cho RDMBS là cơ sở dữ liệu NoSQL và NewSQL.
Trọng tâm chính của bài đồ án này thảo luận về hệ thống quản lý dữ liệu NewSQL,
so sánh với NoSQL và với hệ thống cơ sở dữ liệu truyền thống. Bài đồ án này bao gồm
kiến trúc, đặc điểm, phân loại cơ sở dữ liệu NewSQL xử lý các giao dịch trực tuyến
(OLTP) cho quản lý Big data.


2

CHƯƠNG 1. GIỚI THIỆU
Trong thập kỷ qua, chúng ta đã chứng kiến một sự gia tăng nhanh chóng trong một
số loại khác nhau cơ sở dữ liệu. Nó liên quan đến sự phát triển của Internet, thiết bị di
động và điện toán đám mây. Tất cả các môi trường này áp đặt các yêu cầu mới cho việc
lưu trữ có hiệu quả và xử lý dữ liệu.
Để đối phó với những thách thức này, một số công ty duy trì các trung tâm dữ liệu
trong đó có các cụm với hàng ngàn máy móc thiết bị. Các cơ sở dữ liệu quan hệ cũ không

cung cấp một giải pháp tốt trong tình huống này, do đến mô hình dữ liệu được chuẩn hóa
và hỗ trợ đầy đủ ACID. Ngoài ra nó chỉ ra rằng cách tiếp cận phổ biến "một kích thước
phù hợp với tất cả" không còn giá trị cho kịch bản ứng dụng hiện tại. Ngược lại, trong
thực tế mới là thích hợp nhiều hơn để thiết kế các hệ thống dựa trên tính chất của các
ứng dụng và dữ liệu. Do đó, nhiều giải pháp cơ sở dữ liệu thay thế đã được thiết kế đặc
biệt để đáp ứng các nhu cầu đa dạng. Nhiều cơ sở dữ liệu mới thuộc về các lớp NoSQL
và NewSQL của DBMS. Trong đó, có một khái niệm mới về dữ liệu được nhắc đến khá
nhiều trong năm 2014 đó là NewSQL. 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 duy trì được sự bảo đảm ACID của
một hệ thống cơ sở dữ liệu truyền thống.
Trong bài đồ án này được trình bày như sau: chương 1 giới thiệu, chương 2 tìm hiểu
về nền tảng của cơ sở dữ liệu mới. Chương 3 giới thiệu tổng quan hệ thống cơ sở dữ liệu
NoSQL và NewSQL. Chương 4 so sánh RDBMS, NoSQL và NewSQL. Và cuối cùng
là chương 5 trình bày kết luận.


3

CHƯƠNG 2. NỀN TẢNG CỦA CƠ SỞ DỮ LIỆU HIỆN ĐẠI
“Big Data” là thuật ngữ dùng để chỉ một tập hợp dữ liệu rất lớn và rất phức tạp đến
nỗi những công cụ, ứng dụng xử lí dữ liệu truyền thống không thể nào đảm đương được.
Tuy nhiên, Big Data lại chứa trong mình rất nhiều thông tin quý giá mà nếu trích xuất
thành công, nó sẽ giúp rất nhiều cho việc kinh doanh, nghiên cứu khoa học, dự đoán các
dịch bệnh sắp phát sinh và thậm chí là cả việc xác định điều kiện giao thông theo thời
gian thực. 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ột trong những bước tiến quan trọng trong việc giải quyết vấn đề "Big Data" là sự
nổi lên của một công nghệ cơ sở dữ liệu thay thế. Điều này sẽ mở rộng khác biệt đáng
kể mô hình RDBMS cổ điển và mô hình DBMS thay thế. Các kho dữ liệu này có thể

không yêu cầu các lược đồ cố định theo các bảng, thường là tránh các hoạt động nối và
thường quy mô theo chiều ngang, nơi dữ liệu được lưu trữ theo cách phân tán, nhưng
được truy cập và phân tích từ các ứng dụng.

Hình 2.1. Cơ sở dữ liệu phân tán


4

OTLP - viết tắt của OnLine Transaction Processing (Xử lý giao dịch trực tuyến). Gần
hết các "giao dịch trực tuyến" đều dựa trên cái này. Từ việc bạn vào facebook, xem
blog,... cho tới việc bạn mua hàng trực tuyến hay giao dịch ATM, đều được quy về chung
khái niệm OLTP.
Trong xử lý các giao dịch trực tuyến (OLTP), đặc trưng của khối lượng công việc là
nhỏ nhưng nó đòi hỏi tốc độ phản ứng nhanh, cao về xữ lý đồng thời là yêu cầu đối với
hệ thống OLTP. Xu hướng tiếp tục tăng trưởng dữ liệu và lưu lượng truy cập lớn trong
các hệ thống OLTP và để đáp ứng một tỷ lệ sẵn sàng rất cao, đáp ứng cao đó là một thế
hệ mới của các giải pháp là cần thiết để phục vụ cho nó. Do đó, DBMS phải được tái
kiến trúc để đáp ứng nhu cầu này.
CHƯƠNG 3. TỔNG QUAN VỀ NOSQL VÀ NEWSQL
3.1. NoSQL
3.1.1. Khái niệm
NoSQL viết tắt của “not only SQL”. Thuật ngữ NoSQL được giới thiệu lần đầu vào
năm 1998 sử dụng làm tên gọi chung cho các lightweight open source relational database
(cơ sở dữ liệu quan hệ nguồn mở nhỏ) nhưng không sử dụng SQL cho truy vấn. Trái
ngược với các giao dịch trong RDBMS phù hợp với ACID.

Hình 3.1. Các thuộc tính của ACID, CAP, và BASE và DMS được hỗ trợ



5

ACID là từ viết tắt các chữ cái đầu của bốn từ tiếng Anh atomicity, consistency, isolation,
và durability. Chúng được coi là bốn thuộc tính quan trọng của một hệ quản trị cơ sở dữ
liệu khi xử lý bất kỳ giao dịch nào. Nếu thiếu một trong những thuộc tính này thì tính
toàn vẹn của cơ sở dữ liệu khó có thể được đảm bảo. Trong một hệ quản trị cơ sở dư
liệu, một giao dịch là một đơn vị logic thao tác trên dữ liệu, có thể bao gồm nhiều thao
tác. Chẳng hạn việc chuyển tiền từ tài khoản này sang tài khoản khác là một giao dịch,
bao gồm thao tác trừ tiền một tài khoản và cộng tiền vào tài khoản kia. Các tính chất
ACID trong trường hợp này sẽ đảm bảo các giao dịch được thực hiện một cách đáng tin
cậy:


Tính nguyên tố (Atomicity): một giao dịch có nhiều thao tác khác biệt thì hoặc là
toàn bộ các thao tác hoặc là không một thao tác nào được hoàn thành. Chẳng hạn
việc chuyển tiền có thể thành công hay trục trặc vì nhiều lý do nhưng tính nguyên tố
bảo đảm rằng một tài khoản sẽ không bị trừ tiền nếu như tài khoản kia chưa được
cộng số tiền tương ứng.



Tính nhất quán (Consistency): một giao dịch hoặc là sẽ tạo ra một trạng thái mới và
hợp lệ cho dữ liệu, hoặc trong trường hợp có lỗi sẽ chuyển toàn bộ dữ liệu về trạng
thái trước khi thực thi giao dịch.



Tính độc lập (Isolation): một giao dịch đang thực thi và chưa được xác nhận phải bảo
đảm tách biệt khỏi các giao dịch khác.




Tính bền vững (Durability): dữ liệu được xác nhận sẽ được hệ thống lưu lại sao cho
ngay cả trong trường hợp hỏng hóc hoặc có lỗi hệ thống, dữ liệu vẫn đảm bảo trong
trạng thái chuẩn xác.
Vào năm 2009, Eric Evans, nhân viên của Rackspace giới thiệu lại thuật ngữ NoSQL

trong 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ệ database mới: distributed (phân tán) + non-relational (không
ràng buộc). Tuy nhiên, việc mở rộng theo chiều ngang (scale out) của các hệ thống tuân


6

thủ theo ACID đã thể hiện một số vấn đề. Những xung đột đang phát sinh giữa các khía
cạnh khác nhau của tính sẵn sàng cao trong các hệ thống phân tán mà không thể giải
quyết hoàn toàn được, điều này được biết với định lý CAP:


Strong Consistency (tính nhất quán mạnh mẽ): nghĩa là cách mà hệ thống ở trong
một trạng thái thống nhất sau khi thực hiện một thao tác. Một hệ thống phân tán
thường được coi là nhất quán nếu sau khi cập nhật hoạt động của một vài thao tác ghi
thì tất cả các thao tác đọc dữ liệu sẽ thấy được dữ liệu đã được cập nhật đó.



High Availability (tính sẵn sàng cao): nghĩa là một hệ thống được thiết kế và hiện
thực sao cho khi có vấn đề xảy ra với một node trong một cụm (cluster) chẳng hạn
như bị hư hỏng hay được tạm ngưng để nâng cấp thì các theo tác đọc ghi dữ liệu vẫn
cho phép tiếp tục thực hiện.




Partition Tolerance: nghĩa là hệ thống của một cụm bất kỳ vẫn hoạt động bình thường
ngay cả khi đường truyền giữa hai node bị ngắt và không liên lạc được.

Các CSDL NoSQL đã nới lỏng các yêu cầu về tính nhất quán (consistency) nhằm để tính
sẵn sàng (Availability) và phân vùng (Partition) được tốt hơn. Điều này dẫn đến hệ thống
còn được biết như là BASE:


Basically Available: về cơ bản, hệ thống đảm bảo được tính sẵn sàng ở hầu hết các
trường hợp.



Soft-state: trạng thái của hệ thống có thể thay đổi theo thời gian dù có đầu vào hay
không.



Eventually consistent: hệ thống sẽ trở nên nhất quán theo thời gian dù hệ thống có
nhận đầu vào trong thời gian đó hay không.


7

Hình 3.2. Định lý CAP

Cấu trúc dữ liệu của NoSQL được lưu trữ dưới dạng: key-value stores, document

database (or stores), Wide-Column (or Column Family) stores hoặc graph database khác
với cách lưu trữ mà các RDBMS đang sử dụng hiện nay. Tính chất lưu trữ đơn giản,
không ràng buộc vì vậy hiệu suất hoạt động của NoSQL nhanh hơn RDBMS rất nhiều.
3.1.2. Phân loại
Ngày nay có hàng trăm cơ sở dữ liệu NoSQL khác nhau, mỗi loại có một thế mạnh và
phục vụ cho một mục đích riêng. Tuy nhiên dựa vào đặc điểm của mỗi NoSQL mà người
ta chia NoSQL ra làm 4 loại:
 Key-value stores: Mô hình lưu trữ dữ liệu dưới dạng cặp giá trị key-value trong

đó việc truy suất, xóa, cập nhật giá trị thực thông qua key tương ứng.Với sự hỗ trợ của
các kĩ thuật Btree, B+Tree, Hash,… dữ liệu có thể tồn tại trên RAM hoặc ổ cứng, phân
tán hoặc không phân tán. Hầu hết cá NoSql Database đều là key-value store.
 Document database/Srore: với Document NoSQL ta có thể sử dụng các truy vấn
để truy xuất tất cả hay một phần của dữ liệu. Một điển hình của cơ sở dữ liệu hướng văn
bản là MongoDB. Trong MongoDB mỗi cơ sở dữ liệu là tập hợp của các bộ sưu tập
(collection). Định dạng các tập tin lưu trữ cơ sở dữ liệu có dạng .ns, .x (với x = 1, 2, 3,


8

4, 5,…). Mỗi bộ sưu tập bao gồm các văn bản (document), các văn bản này có thể khác
nhau.
 Wide-Column (or Column Family) stores: hệ cơ sở dữ liệu cho phép truy xuất
ngẫu nhiên/tức thời với khả năng lưu trước một lượng lớn dữ liệu có cấu trúc. Dữ liệu
có thể tồn tại dạng bảng với hàng tỷ bản ghi và mỗi bản ghi có thể chứa hàng triệu cột.
Hệ thống triển khai từ vài trăm cho đến hàng nghìn thiết bị dẫn đến khả năng lưu trữ
hàng petabytes nhưng vẫn đảm bảo hiệu năng cao.
 Graph database: bao gồm các nút, các mối quan hệ (Relationships) hay các cạnh
(edges) và các thuộc tính (properties).Một cơ sở dữ liệu hướng đồ thị đơn giản nhất chỉ
có một nút. Các nút tương tự như một đối tượng trong lập trình hướng đối tượng. Một

nút chứa các thuộc tính dưới dạng là văn bản chứa các cặp khóa – giá trị. Khóa có kiểu
dữ liệu là String và giá trị có kiểu dữ liệu tùy ý. Các cặp giá trị khóa – giá trị chứa thông
tin cần thiết của nút chứa nó. Các mối quan hệ (hay các cạnh) là các đường kết nối và
đại diện cho mối quan hệ giữa các nút hoặc giữa các nút với các thuộc tính. Giống như
nút, các mối quan hệ hay các cạnh cũng chứa các thuộc tính. Việc thêm các thuộc tính
vào các mối quan hệ (hay các cạnh) làm tăng tính ngữ nghĩa, giúp bổ sung thêm siêu dữ
liệu cho các thuật toán đồ thị và hạn chế truy vấn trong khi thực thi.
Một số DBMS NoSQL phổ biến được liệt kê trong bảng 01 dựa trên các loại của
chúng.

Key-value stores
Redis
Riak
SimpleDB
Dynamo
(Amazon)
Voldmort
(LinkedIn)

NoSQL Database phổ biến
Document
Wide-Column (or
Graph database
database/Srore Column Family) stores
MongoDB
DynamoDB (Amazon)
Neo4j
ChuchDB
Cassandra (Fackbook)
Accumulo

Hbase (Apache)
Big Table (Google)


9

BerkeleyDB
(Oracle)

Hypertable
PUNTS (Yahoo)

Bảng 1. Một số DBMS NoSQL phổ biến dựa trên các loại của chúng

Nhìn qua, có rất nhiều đóng góp đã được thực hiện bởi cơ sở dữ liệu NoSQL; vẫn
còn có một số nút thắt cổ chai cho các hệ thống quản lý dữ liệu quy mô lớn. Hệ thống
NoSQL DBMS không hỗ trợ hiệu quả cho các ứng dụng đã được viết cho thế hệ DBMS
trước đó. Để di chuyển các ứng dụng hiện có để thích ứng với xu hướng mới của sự tăng
trưởng của dữ liệu; để phát triển các ứng dụng mới trên các hệ thống OLTP có khả năng
mở rộng cao và dựa vào kiến thức hiện có về việc sử dụng OLTP - một hệ thống quản lý
thông tin mới, được gọi là các hệ thống NewSQL. Để giải quyết các kịch bản kinh doanh
OLTP dữ liệu quy mô lớn mà không có hệ thống OLTP truyền thống hay hệ thống
NoSQL, các hệ thống cơ sở dữ liệu thay thế đã phát triển, gọi chung là các hệ thống
NewSQL.
Đối với môi trường Big Data, hỗ trợ nhiều khách hàng hơn hoặc lưu lượng cao hơn
yêu cầu nâng cấp một máy chủ lớn hơn. Cho đến gần đây điều này có nghĩa là thực hiện
một kiến trúc Scale-out hoặc yêu cầu một mô hình lập trình non-SQL hoặc dựa vào
sharding và nhân rộng. Không có giải pháp nào cung cấp các ngữ nghĩa ACID hoàn
chỉnh. Sự căn thẳng này là cảm hứng cho phong trào NewSQL.
3.2. NewSQL

3.2.1. Khái niệm
NewSQL là hệ thống quản lý cơ sở dữ liệu quan hệ thế hệ tiếp theo có thể mở rộng
(RDBMS) để xử lý giao dịch trực tuyến (OLTP) cung cấp khả năng mở rộng của các hệ
thống NoSQL cho khối lượng công việc đọc-ghi, cũng như duy trì sự đảm bảo ACID
của một hệ thống cơ sở dữ liệu truyền thống. Các hệ thống này vượt qua các giới hạn
hiệu suất của RDBMS thông thường bằng cách sử dụng các tính năng theo kiểu NoSQL


10

như lưu trữ dữ liệu theo cột và các kiến trúc phân tán hoặc bằng cách sử dụng các công
nghệ như xử lý trong bộ nhớ, xử lý đa hợp đối xứng (SMP) hoặc các tính năng tiến trình
xữ lý song song (MPP) tích hợp các thành phần NoSQL hoặc Search, được thiết kế để
xử lý các khối lượng, đa dạng, tốc độ và thách thức biến đổi của Big Data.
Nói cách khác, NewSQL là sự kết hợp giữa NoSQL và SQL, nó thừa hưởng mọi
tính năng ưu việt của mỗi hệ quản trị trước đó. NewSQL kết hợp các khái niệm và nguyên
tắc của của Structured Query Language (SQL) và các ngôn ngữ NoSQL. Nó kết hợp độ
tin cậy của SQL với tốc độ và hiệu suất của NoSQL. NewSQL đang được sử dụng khá
nhiều ở các công ty lớn trên thế giới. Thuật ngữ NewSQL được gọi lần đầu tiên bởi tổ
chức the 451 Group vào năm 2011.
3.2.2. Kiến trúc NewSQL
Cơ sở dữ liệu truyền thống (RDBMS) không thể cung cấp theo khả năng của nhà phát
triển ứng dụng nhu cầu, nó có thể bị cản trở bởi tất cả các công việc cần thiết để làm quy
mô cơ sở dữ liệu. Để khắc phục những thách thức về khả năng mở rộng, các nhà phát
triển thêm các kỷ thuật mở rộng như phân vùng, chia sẻ, phân tán. Cách tiếp cận phổ
biến khác là thêm các máy lớn hơn với chi phí cao hơn. Một DBMS lý tưởng nên có tính
co dãn, cho phép các máy mới được đưa vào cơ sở dữ liệu đang chạy và có hiệu lực ngay
lập tức. Do đó, để áp dụng hiệu năng mở rộng, DBMS đã được xác định lại công nghệ
cơ sở dữ liệu quan hệ và triển khai công nghệ cơ sở dữ liệu phân tán trên nền web để giải
quyết nhiều thách thức liên quan đến điện toán đám mây và sự gia tăng của các triển khai

ứng dụng toàn cầu.


11

Hình 3.3. Cơ sở dữ liệu phân tán quy mô web cho các triển khai ứng dụng web

Các cơ sở dữ liệu này thường phân phối kiến trúc theo tự nhiên và theo mô hình 3
tầng được chia thành 3 lớp: tầng quản lý, tầng giao dịch và tầng lưu trữ. Thông thường,
các cơ sở dữ liệu quan hệ được thiết kế cho kiến trúc mở rộng. Trong mô hình NewSQL
các cơ sở dữ liệu được lưu trữ trong các trung tâm dữ liệu phân tán duy trì kiến trúc ngữ
nghĩa của ACID. Các tính năng then chốt quan trọng trong các cơ sở dữ liệu này liên
quan đến mô hình đám mây như dễ dàng điều khiển và quản lý, bảo mật, nhanh trong
khối lượng công việc lớn hoặc lỗi và hỗ trợ cho các ứng dụng được phân tán rộng rãi
trong vòng nó yêu cầu các dịch vụ phân phối có tính sẳn sàng cao và cung cấp độ trễ
thấp.


12

Hình 3.4. Kiến trúc của một cơ sở dữ liệu NewSQL phổ biến NueDB

Mặc dù, các hệ thống NewSQL khác nhau rất nhiều trong kiến trúc bên trong, hai
tính năng phân biệt chung giữa chúng là tất cả đều hổ trợ mô hình dữ liệu quan hệ và sử
dụng SQL làm giao diện chính của chúng. Các ứng dụng được nhắm mục tiêu bởi các
hệ thống NewSQL được đặc trưng là có một số lượng lớn các giao dịch. Các hệ thống
NewSQL này đạt được hiệu năng cao và khả năng mở rộng bằng cách tránh kiến trúc
thừa như khôi phục nặng hoặc các thuật toán điều khiển đồng thời.
3.2.3. Đặc điểm của cơ sở dữ liệu NewSQL
Đặc điểm kỹ thuật các giải pháp NewSQL được liệt kê trong bảng như sau:

Đặc điểm của cơ sở dữ liệu NewSQL

STT
1

SQL là cơ chế chính cho tương tác các ứng dụng

2

Đảm bảo các giao dịch được thực hiện một cách đáng tin cậy

3

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.


13

Một kiến trúc cung cấp hiệu suất cao hơn cho mỗi nút so với các giải pháp

4

RDBMS truyền thống
5

Kiến trúc phân tán

6


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 nút mà không bị tắc nghẽn.

7

Cơ sở dữ liệu trong bộ nhớ

8

Kiến trúc shared-nothing
Bảng 2. Đặc điểm của cơ sở dữ liệu NewSQL

3.2.4. Phân loại
Phân loại dựa trên các phương pháp khác nhau được các nhà cung cấp sử dụng để
duy trì giao diện SQL và giải quyết các vấn đề về khả năng mở rộng và hiệu năng của
các giải pháp OLTP truyền thống. Các hệ thống NewSQL có thể được phân loại thành
ba loại:
 New Architecture: trong nền tảng này, mỗi node sở hữu 1 tập con của dữ liệu và câu
truy vấn được chia thành câu truy vấn nhỏ hơn để gởi đến các nodes để xử lý.
 MySQL Engines – Công cụ lưu trữ được tối ưu hóa cao cho SQL với giao diện của
MySQ Lare.
 Transparent Sharding – Hệ thống này tự động chia CSDL trên nhiều nodes.
Một số DBMS NewSQL phổ biến:
 NuoDB: thiết kế cơ sở dữ liệu phân tán, hỗ trợ ngôn ngữ chuẩn SQL và quan hệ
logic. NuoDB là một cơ sỡ dữ liệu phân bố trên quy mô web cung cấp một thực hiện
SQL phong phú và giao dịch ACID thực sự. Nó củng được thiết kế ngay từ đầu với tư
cách là một hệ thống phân phối làm cân bằng, cung cấp dịch vụ đám mây mang lại tính
sẳn sàng và khả năng phục hồi cao. Khác với kiến trúc chia sẽ đĩa truyền thống hoặc



14

kiến trúc không dùng chung, NuoDB trình bày một mô hình peer-to-peer mới, theo yêu
cầu, cung cấp khả năng sẳn sàng cao, độ trể thấp và mô trình triển khai dể quản lý. Được
thiết kế cho trung tâm dữ liệu hiện đại, và như là một cơ sở dữ liệu đám mây mở rộng,
NuoDB là một giải pháp NewSQL bạn cần để đơn giản hóa việc triển khai ứng dụng.
 ClustrixDB là một cơ sở dữ liệu SQL được xây dựng cho các ứng dụng quy mô
lớn và phát triển nhanh, đây là cơ sở dữ liệu NewSQL mở rộng cho đám mây. ClustrixDB
duy nhất cho phép phân tích thời gian thực trên dữ liệu hoạt động trực tiếp của bạn với
các xử lý song song.
 VoltDB là một cơ sở dữ liệu nhanh trong cơ sở dữ liệu với tốc độ đọc và viết cao.
Cơ sở dữ liệu NewSQL này hỗ trợ JSON, các sự kiện cấp độ giao dịch.
 Xeround cung cấp cơ sở hạ tầng điện toán đám có thể mở rộng để quản lý dữ liệu
và liên kết dữ liệu trong và qua các đám mây. Giải pháp này được cung cấp từ
CrunchBase.
 MemSQL là một nền phân tích thời gian thực giúp các công ty truy vấn dữ liệu
lớn một cách nhanh chóng và thích ứng với các điều kiện kinh doanh thay đổi.
NewSQL Databases
New Architecture

New MySQL

Transparent

database

Storage Engines

Clustering/sharding


NouDB

InnoDB

dbShards (commercial)

Clustrix

Akiban

ScaleBase (commercial)

VoltDB

TokuDB (commercial)

ScalArc

Drizzle

InfiniDB

Schooner MySQL

MenSQL

Xeround

Continuent Tungsten


GenieDB

(open source)

Bảng 3. Một số NewSQL dựa trên loại của chúng


15

CHƯƠNG 4. SO SÁNH GIỮA RDBMS, NOSQL VÀ NEWSQL
Cơ sở dữ liệu truyền thống (RDBMS) đã tồn tại hàng thập kỉ và có mặt gần như ở
mọi app chúng ta sử dụng ngày nay. Nếu bạn triển khai app với hiệu suất tương đối thì
điều đó là tuyệt vời, khỏi phải thay CSDL mới. Việc thay đổi CSDL không chỉ tốn công
sức mà còn thể có nhiều rủi ro.
RDBMS
 Điểm mạnh:
 SQL là quy chuẩn chung được chứng minh tính ổn định vài chục năm nay rồi
 Tích hợp với lớp ORM như Hibernate hoặc ActiveRecord
 Hỗ trợ tốt giao tác phía client
 Sử dụng query và report
 Thị phần lớn trên thị trường
 Điểm yếu:
 Rất khó để mở rộng (kiến trúc không hướng mở rộng).
 SQL truyền thống được xây dựng trên ý tưởng "one size fit all", application thông
thường thì sử dụng tốt nhưng sẽ gặp vấn đề khi CSDL phình to.
 Điều chỉnh tham số rất phức tạp và thường yêu cầu chuyên gia để cân bằng giữa
hiệu năng, an toàn dữ liệu và lượng dữ liệu sử dụng.
NoSQL
 Điểm mạnh:
 Thuật toán eventual-consistency đảm bảo tính sẵn sàng của CSDL.

 Khả năng mở rộng tốt hơn SQL truyền thống.
 Rất nhiều hệ thống NoSQL được tối ưu để hỗ trợ data không quan hệ ví dụ như
log message, XML và JSON cũng như document không có kiến trúc cụ thể nên
bạn không cần quan tâm schema khi viết mà chỉ cần xem schema khi đọc.
 Điểm yếu:
 Hệ thống dạng này không hỗ trợ giao tác (ACID).


16

 OLAP query yêu cầu lượng code lớn để thực hiện. Do đó sự dễ đọc (readability) sẽ
giảm khi CSDL phình to.
NewSQL
Loại CSDL này chưa gây được tiếng vang như NoSQL. Các hệ thống NewSQL
thường bắt đầu từ CSDL quan hệ và ngôn ngữ SQL query và chúng muốn giải
quyết những vấn đề như khả năng mở rộng, tính bất động hoặc thiếu tính tập trung mà
vẫn đảm bảo tính nhất quán.
 Điểm mạnh:
 Giảm độ phức tạp cho app nhờ tính nhất quán.
 Tính năng SQL quen thuộc
 Phục vụ phân tích tốt hơn và khả năng mở rộng tốt hơn SQL.
 Nhiều hệ thống cung cấp phân kiểu NoSQL nhưng theo kiểu data truyền thống và
query model.
 Điểm yếu:
 NewSQL thường phục vụ mục tiêu nhất định chứ không chung chung như SQL.
 Kiến trúc nhớ vào bộ nhớ trong có thể không phù hợp cho các khối lượng dữ liệu
quá nhiều terabytes.
Dựa vào nền tảng SQL để so sánh RDBMS, NoSQL và NewSQL với bộ số liệu. Do
hiệu suất là ưu tiên hàng đầu, cơ sở dữ liệu NoSQL và NewSQL có khuynh hướng có
khoảng cách an toàn hơn các cơ sở dữ liệu SQL truyền thống.

Tính năng

Traditional RBDMS NoSQL

NewSQL

SQL

Hỗ trợ

Không hỗ trợ

Hỗ trợ

Tính phụ thuộc vào

Một máy

Đa máy/phân tán

Đa máy /

máy
Kiểu DBMS

phân tán
Quan hệ

Không quan hệ


Quan hệ


17

Schema

Bảng

Key-value, column

Cả hai

store, document store
Lưu trữ

Trên đĩa và bộ nhớ

Trên đĩa và bộ nhớ

Trên đĩa và

cache

cache

bộ nhớ cache

Hỗ trợ tính năng


ACID

CAP through BASE

ACID

Khả năng mở rộng

Không hỗ trợ

Hỗ trợ

Hỗ trợ

Truy vấn phức tạp

Thấp

Cao

Rất cao

Vấn đề quan tâm

Rất cao

Thấp

Thấp


Big volume

Hiệu suất thấp

Hỗ trợ đầy đủ

Hỗ trợ đầy đủ

OLTP (Xử lý giao

Không hỗ trợ đầy đủ

Được hổ trợ

Hỗ trợ đầy đủ

Không hỗ trợ đầy đủ

Được hổ trợ

Hỗ trợ đầy đủ

theo chiều ngang

đến bảo mật

dịch trực tuyến)
Hỗ trợ dữ liệu đám
mây


Bảng 4. So sánh cơ sở dữ liệu RDBMS SQL, NoSQL và NewSQL


18

CHƯƠNG 5. KẾT LUẬN

SQL đã trở lại và lợi hại hơn bao giờ hết, áp đảo cả NoSQL. Doanh nghiệp hiện nay
phải lựa chọn giữa SQL truyền thống hay là NoSQL hay thậm chí NewSQL Database?
Mike Stonebraker, người đã từng thắng giải Turing Award 2015, đã từng nói "one size
does not fit all" (tạm dịch là một kích cỡ không thể vừa với tất cả mọi thứ được). Ý tưởng
chỉ sử dụng duy nhất một database có thể phục vụ cho mọi trường hợp không còn thực
tế nữa.
Đương nhiên, mọi giải pháp đều có ưu và khuyết điểm. Để giải quyết các kịch bản
kinh doanh OLTP dữ liệu lớn mà không có hệ thống OLTP truyền thống hay hệ thống
NoSQL, các hệ thống cơ sở dữ liệu thay thế đã phát triển, gọi chung là các hệ thống
NewSQL. NewSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ hiện đại (RDBMS)
cung cấp khả năng mở rộng tương tự của các hệ thống NoSQL cho xử lý giao dịch trực
tuyến (OLTP) trong khi vẫn duy trì các đảm bảo ACID của một hệ thống cơ sở dữ liệu
truyền thống. Do hiệu suất là ưu tiên đầu nên cơ sở dữ liệu NoSQL và NewSQL có
khuynh hướng có khoảng cách an toàn hơn so với cơ sở dữ liệu truyền thống. Những vấn
đề này cần nghiên cứu sâu hơn, cơ sở dữ liệu NewSQL cần phải được Benchmarking,
điều quan trọng là đánh giá "kiểm tra tải" và "khả năng mở rộng thử nghiệm " ở một số
cơ sở dữ liệu NoSQL và NewSQL phổ biến và so sánh các cơ sở dữ liệu này trong việc


19

phân tích dữ liệu lớn. Để so sánh hiệu suất; chúng ta cần mô phỏng chính xác điều kiện
và khối lượng công việc để xử lý yêu cầu nhỏ và thường xuyên và tập trung vào việc

cung cấp thời gian đáp ứng nhanh.


20

TÀI LIỆU THAM KHẢO
---o0o--[1]. A B M Moniruzzaman, “NewSQL: Towards Next-Generation Scalable RDBMS
for Online Transaction Processing (OLTP) for Big Data Management”;
[2]. Duy Luân, 21/11/2013, “Big Data là gì và người ta khai thác, ứng dụng nó vào
cuộc sống như thế nào?”, TinhTe, lấy từ , ngày
12/10/2013;
[3]. John piekos, 17/08/2015, “Sql vs. Nosql vs. Newsql: finding the right solution”,
Dataconomy, lấy từ , 17/08/2013.
[4]. />[5]. />[6]. />


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×