Hệ quản trị cơ sở dữ liệu - Chương 1: Giới thiệu

Chương này trình bày một cái nhìn bao quát vềcơsởdữliệu (CSDL/DB), vềhệquản trị

cơsởdữliệu (HQTCSDL/DBMS) và vềhệcơsởdữliệu (HCSDL/DBS). Các đòi hỏi khi xây

dựng một HQTCSDL đó cũng chính là những chức năng mà một HCSDL cần phải có. Một khái

niệm quan trọng là khái niệm giao dịch (Transaction). Các tính chất một giao dịch phải có để đảm

bảo một HQTCSDL, được xây dựng trên HCSDL tương ứng, trong suốt quá trình hoạt động sẽ

luôn cho một CSDL tin cậy (dữliệu luôn nhất quán). Quản trịgiao dịch nhằm đảm bảo mọi giao

dịch trong hệthống có các tính chất mà một giao dịch phải có. Một điều cần chú ý là trong các

tính chất của một giao dịch, tính chất nhất quántrước hết phải được đảm bảo bởi người lập trìnhngười viết ra giao dịch.

pdf18 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 2491 | Lượt tải: 4download
Tóm tắt nội dung Hệ quản trị cơ sở dữ liệu - Chương 1: Giới thiệu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
o dịch tăng lên. Tăng khả năng của hệ thống bằng cách tăng sự song 
song cung cấp một con đường thuận tiện hơn cho sự phát triển hơn là thay thế một hệ tập 
trung bởi một máy nhanh hơn. Một số nhân tố ảnh hưởng xấu đến tính hiệu quả của hoạt 
động song song và có thể làm giảm cả tăng tốc độ và tăng quy mô là: 
o Chi phí khởi động ( Startup Costs ): Có một chi phí khởi động kết hợp với sự khởi 
động một xử lý. Trong một hoạt động song song gồm hàng ngàn xử lý, thời gian 
khởi động (Startup time) có thể làm lu mờ thời gian xử lý hiện tại, ảnh hưởng bất 
lợi tới tăng tốc độ. 
o Sự giao thoa ( Interference ): Các xử lý thực hiện trong một hệ song song thường 
truy nhập đến các tài nguyên chia sẻ, một sự giao thoa của mỗi xử lý mới khi nó 
cạnh tranh với các xử lý đang tồn tại trên các tài nguyên bị chiếm như bus hệ 
thống, đĩa chia sẻ, thậm chí cả đồng hồ. Hiện tượng này ảnh hướng đến cả tăng tốc 
độ lẫn tăng quy mô. 
o Sự lệch ( Skew ): Bằng cách chia một công việc thành các bước song song, ta làm 
giảm kích cỡ của bước trung bình. Tuy nhiên, thời gian phục vụ cho bước chậm 
nhất sẽ xác định thời gian phục vụ cho toàn bộ công việc. Thường khó có thể chia 
một công việc thành các phần cùng kích cỡ, như vậy cách mà kích cỡ được phân 
phối là bị lệch. Ví dụ: một công việc có kích cỡ 100 được chia thành 10 phần và sự 
phân chia này bị lệch, có thể có một số phần có kích cỡ nhỏ hơn 10 và một số 
nhiệm vụ có kích cỡ lớn hơn 10, giả sử trong đó có phần kích cỡ 20, độ tăng tốc 
nhận được bởi chạy các công việc song song chỉ là 5, thay vì 10. 
• Các mạng hợp nhất (Interconnection Network): Các hệ thống song song gồm một 
tập hợp các thành phần ( Processors, memory và các đĩa ) có thể liên lạc với nhau thông 
qua một mạng hợp nhất. Các ví dụ về các mạng hợp nhất là: 
o Bus: Toàn bộ các thành phần hệ thống có thể gửi và nhận dữ liệu qua một bus liên 
lạc. Các kiến trúc bus làm việc tốt với một số nhỏ các processor. Tuy nhiên, chúng 
không có cùng quy mô khi tăng sự song song vì bus chỉ điều khiển liên lạc từ chỉ 
một thành phần tại một thời điểm. 
CHƯƠNG I. GIỚI THIỆU Trang 13
bus 
P P P P P M 
M 
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 
 Figure 5 
o Lưới ( Mesh): Các thành phần được sắp xếp như các nút của một lưới, mỗi thành 
phần được nối với tất cả các thành phần kề với nó trong lưới. Trong một lưới hai 
chiều mỗi nút được nối với 4 nút kề. 
o Siêu lập phương ( Hypercube ): Các thành phần được đánh số theo nhị phân, một 
thành phần được nối với thành phần khác nếu biểu diễn nhị nhân số của chúng sai 
khác nhau đúng một bit. Như vậy, mỗi một thành phần trong n thành phần được 
nối với log(n) thành phần khác. Có thể kiểm nghiệm được rằng trong một sự hợp 
nhất siêu lập phương một thông điệp từ một thành phần đến một thành phần khác 
đi quá nhiều nhất log(n) nối kết, còn trong lưới là 1−n 
• Các kiến trúc cơ sở dữ liệu song song: Có một vài mô hình kiến trúc cho các máy 
song song: 
 ( Ký hiệu: = processor, = Memory, = đĩa ) 
o Bộ nhớ chia sẻ ( Shared memory ): Tất cảc các processor chia sẻ một bộ nhớ 
chung. Trong mô hình này các processor và các đĩa truy xuất một bộ nhớ chung, 
thường thông qua một bus hoặc một mạng hợp nhất. Thuận lợi của chia sẻ bộ nhớ 
là liên lạc giữa các processor là cực kỳ hiệu quả: dữ liệu trong bộ nhớ chia sẻ có 
thể được truy xuất bởi bất kỳ processor nào mà không phải di chuyển bởi phần 
mềm. Một processor có thể gửi thông điệp cho một processor khác bằng cách viết 
vào bộ nhớ chia sẻ, cách liên lạc này nhanh hơn nhiều so với các liên lạc khác. Tuy 
nhiên, các máy bộ nhớ chia sẻ không thể hỗ trợ nhiều hơn 64 processor vì nếu 
nhiều hơn, bus hoặc mạng hợp nhất sẽ trở nên dễ bị nghẽn ( bottle-neck ). 
Kiến trúc bộ nhớ chia sẻ thường có những cache lớn cho mỗi processor, như vậy 
việc tham khảo bộ nhớ chia sẻ có thể tránh được mỗi khi có thể. 
P M 
P P P P 
P P P 
P 
P 
P P P 
P P P P 
 mạng hợp nhất hình lưới 
 P 0 1 
 P 
Siêu lập phương một chiều 
 P 10 11 
 P 
 P 00 01 
 P 
Siêu lập phương hai chiều 
 P 101 
 P 111 
 P 100 
 P 110 
 P 001 
 P 011 
 P 000 
 P 010 
Siêu lập phương ba chiều 
Figure 6
CHƯƠNG I. GIỚI THIỆU Trang 14
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 
P P P P 
M 
 Figure 7 
o Đĩa chia sẻ ( Shared disk ): Tất cả các processor chia sẻ đĩa chung. Mô hình này 
còn được gọi là cụm (cluster). Trong mô hình này tất cả các processor có thể truy 
xuất trực tiếp đến tất cả các đĩa thông qua một mạng hợp nhất, nhưng mỗi 
processor có bộ nhớ riêng. 
P P P P 
M M M M 
 Figure 8 
Kiến trúc này có các điểm thuận lợi là: thứ nhất, bus bộ nhớ không bị bottle-neck, 
thứ hai, cho một phương pháp rẻ để cung cấp một mức độ lượng thứ lỗi--một 
processor bị hỏng hóc, các processor khác có thể tiếp tục công việc của nó. Ta có 
thể tạo ra hệ thống con các đĩa tự lượng thứ lỗi bằng cách sử dụng kiến trúc RAID 
(được trình bày sau này). Vấn đề chính của chia sẻ đĩa là sự hợp nhất các hệ thống 
con các đĩa trở nên bottle-neck, đặc biệt trong tình huống CSDL truy xuất đĩa 
nhiều. So sánh với bộ nhớ chia sẻ, chia sẻ đĩa có thể hỗ trợ một số lượng processor 
lớn hơn, nhưng việc liên lạc giữa các processor chậm hơn. 
o Không chia sẻ ( Shared nothing ): Các processor không chia sẻ bộ nhớ chung, cũng 
không chia sẻ đĩa chung. Trong hệ thống này mỗi nút của máy có một processor, 
bộ nhớ và một vài đĩa. 
P 
P 
P P 
M 
M 
M M 
P 
M 
P 
M 
 Figure 9 
CHƯƠNG I. GIỚI THIỆU Trang 15
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 
Các processor ở mỗi nút có thể liên lạc với các processor khác qua mạng hợp nhất 
tốc độ cao. Chức năng của một nút, như server, dữ liệu được chứa trên các đĩa của 
nó. Mô hình không chia sẻ gì chỉ có vấn đề về việc truy xuất các đĩa không cục bộ 
và việc truyền các quan hệ kết quả qua mạng. Hơn nữa, đối với các hệ thống không 
chia sẻ gì, các mạng hợp nhất thường được thiết kế để có thể tăng quy mô, sao cho 
khả năng truyền của chúng tăng khi các nút mới được thêm vào. 
o Phân cấp ( hierarchical ): Mô hình này là một sự lai kiểu của các kiến trúc trước. 
P 
P 
P 
P 
P 
M 
P 
P 
P 
P 
P 
M 
P 
P 
P 
P 
P 
M 
 Figure 10 
Kiến trúc này tổ hợp các đặc trưng của các kiến trúc chia sẻ bộ nhớ, chia sẻ đĩa và 
không chia sẻ gì. Ở mức cao nhất, hệ thống bao gồm những nút được nối bởi mạng 
hợp nhất và không chia sẻ đĩa cũng như bộ nhớ với nút khác. Như vậy, mức cao 
nhất là kiến trúc không chia sẻ gì. Mỗi nút của hệ thống có thể là hệ thống chia sẻ 
bộ nhớ với một vài processor. Kế tiếp, mỗi nút có thể là một hệ thống chia sẻ đĩa. 
Mỗi một hệ thống chia sẻ đĩa lại có thể là một hệ thống chia sẻ bộ nhớ... Như vậy, 
hệ thống có thể được xây dựng như một sự phân cấp. 
CÁC HỆ THỐNG PHÂN TÁN (Distributed Systems): 
Trong một hệ thống CSDL phân tán, CSDL được lưu trữ trên một vài máy tính. Các máy 
tính trong một hệ thống phân tán liên lạc với một máy khác qua nhiều dạng phương tiện 
liên lạc khác nhau: mạng tốc độ cao, đường điện thoại... Chúng không chia sẻ bộ nhớ cũng 
như đĩa. Các máy tính trong hệ thống phân tán có thể rất đa dạng về kích cỡ cũng như 
chức năng: từ các workstation đến các mainframe. Các máy tính trong hệ thống phân tán 
được tham chiếu bởi một số các tên khác nhau: site , node -- phụ thuộc vào ngữ cảnh mà 
máy được đề cập. Ta sẽ sử dụng thuật ngữ site để nhấn mạnh sự phân tán vật lý của các hệ 
thống này. 
Site A 
Site B 
Site C 
Liên lạc thông 
qua mạng 
mạng 
CHƯƠNG I. GIỚI THIỆU Trang 16
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 
 Figure 11 
Sự sai khác chính giữa CSDL song song không chia sẻ gì và hệ thống phân tán là 
CSDL phân tán được tách biệt về mặt địa lý, được quản trị tách biệt và có một sự hợp nhất 
chậm. Hơn nữa, trong hệ thống phân tán người ta phân biệt giữa các giao dịch cục bộ 
(local) và toàn thể (global). Giao dịch cục bộ là một giao dịch truy xuất dữ liệu trong một 
site tại đó giao dịch đã được khởi xướng. Giao dịch toàn thể là một giao dịch mà nó hoặc 
truy xuất dữ liệu trong một site từ một site khác tại đó nó được khởi xướng hoặc truy xuất 
dữ liệu trong một vài site khác nhau. 
BÀI TẬP CHƯƠNG I 
I.1 Bốn điểm khác nhau chính giữa một hệ thống xử lý file và một hệ quản trị CSDL là gì ? 
I.2 Giải thích sự khác nhau giữa độc lập dữ liệu vật lý và độc lập dữ liệu logic 
I.3 Liệt kê năm nhiệm vụ của nhà quản trị CSDL. Đối với mỗi nhiệm vụ, giải tích rõ những 
vấn đề nảy sinh nếu nhiệm vụ đó không được hoàn thành. 
I.4 Năm chức năng chính của nhà quản trị CSDL là gì ? 
I.5 Sử dụng một mảng hai chiều kích cỡ n x m như một ví dụ để minh hoạ sự khác nhau: 
1. giữa ba mức trừu tượng dữ liệu 
2. giữa sơ đồ và thể hiện 
I.6 Trong các hệ thống client-server tiêu biểu, máy server thường mạnh hơn máy client rất 
nhiều: Có bộ xử lý nhanh hơn thậm chí có thể có nhiều bộ xử lý, có bộ nhớ lớn hơn, có dung 
lượng đĩa lớn hơn. Ta xét một kịch bản trong đó các máy client và các máy server là mạnh như 
CHƯƠNG I. GIỚI THIỆU Trang 17
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 
nhau. Xây dựng một hệ thống client-server theo kịch bản như vậy có ưu nhược điểm gì ? Kịch bản 
nào phù hợp hơn với kiến trúc server dữ liệu ? 
I.7 Giả sử một giao dịch được viết trong C với SQL nhúng, và khoảng 80% thời gian được 
dùng cho code SQL, 20% còn lại cho code C. Nếu song song được dùng chỉ cho code SQL, Tăng 
tốc độ có thể đạt tới bao nhiêu ? Giải thích. 
I.8 Những nhân tố nào chống lại việc tăng quy mô tuyến tính trong một hệ thống xử lý giao 
dịch ? Nhân tố nào là quan trọng nhất trong mỗi một kiến trúc sau: bộ nhớ chia sẻ, đĩa chia sẻ, 
không chia sẻ gì ? 
I.9 Xét một mạng dựa trên đường điện thoại quay số tự động, trong đó các site liên lạc theo 
định kỳ, ví dụ hàng đêm. Các mạng như vậy thường được cấu hình với một site server và nhiều 
site client. Các site client chỉ nói với server và trao đổi dữ liệu với client khác bởi lưu dữ liệu tại 
server và lấy dữ liệu được lưu trên server bởi client khác. Ưu, nhược điểm của kiến trúc như vậy 
là gì ? 
CHƯƠNG I. GIỚI THIỆU Trang 18

File đính kèm:

  • pdfHQT_CSDL_chuong1.pdf
Tài liệu liên quan