SlideShare a Scribd company logo
1 of 30
Download to read offline
Hệ quản trị CSDL
BÀI 2: GIỚI THIỆU MYSQL
TS. Lê Hoàng Quỳnh
Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội
lhquynh@vnu.edu.vn
MySQL
• MySQL là hệ quản trị CSDL quan hệ mã nguồn
mở phổ biến nhất
• MySQL AB ra đời năm 1995
• Gồm các phiên bản miễn phí và thương mại
– Community Server, Enterprise, Cluster CGE
2
HQT CSDL
Kiến trúc tổng quan MySQL
3
HQT CSDL
HQT CSDL 4
DDL vs DML
DDL DML
DDL được sử dụng để tạo lược
đồ cơ sở dữ liệu.
DML được sử dụng để điền và thao
tác cơ sở dữ liệu
DDL không được phân loại DML được phân loại thêm là DML
theo thủ tục và không thủ tục
CREATE, ALTER, DROP,
TRUNCATE AND COMMENT and
RENAME…
SELECT, INSERT, UPDATE,
DELETE, MERGE, CALL...
HQT CSDL 5
HQT CSDL 6
Stored Procedure
Stored Procedure
• Thủ tục được lưu trữ là một phân đoạn của các câu lệnh
SQL khai báo được lưu trữ bên trong máy chủ MySQL.
• Ưu điểm
– Cho phép sử dụng lại
– Giảm lưu lượng mạng
– Tập trung logic nghiệp vụ trong cơ sở dữ liệu
– Làm cho cơ sở dữ liệu an toàn hơn
• Nhược điểm
– Resource usages (memory, CPU)
– Troubleshooting
– Maintenances
HQT CSDL 7
Stored Procedure vs Function
HQT CSDL 8
Parser
9
Parser Tree
HQT CSDL 10
Optimizer
• Mô đun tối ưu hóa là tập hợp các quy trình
quyết định đường thực thi mà DBMS sẽ
thực hiện cho các truy vấn.
• ví dụ, tối ưu lan truyền hằng số
HQT CSDL 11
Optimizer
• Lựa chọn kiểu nối bảng
– Kế hoạch thực thi “Xấu”: Đọc mọi hàng trong bảng (quét
tuần tự Table1). Đối với mỗi hàng, kiểm tra các giá trị
trong indexed_column và trong unindexed_column, để
xem chúng có đáp ứng các điều kiện hay không.
– Kế hoạch thực thi “Tốt”: Qua chỉ mục, tìm kiếm các hàng
có indexed_column = 5 (tìm kiếm chỉ mục). Đối với mỗi
hàng, kiểm tra giá trị trong unindexed_column để xem nó
có đáp ứng điều kiện hay không.
HQT CSDL 12
Optimizer
•Trình tối ưu hóa sẽ sử dụng một chỉ mục trên column1,
nếu nó tồn tại.
•Nếu cả column1 và column2 đều được lập chỉ mục, trình
tối ưu hóa sẽ chọn chỉ mục trên column1. Thực tế là việc
đặt hàng diễn ra theo các giá trị column2 không ảnh hưởng
đến việc lựa chọn trình điều khiển trong trường hợp này.
HQT CSDL 13
Một số đặc trưng MySQL
• Viết bằng C, C++
• Thiết kế đa tầng, sử dụng các mô đun độc
lập
• Chế độ đa luồng với Kernel Threads
• Cung cấp các kỹ thuật lưu trữ giao dịch và
lưu trữ không giao dịch
• Hỗ trợ việc lưu trữ các bảng dữ liệu trong
bộ nhớ.
14
HQT CSDL
Một số đặc trưng MySQL
• Máy chủ có thể ở mô hình client-server
hoặc CSDL nhúng
• Quản lý an ninh và phân quyền
• Hỗ trợ kết nối SSL (Secure sockets layers)
• Hỗ trợ CSDL lớn, bảng lớn (lên đến 256
TB)
• Cung cấp kết nối (connectors) đến các
ứng dụng
15
HQT CSDL
Một số đặc trưng MySQ
• 64 chỉ mục mỗi bảng, 1-16 cột mỗi chỉ
mục
• Có các công cụ phân tích truy vấn và phân
tích không gian
• …
16
HQT CSDL
MySQL Enterprise vs
Community Server
17
HQT CSDL
MySQL vs Oracle
18
HQT CSDL Source: https://www.educba.com/mysql-vs-oracle/
MỘT SỐ GIẢI PHÁP HỖ TRỢ TÍNH
SẴN SÀNG CAO TRONG MYSQL
19
HQT CSDL
Một số giải pháp
• MySQL Replication
• MySQL, Heartbeat, DRBD
• MySQL Cluster
• MySQL Cluster Carrier Grade Edition
20
HQT CSDL
MySQL Replication
21
HQT CSDL
MySQL Replication
22
HQT CSDL
MySQL Replication
23
• Phù hợp với các ứng dụng cần đọc nhiều dữ liệu
HQT CSDL
MySQL, Heartbeat, DRBD
Cluster
24
DRBD: Distributed Replicated Block Devices
HQT CSDL
Quản lý sự cố
25
HQT CSDL
Đồng bộ hoá lại sau sự cố
26
HQT CSDL
MySQL cluster với 2 nút dữ liệu
27
HQT CSDL
Sao lưu đồng bộ
28
HQT CSDL
Tóm lược
29
HQT CSDL
Tài liệu tham khảo
• https://dev.mysql.com/doc/refman/8.0/en/t
utorial.html
• http://www.mysqltutorial.org
30
HQT CSDL

More Related Content

Similar to 02-GT-MySQL.pdf

My sql.storage engine
My sql.storage engineMy sql.storage engine
My sql.storage engine
Lê Nhân
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big Data
Nguyễn Duy Nhân
 
Drupal framework xanh
Drupal framework xanhDrupal framework xanh
Drupal framework xanh
Xanh Nguyen
 

Similar to 02-GT-MySQL.pdf (20)

NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Gt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_serverGt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_server
 
Chuong 1
Chuong 1Chuong 1
Chuong 1
 
04 ado
04 ado04 ado
04 ado
 
01 gioithieu
01 gioithieu01 gioithieu
01 gioithieu
 
My sql.storage engine
My sql.storage engineMy sql.storage engine
My sql.storage engine
 
03-Indexes.pdf
03-Indexes.pdf03-Indexes.pdf
03-Indexes.pdf
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
 
3250
32503250
3250
 
Hadoop
HadoopHadoop
Hadoop
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big Data
 
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
 
9/2008 - He quan tri co so du lieu
9/2008 - He quan tri co so du lieu9/2008 - He quan tri co so du lieu
9/2008 - He quan tri co so du lieu
 
DDD - DuyLV - VINID - 17.07.2019
DDD - DuyLV - VINID - 17.07.2019DDD - DuyLV - VINID - 17.07.2019
DDD - DuyLV - VINID - 17.07.2019
 
CSDL.Ch1.Tong quan ve CSDL.ppt
CSDL.Ch1.Tong quan ve CSDL.pptCSDL.Ch1.Tong quan ve CSDL.ppt
CSDL.Ch1.Tong quan ve CSDL.ppt
 
51645016 csdl
51645016 csdl51645016 csdl
51645016 csdl
 
Qt he co so du lieu
Qt he co so du lieuQt he co so du lieu
Qt he co so du lieu
 
Python Beginner Class day-11-12-13-database
Python Beginner Class day-11-12-13-databasePython Beginner Class day-11-12-13-database
Python Beginner Class day-11-12-13-database
 
Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
 
Drupal framework xanh
Drupal framework xanhDrupal framework xanh
Drupal framework xanh
 

02-GT-MySQL.pdf

  • 1. Hệ quản trị CSDL BÀI 2: GIỚI THIỆU MYSQL TS. Lê Hoàng Quỳnh Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội lhquynh@vnu.edu.vn
  • 2. MySQL • MySQL là hệ quản trị CSDL quan hệ mã nguồn mở phổ biến nhất • MySQL AB ra đời năm 1995 • Gồm các phiên bản miễn phí và thương mại – Community Server, Enterprise, Cluster CGE 2 HQT CSDL
  • 3. Kiến trúc tổng quan MySQL 3 HQT CSDL
  • 5. DDL vs DML DDL DML DDL được sử dụng để tạo lược đồ cơ sở dữ liệu. DML được sử dụng để điền và thao tác cơ sở dữ liệu DDL không được phân loại DML được phân loại thêm là DML theo thủ tục và không thủ tục CREATE, ALTER, DROP, TRUNCATE AND COMMENT and RENAME… SELECT, INSERT, UPDATE, DELETE, MERGE, CALL... HQT CSDL 5
  • 6. HQT CSDL 6 Stored Procedure
  • 7. Stored Procedure • Thủ tục được lưu trữ là một phân đoạn của các câu lệnh SQL khai báo được lưu trữ bên trong máy chủ MySQL. • Ưu điểm – Cho phép sử dụng lại – Giảm lưu lượng mạng – Tập trung logic nghiệp vụ trong cơ sở dữ liệu – Làm cho cơ sở dữ liệu an toàn hơn • Nhược điểm – Resource usages (memory, CPU) – Troubleshooting – Maintenances HQT CSDL 7
  • 8. Stored Procedure vs Function HQT CSDL 8
  • 11. Optimizer • Mô đun tối ưu hóa là tập hợp các quy trình quyết định đường thực thi mà DBMS sẽ thực hiện cho các truy vấn. • ví dụ, tối ưu lan truyền hằng số HQT CSDL 11
  • 12. Optimizer • Lựa chọn kiểu nối bảng – Kế hoạch thực thi “Xấu”: Đọc mọi hàng trong bảng (quét tuần tự Table1). Đối với mỗi hàng, kiểm tra các giá trị trong indexed_column và trong unindexed_column, để xem chúng có đáp ứng các điều kiện hay không. – Kế hoạch thực thi “Tốt”: Qua chỉ mục, tìm kiếm các hàng có indexed_column = 5 (tìm kiếm chỉ mục). Đối với mỗi hàng, kiểm tra giá trị trong unindexed_column để xem nó có đáp ứng điều kiện hay không. HQT CSDL 12
  • 13. Optimizer •Trình tối ưu hóa sẽ sử dụng một chỉ mục trên column1, nếu nó tồn tại. •Nếu cả column1 và column2 đều được lập chỉ mục, trình tối ưu hóa sẽ chọn chỉ mục trên column1. Thực tế là việc đặt hàng diễn ra theo các giá trị column2 không ảnh hưởng đến việc lựa chọn trình điều khiển trong trường hợp này. HQT CSDL 13
  • 14. Một số đặc trưng MySQL • Viết bằng C, C++ • Thiết kế đa tầng, sử dụng các mô đun độc lập • Chế độ đa luồng với Kernel Threads • Cung cấp các kỹ thuật lưu trữ giao dịch và lưu trữ không giao dịch • Hỗ trợ việc lưu trữ các bảng dữ liệu trong bộ nhớ. 14 HQT CSDL
  • 15. Một số đặc trưng MySQL • Máy chủ có thể ở mô hình client-server hoặc CSDL nhúng • Quản lý an ninh và phân quyền • Hỗ trợ kết nối SSL (Secure sockets layers) • Hỗ trợ CSDL lớn, bảng lớn (lên đến 256 TB) • Cung cấp kết nối (connectors) đến các ứng dụng 15 HQT CSDL
  • 16. Một số đặc trưng MySQ • 64 chỉ mục mỗi bảng, 1-16 cột mỗi chỉ mục • Có các công cụ phân tích truy vấn và phân tích không gian • … 16 HQT CSDL
  • 17. MySQL Enterprise vs Community Server 17 HQT CSDL
  • 18. MySQL vs Oracle 18 HQT CSDL Source: https://www.educba.com/mysql-vs-oracle/
  • 19. MỘT SỐ GIẢI PHÁP HỖ TRỢ TÍNH SẴN SÀNG CAO TRONG MYSQL 19 HQT CSDL
  • 20. Một số giải pháp • MySQL Replication • MySQL, Heartbeat, DRBD • MySQL Cluster • MySQL Cluster Carrier Grade Edition 20 HQT CSDL
  • 23. MySQL Replication 23 • Phù hợp với các ứng dụng cần đọc nhiều dữ liệu HQT CSDL
  • 24. MySQL, Heartbeat, DRBD Cluster 24 DRBD: Distributed Replicated Block Devices HQT CSDL
  • 25. Quản lý sự cố 25 HQT CSDL
  • 26. Đồng bộ hoá lại sau sự cố 26 HQT CSDL
  • 27. MySQL cluster với 2 nút dữ liệu 27 HQT CSDL
  • 28. Sao lưu đồng bộ 28 HQT CSDL
  • 30. Tài liệu tham khảo • https://dev.mysql.com/doc/refman/8.0/en/t utorial.html • http://www.mysqltutorial.org 30 HQT CSDL