Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: An toàn và an ninh dữ liệu - Nguyễn Trường Sơn
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Chương 4:
AN TOÀN VÀ AN
NINH DỮ LIỆU
GVLT: Nguyễn Trường Sơn
1
Nội dung trình bày
KHÔI PHỤC SAU SỰ CỐ
Từ khoá:
-ꢀ database recovery
-ꢀ crash recovery
§ꢀ An ninh dữ liệu
–ꢀ Cơ chế phân quyền
–ꢀ Cơ chế mã hoá
2
Giới thiệu
§ꢀ Cơ sở dữ liệu luôn cần phải ở trạng thái nhất quán = đảm
bảo tất cả các ràng buộc toàn vẹn (RBTV)
§ꢀ Nguyên nhân dẫn đến RBTV bị vi phạm:
–ꢀ Do chia sẽ dữ liệu (data sharing): Dữ liệu được chia sẽ cho nhiều
giao tác cùng lúc
Sử dụng các kỹ thuật quản lý giao tác
và xử lý đồng thời
–ꢀ Do sự cố:
-ꢀLỗi lập trình của các giao tác
-ꢀLỗi lập trình của DBMS hoặc do hệ điều hành
-ꢀHư hỏng phần cứng & sự cố khác
Sử dụng các kỹ thuật khôi phục sự cố
3
Các loại sự cố
§ꢀ Phân loại theo nguyên nhân:
–ꢀ Sự cố do nhập liệu sai – Errornous Data Entry
–ꢀ Sự cố trên thiết bị lưu trữ – Media failures
–ꢀ Sự cố giao tác – Transaction failures
–ꢀ Sự cố hệ thống – System failures
§ꢀ Phân loại theo tính chất:
Mong muốn
Biết trước
Không biết trước
Sự cố
Không mong muốn
4
Sự cố do nhập liệu sai (Erroneous Data Entry)
§ꢀ Bao gồm:
–ꢀ Dữ liệu sai hiển nhiên: Là sự nhập sai dữ liệu mà máy tính có thể
phát hiện được
-ꢀVd : Nhập thiếu 1 số trong dãy số điện thoại, nhập sai khóa ngoại, nhập
chuỗi tràn, sai kiểu dữ liệu…
–ꢀ Dữ liệu sai không hiển nhiên: Là sự nhập sai dữ liệu liên quan đến
ngữ nghĩa mà máy tính khó có thể tự nó phát hiện được
-ꢀVd : Nhập sai 1 số trong dãy số điện thoại
§ꢀ Giải quyết: Hệ quản trị CSDL cung cấp các cơ chế cho phép
phát hiện lỗi
–ꢀ Ràng buộc khóa chính, khóa ngoại
–ꢀ Ràng buộc miền giá trị
–ꢀ Trigger
5
Sự cố trên thiết bị lưu trữ (Media Failures)
§ꢀ Là những sự cố:
–ꢀ Là những sự cố gây nên việc mất hay không thể truy xuất dữ liệu ở
bộ nhớ ngoài (ổ cứng, CD, băng từ…)
-ꢀVd : Cháy nổ gây phá hủy thiết bị lưu trữ,…
-ꢀVd : Đầu đọc của đĩa cứng hư, sector trên đĩa cứng hư, …
–ꢀ Đây là loại sự cố nguy hiểm nhất, khó khôi phục trọn vẹn
§ꢀ Giải quyết:
–ꢀ Phải backup thường xuyên (toàn bộ hoặc chỉ phần thay đổi), chu kỳ
không được quá thưa
–ꢀ Chạy nhiều bản CSDL song hành (1 bản chính – primary và nhiều
bản phụ – minor) và thực hiện đồng bộ tức thì
-ꢀTốn thiết bị lưu trữ và đòi hỏi phần cứng rất mạnh
-ꢀKìm hãm tốc độ hệ thống
-ꢀBản minor phải đặt ở vị trí địa lý khác bản primary
6
Sự cố giao tác (Transaction Failures)
§ꢀ Sự cố làm cho 1 giao tác kết thúc không bình thường
(không đến được lệnh commit hay lệnh rollback của chính
nó)
§ꢀ Ví dụ
–ꢀ Chia cho không
–ꢀ Giao tác bị hủy
–ꢀ Dữ liệu nhập sai
–ꢀ Tràn số
§ꢀ Giải quyết : Khi giao tác T bị sự cố, DBMS sẽ
–ꢀ Hủy T và các giao tác bị quay lui dây chuyền theo nó
–ꢀ Tra lock-table và giải phóng các khóa mà các giao tác này đang giữ
–ꢀ Reset lại các giá trị mà các giao tác này đã ghi
–ꢀ Thực hiện lại tất cả các giao tác này
7
Sự cố hệ thống (System Failures)
§ꢀ Là những sự cố gây nên bởi
–ꢀ Lỗi phần cứng
-ꢀCúp điện
-ꢀHư bộ nhớ trong
-ꢀHư CPU
-ꢀ…
–ꢀ Lỗi phần mềm
-ꢀLỗi hệ điều hành
-ꢀLỗi DBMS
-ꢀ…
§ꢀ Giải quyết : Hệ quản trị CSDL cần cứu chữa và phục hồi dữ
liệu
–ꢀ Nhật ký giao tác (transaction log)
8
Mục tiêu của khôi phục sự cố
§ꢀ Đưa dữ liệu về trạng thái sau cùng nhất trước khi xảy ra sự
cố
§ꢀ Đảm bảo 2 tính chất của giao tác:
–ꢀ Nguyên tố (atomic)
–ꢀ Bền vững (durability)
Query
processor
Transaction
manager
Log
manager
Buffer
manager
Recovery
manager
Data
Log
9
Các thao tác đọc ghi dữ liệu trong DBMS
Chép DVDL X từ ổ đĩa
sang vùng nhớ máy tính
(memory buffer)
1 Input(X)
1
2
X
Đọc đơn vị dữ liệu X vào t
(biến cục bộ của giao tác)
3
2
Read(X,t)
Write(X,t)
X
Ghi t vào đơn vị dữ liệu X
(memory buffer)
3
4
t
Output(X)
4
Chép giá trị ĐVDL X từ
buffer xuống ổ đĩa máy
tính
Buffer
Database
Việc đọc / ghi dữ liệu trong DBMS thực chất là việc chuyển đổi các giá trị từ vào
các không gian địa chỉ: Bộ nhớ ßà Ổ đĩa
10
Nội dung trình bày
§ꢀ An ninh dữ liệu
–ꢀ Cơ chế phân quyền
–ꢀ Cơ chế mã hoá
11
Nhật ký giao tác
§ꢀ Nhật ký giao tác là một chuỗi các mẫu tin (log record) ghi
lại các hành động của DBMS
§ꢀ Nhật ký là một tập tin tuần tự được lưu trữ trên bộ nhớ
chính và được ghi xuống đĩa ngay khi có thể
A = 8 16
Data
B = 8 16
Log
Actions
Log
Disk
Memory
Flush-log: là hành động chép những block mẫu tin nhật ký mới chưa
được chép từ bộ nhớ vào ổ đĩa
12
Nhật ký giao tác (tt)
§ꢀ Một mẫu tin nhật ký có thể là:
<start T>
Ghi nhận giao tác T bắt đầu hoạt động
<commit T>
<abort T>
Ghi nhận giao tác T đã hoàn tất
Ghi nhận giao tác T bị hủy
Ghi nhận giao tác T cập nhật lên đơn vị
dữ liệu X
<T, X, v, w>
Nhật ký giao tác được sử dụng trong các phương pháp khôi phục sự cố,
mỗi kỹ thuật khôi phục sự cố khác nhau sẽ có một cách ghi nhật ký khác
13
nhau và các cú pháp mẫu tin khác nhau.
Nhật ký giao tác (tt)
§ꢀ Khi sự cố hệ thống xảy ra:
–ꢀ DBMS sẽ tra cứu nhật ký giao tác để khôi phục lại trạng thái nhất
quán của dữ liệu.
§ꢀ Để sửa chữa các sự cố:
–ꢀ Một vài giao tác sẽ phải thực hiện lại (redo)
-ꢀNhững giá trị mà giao tác này đã cập nhật xuống CSDL sẽ phải cập nhật
lần nữa
–ꢀ Một vài giao tác không cần phải thực hiện lại (undo)
-ꢀCSDL sẽ được khôi phục về lại trạng thái trước khi các giao tác này
được thực hiện
14
Điểm kiểm tra (Check point)
§ꢀ Khi cần, DBMS không thể tra cứu toàn bộ nhật ký vì
–ꢀ Nhật ký tích lũy thông tin về tất cả các hành động của một giai đoạn
rất dài
–ꢀ Quá trình tra cứu nhật ký à Phải quét hết tập tin nhật ký à Mất
nhiều thời gian
–ꢀ Thực hiện lại các giao tác đã được ghi xuống đĩa làm cho việc khôi
phục lặp lại à tốn thời gian vô ích.
§ꢀ Giải pháp: Dùng điểm kiểm tra (check point)
–ꢀ Nhật ký giao tác có thêm mẫu tin <checkpoint> hay <ckpt>
–ꢀ Mẫu tin <checkpoint> sẽ được ghi xuống nhật ký định kỳ vào thời
điểm mà DBMS ghi tất cả những gì thay đổi của CSDL từ vùng đệm
xuống đĩa
15
Điểm kiểm tra đơn giản
§ꢀ Khi đến điểm kiểm tra, DBMS sẽ
1.ꢀ Tạm dừng tiếp nhận các giao tác mới
2.ꢀ Đợi các giao tác đang thực hiện
-ꢀHoặc là hoàn tất (commit)
-ꢀHoặc là hủy bỏ (abort)
-ꢀvà ghi mẫu tin <commit T> hay <abort T> vào nhật ký
3.ꢀ Tiến hành ghi dữ liệu và nhật ký từ vùng đệm xuống đĩa
4.ꢀ Tạo 1 mẫu tin <checkpoint> và ghi xuống đĩa
5.ꢀ Trở về công việc bình thường (tiếp tục nhận các giao tác mới)
16
Điểm kiểm tra đơn giản (tt)
§ꢀ Khi có sự cố, DBMS dùng nhật ký để khôi phục :
–ꢀ Các giao tác ở phía trước điểm kiểm tra mới nhất là những giao tác
đã kết thúc → không cần làm lại
–ꢀ Các giao tác ở phía sau điểm kiểm tra là những giao tác chưa thực
hiện xong → cần khôi phục
§ꢀ Như vậy, BDMS sẽ :
–ꢀ Không phải duyệt hết nhật ký
–ꢀ Chỉ duyệt ngược từ cuối nhật ký đến điểm kiểm tra
Nhật ký
checkpoint
Duyệt
17
Điểm kiểm tra linh động
§ꢀ Đặc điểm:
–ꢀ Mẫu tin <checkpoint> trong Điểm kiểm tra đơn giản nay được chia
thành 2 mẫu tin :
-ꢀMẫu tin <start ckpt (T1, T2, …, Tk)> : Bắt đầu checkpoint
–ꢀ T1, T2, …, Tk là các giao tác đang dở dang khi bắt đầu
checkpoint
-ꢀMẫu tin <end ckpt> : Kết thúc checkpoint
–ꢀ Cho phép tiếp nhận các giao tác mới trong quá trình checkpoint
18
Điểm kiểm tra linh động (tt)
§ꢀ Khi đến điểm kiểm tra, DBMS sẽ
1.ꢀ Tạm ngưng mọi hoạt động
2.ꢀ Tạo và ghi mẫu tin <start ckpt (T1, T2,…, Tk)>
-ꢀT1, T2, …, Tk là những giao tác đang thực thi khi ấy
3.ꢀ Chờ cho đến khi T1, T2, …, Tk hoàn tất hay hủy bỏ
4.ꢀ Trong khi ấy không ngăn các giao tác mới bắt đầu
5.ꢀ Khi T1, T2, …, Tk kết thúc, tạo mẫu tin <end ckpt> và ghi xuống đĩa
19
Nội dung trình bày
§ꢀ An ninh dữ liệu
–ꢀ Cơ chế phân quyền
–ꢀ Cơ chế mã hoá
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: An toàn và an ninh dữ liệu - Nguyễn Trường Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_he_quantri_co_sodulieu_chuong_4_an_toan_va_an_ninh.pdf

