Tải bản đầy đủ (.doc) (13 trang)

Quản trị cơ sở dữ liệu phân tán

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 (417.74 KB, 13 trang )

IT4660 Quản trị CSDL phân tán
1. Tên học phần: QUẢN TRỊ CSDL PHÂN TÁN
2. Mã số:
IT4661
3. Khối lượng:
2(2-1-0-4)



Lý thuyết:
30 giờ
Bài tập : 15 giờ

4. Đối tượng tham dự: Sinh viên chuyên ngành Truyền thông và Mạng máy tính từ học kỳ 8.
5. Điều kiện học phần:




Học phần tiên quyết:
Học phần học trước: IT3080
Học phần song hành:

6. Mục tiêu: Nhằm cung cấp cho sinh viên những kiến thức cơ bản về tính tương tranh, nhất quán,
toàn vẹn, tin cậy , riêng tư và an ninh trong một hệ thống cơ sở dữ liệu phân tán. Giới thiệu các
ứng dụng cơ sở dữ liệu phân tán. Thông qua đó, định hướng cho sinh viên phát triển các ứng
dụng dựa trên việc xây dựng, khai thác cơ sở dữ liệu phân tán .
7. Nội dung: Tổng quan về cơ sở dữ liệu phân tán và quản trị cơ sở dữ liệu phân tán. Những vấn
đề cơ bản và các giải pháp ( tương tranh, xử lý câu hỏi , nhân bản, chịu lỗi, an toàn – an
ninh) . Các ứng dụng cơ sở dữ liệu phân tán. Các hệ quản trị cơ sở dữ liệu phân tán tiêu biểu:
SQL Server, Oracle.


8. Nhiệm vụ của sinh viên:



Dự lớp: đầy đủ theo quy chế
Bài tập: hoàn thành các bài tập của học phần

9. Đánh giá kết quả: KT/BT(0.3)-T(TN/TL:0.7)





Điểm quá trình: trọng số 0.3
Bài tập làm đầy đủ
Hoàn thành tốt bài thí nghiệm theo yêu cầu giáo viên
Thi cuối kỳ (trắc nghiệm / tự luận): trọng số 0.7

10. Tài liệu học tập
1. M. Tamer Ozsu , Patrick Valduriez, Principles of Distributed Database Systems, Prentice Hall, 2nd
edition
2. M. T. Ozsu and P. Valduriez, Principles of Distributed Databases, Prentice-Hall, (2nd edition),
3. Elmasri , Navathe, Fundamentals of database systems , Addison-Wesley Longman, (3rd edition).
11. Nội dung chi tiết học phần:

CHƯƠNG I. NHỮNG NGUYÊN LÝ CƠ BẢN

1.1. Mở đầu
A. NHU CẦU
Tại sao cần CSDL-PT?

Ví dụ: Công ty Big Corp. Có văn phòng tại London, New York, và Hong Kong.
Dữ liệu Employee :


– EMP(ENO, NAME, TITLE, SALARY, …)
Chúng ta nên đặt dữ liệu EMP này ở đâu?

Big Corp. Dữ liệu mẫu
Hầu như, dữ liệu nhân viên được quản lý tại văn phòng nơi mà nhân viên làm
Ví dụ: Luơng, phụ cấp, tiền thuê..
Định kỳ, Big Corp cần hợp nhất truy xuất đến dữ liệu nhân viên
– Ví dụ: Tính tông số lương cần trả cho bảng cân đối lương
– Ví dụ: Thưởng thêm hàng năm phụ thuộc lợi ích mạng toàn cục

Tập trung

Phân tán


Những vấn đề đòi hỏi:
-

Sự phân tán hỗ trợ việc xử lý song song(Chạy ở cả LD,NY,HK)
Việc lặp lại dữ liệu làm tăng hiệu năng(dữ liệu HK có thể ở NY)
-

Mô hình tập trung






Tăng khả năng thông tin trên các thiết bị nhớ là rất khó khăn
Độ sẵn sàng của CSDL không cao khi số NSD tăng
Khả năng tính toán của các máy tính đơn lẻ đang dần đến giới hạn vật lý
Mô hình không phù hợp với các tổ chức kinh tế, xã hội, đa quốc gia

B. TẠI SAO CSDLPT CẦN THIẾT & PHÁT TRIỂN
 Những lý do tổ chức và kinh tế : (Organizational and economic reasons)
 Liên kết với dữ liệu đã có (Interconnection of existing database)
 Sự tăng trưởng ( Incremental growth)
 Giảm chi phí truyền thông (Reduced communication overhead)
 Cân đối hiệu năng ( Performance consideration)


 Độ tin cậy và tính sẵn sàng (Reliability and availability)
- Độ tin cậy : là xác suất một hệ thống chạy ở một số thời điểm chính.
- Độ sẵn sàng : là xác suất một hệ thống liên tục sẵn sàng trong một khoảng thời gian.
Khi dữ liệu và hệ quản trị được phân tán trên nhiều site thì một site nào đó có thể bị lỗi trong
khi các site khác vẫn hoạt động. Như vậy chỉ dữ liệu ở site bị lỗi là không thể truy cập được
(ưu điểm so với hệ thống trung tâm)

MỘT SỐ NHƯỢC ĐIỂM KHI SỬ DỤNG HỆ PHÂN TÁN
 Sự thiếu kinh nghiệm: (Lack of Experience)
 Sự phức tạp (Complexity)
 Chi phí : (Cost)
 Tính an toàn: (Security)
 Khó khăn khi chuyển đổi (Difficulty of change) từ tập trung sang phân tán
C. Định nghĩa: CSDLPT là tập CSDL có quan hệ logic với nhau và được trải trên một
mạng máy tính. Mỗi trạm của mạng có khả năng xử lý tự quản và có thể thực hiện các ứng

dụng cục bộ, mỗi một trạm cũng có thể tham gia vào ít nhất 1 ứng dụng toàn cục, có yêu cầu
truy xuất dữ liệu tại nhiều trạm.
Chú ý: có thể dữ liệu được phân tán (vật lý) trên nhiều máy. Tuy nhiên, nếu việc truy xuất
dữ liệu chỉ tại duy nhất một máy tích hợp dữ liệu của các máy trên. Trường hợp này, không
thuộc loại hệ thống có CSDL phân tán được xem xét.


Cơ sở dữ liệu phân tán(Các CSDL MFG.ACME.COM, HQ.ACME.COM và SALES.
ACME.COM)
-

-

-

Các ứng dụng CSDL bao gồm ba phần : Xử lý ứng dụng, Phần mềm CSDL và bản
thân CSDL
Các mô hình kiến trúc vật lý về truy cập CSDL(5): CSDL tập trung + CSDL File
Server + Xử lý từng phần CSDL + CSDL Clietn/Server + CSDL pt
Sự hợp nhất của 2 hướng tiếp cận quá trình xử lý dữ liệu: Lý thuyết các hệ CSDL và
công nghệ mạng máy tính
Xử lý phân tán: tập các phần tử xử lý tự tri (không đồng nhất) được kết nối với nhau
bởi một mạng máy tính và phối hợp thực hiện những công việc theo chức năng. Có 2
khái niệm xử lý phân tán (Client/Server: tính toán trên mỗi phần và các giao dịch
được t.hiện phức tạp trên nhiều hệ thống)
Hệ thống xl pt : tập hợp các máy tính cài đặt CSDL và phần mềm cho phép nhiều
người chia xẻ thong tin chung. Các đối tượng phân tán bao gồm 3 (Logic xl pt : các
phân tử hay các chức năng phân tán, có thể ủy quyền; Pt dữ liệu: ; Đk pt: các gdich
trên các nút )
CSDL phân tán lien quan đến 2 khía cạnh: Tính pt và Mối quan hệ logic

Mô hình tham chiếu CSDL pt : (lược đồ toàn cục /Lược đồ phân mảnh/Lược đồ cấp
phát/Lược đồ ánh xạ cục bộ/Hệ QTCSDL ở các site cục bộ)


Lược đồ tổng thể

Lược đồ phân mảnh

Lược đồ cấp phát

Lược đồ ánh xạ
cục bộ 1

Lược đồ ánh xạ
cục bộ 2

Lược đồ ánh xạ
cục bộ n

Hệ quản trị csdl 1

Hệ quản trị csdl 2

Hệ quản trị csdl n

csdl cục bộ site 1

csdl cục bộ site 2

csdl cục bộ site n


1.2. Csdl quan hệ
-

Định nghĩa quan hệ- bộ - khóa- thuộc tính-



bảng rỗng cho cấu trúc dữ liệu: lược đồ quan hệ; bảng có dữ liệu lấp đầy: thể hiện của
quan hệ.
Chuẩn hóa và vai trò




-

Ngôn ngữ dữ liệu quan hệ





Đại số quan hệ (chọn, chiếu, hợp, hiệu, tích Đề cac , tuyển, kết nối, bán kết nối , chia)
Tính toán quan hệ (trên các biến bộ

1.3. Mạng máy tính
-

Định nghĩa mạng máy tính(site-node- cấu hình(điểm-điểm/nhiều điểm)-băng thôngdung lượng kênhPhân loại mạng(theo khoảng cách/cmach kênh và gói/)

Mô hình tham chiếu
Giao thức mạng


1.4. Cơ sở dữ liệu phân tán
A. HỆ QUẢN TRỊ CSDL - PT
ĐỊNH NGHĨA: Là phần mềm cho phép tạo lập CSDL phân tán, điều khiển mọi truy
cập đối với CSDL-PT đảm bảo trong suốt đối với người sử dụng.
– Chương trình quản trị DL địa phương
– Chương trình quản trị DL phân tán
– Chương trình quản trị truyền thông DL
– Chương trình quản trị tự điển DL
Các chức năng đặc thù của Hệ QTCSDL-PT
– Chương trình quản trị tự điển DL
– Đánh giá câu hỏi phân tán
– Quản trị giao dịch phân tán
– Các chức năng phục hồi & toàn vẹn DL
Các thành phần của Hệ QTCSDL-PT (Xử lý tương tác người dùng và Xử lý dữ liệu)
- Xử lý tương tác người dùng
 Xử lý giao diện
 Kiểm soát dl ngữ nghĩa
 Phân rã và tối ưu hóa truy vấn toàn cục
 Giám sát thực hiện phân tán phối hợp thực hiện phân tán yêu cầu NSD
- Xử lý dữ liệu
 Bộ tối ưu hóa truy vấn cục bộ(chọn đường dẫn truy cập tốt nhất vào các mục dl)
 Bộ quản lý khôi phục cục bộ( duy trì tính nhất quán)
 Bộ hõ trợ thời gian thực hiện (lập lịch biểu)
PHÂN LOẠI HỆ QTCSDL-PT
 . Hệ thống Homogenous và hệ thống Heterogenous:



THUẦN NHẤT(Homogeneous)

-DDBMS với hệ quản trị CSDL như nhau tại mỗi trạm , ngay cả khi máy tính và / hoặc hệ
điều hành là không như nhau


KHÔNG THUẦN NHẤT (Heterogeneous)

- DDBMS với hệ quản trị CSDL khác nhau tại mỗi trạm - Có chức năng chuyển đổi giữa các
mô hình dữ liệu khác nhau của các hệ quản trị CSDL cục bộ khác nhau
Hệ thống không thuần nhất
Về Platform

IBM

DEC_VAX

IBM AS400

RISC PC

Pentium CPU


Về DBMS

DB2

VAX rdb


SQL/400

Infomix

Oracle

Về Hệ ĐH

MVS

MVS

OS/400

UNIX

Windows

Về Protocol

APPC LU 6.2

DECnet

3270

TCP/IP

NetBIOS


 CÁC QUAN ĐIỂM PHÂN LOẠI HỆ QTCSDL-PT KHÁC
Theo Bochmann, các loại hệ xử lý phân tán có thể phân loại dựa theo các tiêu chuẩn :
Độ kết dính : (degree of coupling)là số đo mức độ nối kết chặt chẽ giữa các phần tử được xử
lý, được tính bằng tỷ số giữa lượng dữ liệu trao đổi với lượng xử lý tại chỗ, được thực hiện
trọng việc hoàn thành 1 giao tác (dữ liệu thay đổi/dữ liệu xử lý tại chỗ)
Cấu trúc nối kết ( Interconnection structure) Nối kết điểm - diểm (point-to-point) giữa các
phần tử xủ lý hay dùng kênh truyền chung(multipoint)
Sự đồng bộ hóa: (Synchronization) Sự đồng bộ hóa giữa các phần tử xử lý có thể được duy
trì bởi các phương cách đồng bộ hay bất đồng bộ
B. NHỮNG ĐẶC ĐIỂM CỦA CSDL PHÂN TÁN SO VỚI CSDL TẬP TRUNG
- Điều khiển tập trung (Centralize control)
 Tự quản trạm (site autonomy): tính tự trị địa phương. Người quản tị CSDL(DBA)
đkhiển phân cấp: (DBA toàn cục và DBA địa phương có sự độc lập nhất định)
 độc lập vị trí
- Độc lập dữ liệu (Data independence)
 Tính trong suốt p.tán CSDL (transparent)
i. Trong suốt phân tán : có 2 loại
 Trong suốt vị trí : câu lệnh do người dùng thực hiện không phụ thuộc vào vị trí của
dữ liệu và vị trí của hệ thống đang được dùng.
 Trong suốt tên : Một khi đã được gán tên trong hệ thống thì vật thể được truy cập mà
không cần cung cấp thêm bất cứ thông tin nào khác.
ii. Trong suốt nhân bản: Nhiều copy của dữ liệu có thể được lưu ở nhiều nơi để nâng cao
tốc độ thực hiện, độ tin cậy. Người dung không biết về sự hiện hữu của nhiều bản copy này.
- Giảm dư thừa ( Reduction of redundancy)
 Tính lặp dữ liệu (replication)
• Làm tăng tính cục bộ
• Làm tăng tính sẵn sàng
CHú ý khi các ứng dụng chỉ đọc thì nhân bản tốt hơn
- Cải thiện hiệu năng

 Phân mảnh(cục bộ hóa dữ liệu)
 Tính song song của các hệ thống phân tán(truy vấn song song và truy vấn nội bộ)
 Chương trình chỉ đường (navigational)


- Sự ràng buộc toàn vẹn, phục hồi và điều khiển tương tranh (Intergrity, recovery,
and concurrency control)
Giao dịch: chuỗi các thao tác CSDL được thực hiện chuyển từ trạng thái CSDL nhất quán
này sang trạng thái CSDL nhất quán khác
 Các giao dịch phân tán hạn chế lỗi đơn lẻ
 Các giao dịch tuân theo quy tắc toàn vẹn CSDL
-

Tính riêng rẽ & tính an toàn: (Privacy and security)

C. NHỮNG VẤN ĐỀ CẦN GIẢI QUYẾT KHI TIẾP CẬN CSDL PHÂN TÁN
- Thiết kế CSDL phân tán (Distributed Database Design): Hai phương pháp đặt dữ liệu:
Phân vùng (rời nhau) và nhân bản( toàn bộ hay phân vùng)
 Tối ưu hóa chi phí, cấu trúc, lưu trữ CSDL , giao dịch
- Xử lý câu hỏi phân tán ( Distributed Query Processing): Phân tích các thuật toán truy
vấn và chuyển thành dãy các thao tác dữ liệu.
 Cần xem xét phân tán dữ liệu, chi phí truyền thong, thong tin cục bộ có sẵn, tối ưu hóa các
vị trí được thực hiện song song
- Quản trị thư mục phân tán (Distributed Directory Management): Thư mục chứa
các thông tin mô tả vị trí, dữ liệu. Có thể là toàn cục hay cục bộ, tập trung ở 1 hay nhiều nơi,
có/không có bản sao
- Điều khiển tương tranh phân tán (Distributed Concurrency Control): Đồng bộ
việc truy cập nhưng đảm bảo tính toàn vẹn và nhất quán. Các giá trị trong mỗi mục dữ liệu
phải quy về cùng một giá trị gọi là nhất quán chung
 Hai lớp giải pháp(bi quan và lạc quan)

Bi quan:đồng bộ các yêu cầu rồi thực thi
Lạc quan:Thực thi các yêu cầu và kiểm chứng tính nhất quán
 Dựa trên cơ chế khóa, độc quyền tương hỗ và gán nhãn thời gian
- Quản trị khóa chết phân tán (Distributed Deadlock Management): Ngăn cản,
Tránh, Phát hiện và khôi phục như ở hệ điều hành
- Độ tin cậy của hệ quản trị CSDL phân tán ( Reliability of Distributed DBMS)
Nhờ đảm bảo tính nhất quán: nếu lỗi thì không thay đổi trạng thái cập nhật
Nhờ khôi phục lại CSDL tại các trạm bị lỗi
(Khó khi tách rời nhiều nóm và các nhóm không lien hệ với nhau)
-

Hỗ trợ của hệ điều hành (Operating System Support)

- Cơ sở dữ liệu không đồng nhất (Heterogeneous Database) :theo vị trí, phương
pháp cấu trúc dữ liệu, cơ chế truy xuất dữ liệu cần có cơ chế chuyển dịch giữa các hệ thống:
hệ đa cơ sở dữ liệu
D. TRIỂN VỌNG CỦA HỆ CSDL PHÂN TÁN
 Tự trị
 Tính song song nâng cao hiệu quả truy cập







Các vấn đề tương tranh (dvu, CPU, vào ra..) ít xảy ra hơn tập trung, độ trễ ít
Độ tin cậy và tính sẵn sàng
Kinh tế do tổ chức hệ máy tính thay cho máy tính lớn
Khả năng mở rộng hệ thống và phân chia tài nguyên


BÀI TẬP
-

phân tán

-

mạng

-

SQL

BÀI TẬP (CSDL ko CSDL phân tán)
 Consider a DBMS that uses multigranularity locks for concurrency control. Using this
DBMS, we see two levels of database elements: the relation level and the tuple level.
Suppose that we have a relation R containing some tuples, and a sequence of actions
as follows:
(1) Transaction T1 insert a tuple t1 into R
(2) Transaction T2 reads a tuple t2 in R
(3) Transaction T3 scans relation R
(4) Transaction T4 writes tuple t2 in R
(5) Transaction T5 deletes tuple t2 from R
(6) Transaction T6 deletes relation R
 We make the following assumptions about timing:
i. Action (1) is issued to the scheduler at time 0, and the other actions then arrive in the order
shown above at an interval of t .
ii. Each transaction requests the necessary lock right before its action is issued, and releases
the lock right after its action completes.

iii. Whenever a new lock request arrives or a lock is released, the system examines the
waiting queue for that lock and grants the lock to as many compatible requests as it can. The
locks are granted to the transactions in a firstcomefirstserve manner.
iv. Each action completes 10t after it obtains the lock on relation R.
 (a) For each transaction, list the weakest type of lock (S, X, IS, IX) that the
transaction should hold on relation R before its action can be executed?
 (b) Draw the lock table structure for all the locked data elements in the database, after
action(1) completes and before action (2) completes. Suppose all actions have arrived
at the scheduler and requested their locks at this point.




(c) Fill out the time table for the lock and unlock actions on relation R in the output schedule
from the scheduler. You may use li and ui to represent the actions that transaction i obtains
and releases the lock on relation R, respectively.

Question 2


Consider the following single transaction running in isolation:

T = r(A) r(B) w(A) w(B) r(C) w(C) w(D)


Say that the system crashes and when it restarts we have an opportunity to examine the log. A
number of scenarios are given below. In each scenario, the logging method and log are given. For
each scenario, determine which writes to data elements must be reflected in the database on
disk, and which writes must not be reflected on disk. If no data elements fit a category, simply
write “empty” in the box.













a) UNDO logging: log = <Start T> <T, A, 5> <T, B, 7>


must: empty



must not: C,D

b) UNDO logging: log = <Start T> <T, A, 5> <T, B, 7> <T, C, 2> <T, D, 9> <Commit T>


must: A,B,C,D



must not: empty


c) REDO logging: log = <Start T> <T, A, 1> <T, B, 2> <T, C, 5>


must: empty



must not: A,B,C,D

d) REDO logging: log = <Start T> <T, A, 1> <T, B, 2> <T, C, 5> <T, D, 0> <Commit T>


must: empty



must not: empty

e) UNDO/REDO logging with nonquiescent (fuzzy) checkpointing: log = <Start T> <T, A, 5, 1>
<Begin Checkpoint (T)> <T, B, 7, 2>


must: empty



must not: C,D

f) UNDO/REDO logging with nonquiescent (fuzzy) checkpointing: log = <Start T> <T, A, 5, 1>
<Begin Checkpoint (T)> <T, B, 7, 2> <End Checkpoint> <T, C, 2, 5> <T, D, 9, 0> <Commit T>



must: A



must not: empty

Question 3


Consider the following schedule involving three transactions T1, T2 and T3:




a) Draw the precedence graph for this schedule.



b) Is this schedule conflict serializable? Why or why not? If it is conflict serializable, give the
equivalent serial schedule (just write the order of the transactions).




-

No because Precedence Graph has cycle.


c) Write down all instances where one transaction “reads from” another transaction. (If T2
reads from T1, write T1◊ T2.)


T1◊ T3 (A)



T3◊ T2 (C)



×