Phân tích dữ liệu lớn big data analytic môn Quản trị kinh doanh | Trường Đại học Kinh doanh và Công nghệ Hà Nội
Trong phát triển phần mềm, việc sử dụng các hệ quản trị cơ sở dữ liệu để lưu trữ thông tin là điều thiết yếu. Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) với ngôn ngữ truy vấn có cấu trúc (Structured Query Language – SQL) và các cơ sở dữ liệu quan hệ (hay SQL DB) SQL được phân thành các mệnh đề và cú pháp như ngoại lệ,
truy vấn và truy vấn con. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời đọc đón xem!
Môn: Quản trị kinh doanh (HUBT)
Trường: Đại học Kinh Doanh và Công Nghệ Hà Nội
Thông tin:
Tác giả:
Preview text:
lOMoAR cPSD| 46672053 PHÂN TÍCH DỮ LIỆU LỚN BIG DATA ANALYTIC
MÔ HÌNH LƯU TRỮ DỮ LIỆU LỚN TS. TRỊNH HOÀNG NAM NỘI DUNG 1. Cơ sở dữ liệu SQL 2. Cơ sở dữ liệu NoSQL 3. Cơ sở dữ liệu NewSQL
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam 1 lOMoAR cPSD| 46672053
THẾ GIỚI CỦA DỮ LIỆU Nguồn: Analyticsvidh ya
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
MỘT SỐ KHÁI NIỆM CƠ BẢN
•Cơ sở dữ liệu (database - DB)
•Hệ quản trị cơ sở dữ liệu (database management system – DBMS)
•Cơ sở dữ liệu ược tạo ra ể vận hành một lượng lớn thông
tin bằng cách nhập, lưu trữ, truy xuất và quản lý thông tin ó
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU SQL 2 lOMoAR cPSD| 46672053 • Khởi nguồn
– Trong phát triển phần mềm, việc sử dụng các hệ quản trị cơ sở dữ liệu
ể lưu trữ thông tin là iều thiết yếu
– Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) với ngôn ngữ truy vấn có
cấu trúc (Structured Query Language – SQL) và các cơ sở dữ liệu quan hệ (hay SQL DB)
– SQL ược phân thành các mệnh ề và cú pháp như ngoại lệ, truy vấn và truy vấn con.
– SQL có thể ược dùng rộng rãi ể chèn, tìm, xoá bản ghi và update cơ sở dữ liệu.
– SQL có thể làm ược rất nhiều việc và không hạn chế những vấn ề về tối
ưu và bảo trì cơ sở dữ liệu
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU SQL • Minh họa
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU SQL 3 lOMoAR cPSD| 46672053 • Ưu iểm
– SQL DB phù hợp với mọi hệ thống thông tin
– Tính nguyên tử, tính nhất quán, sự cô lập, ộ bền
– Tính ồng thời, khả năng phục hồi sau sự cố
– Có rất nhiều công cụ tương thích với SQL DB
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU SQL • Nhược iểm
– Rất khó ể mở rộng, việc thay ổi cấu trúc dữ liệu rất mệt mỏi, kéo theo vô số thay ổi
– DB SQL truyền thống ược xây dựng trên ý tưởng "one size fit all", hệ
thống gặp vấn ề khi DB này 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
– Và … ặc biệt, trong kỷ nguyên của “iện toán phân tán” …
The traditional DBMS architecture (and SQL DB) has been used to
support many data-centric application, which is
“One Size Fits All”, an idea whose time has come and gone
( Stonebraker & Cenintemel, 2005)
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU SQL
• Cơ sở dữ liệu SQL không ược thiết kế cho các ứng 4 lOMoAR cPSD| 46672053 dụng phân tán, – Bởi vì
• Khó kết nối dữ liệu • Khó mở rộng quy mô
• Khó phục hồi khi lỗi xảy ra • Chi phí cao
– Và nó không áp ứng ược • Tốc ộ • Sự sẵn sàng • Sự phân vùng
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
KỶ NGUYÊN ĐIỆN TOÁN PHÂN TÁN
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam 5 lOMoAR cPSD| 46672053 CƠ SỞ DỮ LIỆU NoSQL Nguồn: PhoenixNAP
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL •Diễn giải
– NoSQL là Non-Relational (NoRel) - không ràng buộc
– NoSQL là Not Only SQL - Không chỉ SQL •Sứ mệnh
– Cơ sở dữ liệu NoSQL cung cấp một cơ chế lưu trữ và truy xuất
dữ liệu sử dụng tính nhất quán ít bị ràng buộc hơn so với cơ sở dữ liệu SQL
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam 6 lOMoAR cPSD| 46672053 CƠ SỞ DỮ LIỆU NoSQL • Lịch sử
Ngu ồ n: Kelly-McCreary & Associates
A NoSQL database (also known as “no SQL” or “not only
SQL”) is a distributed, non-relational database designe d for
large-scale data storage and massively parallel, high
performance data processing across many commodity systems Ngu ồ n: Redis
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL • Đặc iểm
– Thay ổi dễ dàng và thường xuyên – Phát triển nhanh
– Duy trì khối lượng dữ liệu lớn
– Thiết kế ít lược ồ ( schema less )
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
CƠ SỞ DỮ LIỆU NoSQL •Sử dụng NoSQL
DB sẽ giải quyết các vấn ề sau 7 lOMoAR cPSD| 46672053
– Chi phí chung của các giao dịch ACID
– Độ phức tạp của truy vấn SQL
– Gánh nặng của việc thiết kế lược ồ trước
– Sự hiện diện của DBA
– Giao dịch ( cần ược xử lý ở lớp ứng dụng)
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Trong cơ sở dữ liệu SQL
– Bạn không thể thêm một bộ dữ liệu không phù hợp với lược ồ quan hệ
– Bạn cần sử dụng giá trị NULL vào thành phần khuyết giá trị trong bộ dữ liệu
– Giá trị thành phần phải khớp với kiểu dữ liệu của thuộc tính tương ứng 8 lOMoAR cPSD| 46672053
– Không thể có thuộc tính a trị
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Trong cơ sở dữ liệu NoSQL
– Không có lược ồ nào ể xem xét
– Không có sự hiện diện của giá trị NULL
– Không có kiểu dữ liệu ( ẩn )
– Mọi xem xét ều ược thực hiện trong lớp ứng dụng
– Tất cả bản ghi ều ược tập hợp lại (dữ liệu tổng hợp)
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam 9 lOMoAR cPSD| 46672053 CƠ SỞ DỮ LIỆU NoSQL Nguồn: Microso ft
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Bốn mô hình dữ liệu chính – Key-value – Document – Column family – Graph
• Mỗi mô hình có ngôn ngữ truy vấn riêng
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL 10 lOMoAR cPSD| 46672053
• Mô hình dữ liệu “ key-value ”
– Cơ sở dữ liệu NoSQL “ơn giản nhất” – Sử dụng bảng băm (h ash table) ể biểu diễn
– Truy cập dữ liệu ( value ) bằng ịnh danh ( key )
– Dữ liệu ( value ) không yêu cầu ịnh dạng – Thao tác cơ bản • Insert(key,value) • Fetch(key) • Update(key) • Delete(key)
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “ key-value ”
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Mô hình dữ liệu “key-value” – Ưu iểm
• Tính hiệu quả: Xử lí nhiều loại dữ liệu một cách nhanh chóng
• Tính linh ộng: Dễ dàng chuyển từ hệ thống này sang hệ thống khác mà không cần code lại
• Khả năng mở rộng: Có thể mở rộng theo chiều ngang dễ dàng và chi phí vận hành thấp 11 lOMoAR cPSD| 46672053 – Nhược iểm
• Rất khó ể truy xuất giá trị chính xác vì dữ liệu ược lưu trữ theo blob, nên
kết quả trả về hầu như ều theo blob
• Không phải ối tượng nào cũng có thể ược cấu thành cặp chìa khoá – giá trị
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “ key-value ” – Áp dụng
• Khuyến nghị các sản phẩm / thông tin tương tự
• Thông tin và thiết lập người dùng
• Dữ liệu phi cấu trúc như review sản phẩm, bình luận của blog
• Quản lý session trên diện rộng • Dữ liệu ược
truy xuất thường xuyên nhưng không thường xuyên ược cập nhật
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Mô hình dữ liệu “column family”
– Dữ liệu ược lưu dưới dạng các cột, thay vì các hàng
– Mỗi hàng sẽ có một key/id riêng; Các hàng trong một bảng sẽ có
số lượng cột khác nhau. 12 lOMoAR cPSD| 46672053
– Câu lệnh truy vấn của nó khá giống SQL
Column Family = NoSQL (key-value) + SQL
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Mô hình dữ liệu “column family”
– Ý tưởng dựa trên khái niệm keyspace thay vì schema. •
Một keyspace bao gồm nhiều cụm column (tương tự như table nhưng linh hoạt hơn về cấu trúc) •
Mỗi cụm bao gồm nhiều hàng và nhiều cột riêng biệt. •
Mỗi hàng không cần phải có số lượng hoặc loại cột. •
Một timestamp quyết ịnh phiên bản gần nhất của data.
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam 13 lOMoAR cPSD| 46672053 CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “ column family ”
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “ column family ” – Ưu iểm
• Có thể xử lí dữ liệu cấu trúc và phi cấu trúc
• Dễ dàng nâng cấp theo cụm
• Khả năng xử lí tốt các yêu cầu truy xuất tập trung – Nhược iểm
• Xử lý chậm các giao dịch
– Ưu tiên áp dụng ối với dữ liệu lớn ( big data) 14 lOMoAR cPSD| 46672053
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL Ngu ồ n: Amazon
Mạng lưới BẠN BÈ trên mạng xã hội
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam 15 lOMoAR cPSD| 46672053 CƠ SỞ DỮ LIỆU NoSQL Ngu ồ n: Amazon
Mạng lưới BẠN BÈ của HOWARD trên mạng xã hội
( hay bạn của những người bạn của Howard )
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
Mạng lưới BẠN BÈ của HOWARD
( hay bạn của những người bạn của Howard )
•Với bảng Member (M) trong cơ sở dữ liệu SQL –
M (Howard) kết với M ể tìm ra tập bạn của Howard ( S ) – Với mỗ
ết với M ể tìm ra tập bạn của X ( Sx ) 16 lOMoAR cPSD| 46672053 –
Và cứ thế cho ến khi không phát sinh “bạn mới” – … ây là
một dạng truy vấn ệ quy bậc cao!
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Với bảng Member (M) trong cơ sở dữ liệu SQL –
M (Howard) kết với M ể tìm ra tập bạn của Howard ( S ) – Với mỗ
ết với M ể tìm ra tập bạn của X ( Sx ) –
Và cứ thế cho ến khi không phát sinh “bạn mới” – … ây là
một dạng truy vấn ệ quy bậc cao!
•Mối quan hệ ược xác ịnh tại thời iểm truy vấn thông qua các phép JOIN tốn kém
Cơ sở dữ liệu ồ thị (graph database)
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Mô hình dữ liệu “graph” hay cơ sở dữ liệu ồ thị
– Được thiết kế ể coi các mối quan hệ giữa các dữ liệu là quan trọng
như nhau ối với bản thân dữ liệu
– Được thiết kế ể lưu giữ dữ liệu mà không cần biến nó thành một
mô hình ược xác ịnh trước
– Dữ liệu ược lưu trữ giống như lần ầu tiên chúng ta vẽ ra – cho biết
cách mỗi thực thể riêng lẻ kết nối với hoặc có liên quan với những thực thể khác
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL 17 lOMoAR cPSD| 46672053
• Mô hình dữ liệu “ graph ”
hay cơ sở dữ liệu ồ thị
– Cơ sở dữ liệu ồ thị bao gồm hai thành phần
• Nút ( Node ): Đại diện cho
một cá thể, gồm các thuộc tính như tên và tuổi • Cạnh (E dge ): Thể hiện mối
quan hệ giữa hai nút với các phần thông tin riêng
của chúng; giữa hai nút có
thể có nhiều cạnh nối
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “graph” hay cơ sở dữ liệu ồ thị – Vận hành
• Sử dụng các thuật toán duyệt ồ thị ể truy vấn một mô hình dữ liệu ồ thị – Khả năng mở rộng
• Phù hợp cho việc iều chỉnh quy mô theo chiều ngang và sử dụng phân vùng
ể iều chỉnh quy mô, cho phép nhiều máy chủ xử lý song song các truy vấn – Hiệu năng
• Cơ sở dữ liệu ồ thị cung cấp tính liền kề không có chỉ mục, giúp tăng hiệu
năng. Với các mối quan hệ dưới dạng tham chiếu hoặc con trỏ giữa các nút,
cơ sở dữ liệu có thể i theo một con trỏ bộ nhớ và nhanh chóng iều hướng giữa các thực thể.
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
•Mô hình dữ liệu “graph” hay cơ sở dữ liệu ồ thị 18 lOMoAR cPSD| 46672053 – Áp dụng
• Dữ liệu có mối quan hệ phức tạp, như trong các mạng xã hội, phát hiện
gian lận, ồ thị kiến thức và công cụ tìm kiếm
• Dữ liệu ược kết nối với nhau và cần thực hiện từ ba bước nhảy trở lên giữa
các mối quan hệ (truy vấn kiểu bạn của bạn)
• Cần một lược ồ phát triển ể có thể sửa ổi các biên, nút và thuộc tính mà
không can thiệp ến phần còn lại của cấu trúc cơ sở dữ liệu
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “document”
– Cơ sở dữ liệu hướng tài liệu, một thiết kế riêng biệt cho việc lưu trữ tài
liệu dạng văn kiện JSON, BSON hoặc XML
• Không òi hỏi người dùng tự tạo bảng nhập liệu trước khi nhập dữ liệu vào. Các
tài liệu có thể chứa bất kì dữ liệu nào
• Các cặp khoá – giá trị, ính kèm các trị số siêu dữ liệu (*metadata) giúp việc truy
vấn (*query) dễ dàng hơn
– Mỗi document trong kho lưu trữ là ộc lập và không có tính toàn vẹn quan hệ.
• Giảm rất nhiều bảng liên kết cũng như nested-joins như ở SQL
• Có thể truy cập thuộc tính lồng nhau nhiều mức thay vì phải joins các bảng một cách phức tạp
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL 19 lOMoAR cPSD| 46672053
• Mô hình dữ liệu “ document ”
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL
• Mô hình dữ liệu “ document ” – Ưu iểm
• Rất linh hoạt, có thể xử lí dữ liệu nửa cấu trúc và không cấu trúc rất tốt
• Có thể thiết kế một cấu trúc cho một tài liệu cụ thể mà không
ảnh hưởng tới các tài liệu khác • Tính sẵn sàng cao
• Dễ dàng mở rộng theo chiều ngang – Nhược iểm
• Bỏ qua các yếu tố ACID ể ổi lấy sự linh hoạt
• Việc truy vấn chỉ có thể ược thực hiện trong từng tài liệu
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam CƠ SỞ DỮ LIỆU NoSQL 20