• Mục tiêu của hệ thống csdl phân tán : đạt được sự tích hợp dữ liệu và trong suốt phân tán dữ liệu... Định nghĩa csdl phân tán và hệ qtcsd phân tán • Một csdl phân tán là một tập hợp n
Trang 1CHƯƠNG 1 NHỮNG NGUYÊN LÍ CƠ BẢN
Trang 2– EMP(ENO, NAME, TITLE, SALARY, …)
Đặt dữ liệu EMP này ở đâu?
Dữ liệu nhân viên được quản lý tại văn
phòng nơi nhân viên làm
Ví dụ: Luơng, phụ cấp, tiền thuê
Định kỳ, Công ty 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
Trang 3Sử dụng cơ sở dữ liệu phân tán
• Chạy nhanh hơn nhiều
• 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
INTERNET
NewYork-Trả lương
NewYork EMP
London-Trả lương
London EMP
HọngKong
Trang 4Tính không đồng nhất và tự tri
Trang 51.2 CƠ SỞ DỮ LIỆU QUAN HỆ
A Cơ sở dữ liệu quan hệ
B Chuẩn hóa
C Các ngôn ngữ dữ liệu quan hệ
Trang 6A Cơ sở dữ liệu quan hệ
• Cơ sở dữ liệu: Tập hợp có cấu trúc dữ liệu liên quan đến các hiện tượng cuộc sống mà ta cố gắng mô hình hóa
• Một CSDL quan hệ là CSDL ở đó cấu trúc dữ liệu là ở dạng bảng
Về hình thức, được định nghĩa qua n tập hợp
D1,D2 ,…, Dn là tập các bộ n (d1,d2,…,dn) sao cho d1 D1 , d2 D2 …., dn Dn
Trang 7B CHUẨN HÓA
Xét 2 sơ đồ quan hệ :
EMP(ENO, ENAME, TITLE, SAL, PNO, RESP, DUR)
PROJ(PNO,PNAME, BUDGET)
Những vấn đề tồn tại trong cơ sở dữ liệu quan hệ
Lặp lại bất thường: VD: tên người, chức vụ và lương của mỗi nhân viên được lặp lại ở mỗi dựa án anh ta tham gialãng phí không gian lưu trữ.
Cập nhật bất thường: Hậu quả của lặp lại bất thường VD: nếu lương nhân viên thay đổi, kéo theo nhiều bộ thay đổi
Chèn bất thường: Khi đưa thêm nhân viên vào, các thuộc tính liên
Trang 8CHUẨN HÓA(tiếp)
Chuẩn hóa : Quan hệ được chia thành hai hay nhiều dạng chuẩn
hóa cao hơn Quan hệ gọi là chuẩn hóa nếu nó thỏa mãn các điều kiện của liên kết đến các dạng chuẩn hóa
Codd định nghĩa 1NF, 2NF, and 3NF ( Về sau là chuẩn
Boyce-Codd-BCNF) : dạng chuẩn hóa phụ thuộc hàm
4NF (phụ thuộc đa trị) và 5NF(phụ thuộc chiếu-kết nối )
Quá trình chuẩn hóa cho ta các sơ đồ quan hệ:
EMP(ENO, ENAME, TITLE)
PAY(TITLE, SAL)
PROJ(PNO, PNAME, BUDGET)
ASG(ENO, PNO, RESP, DUR)
Trang 9MỘT CƠ SỞ DỮ LIỆU ĐÃ CHUẨN HÓA
Trang 10C CÁC NGÔN NGỮ DỮ LIỆU QUAN HỆ
• Ngôn ngữ vận dụng trên quan hệ được dùng cho mô hình quan
hệ
• Bao gồm đại số quan hệ và tính toán quan hệ
• Khác nhau về việc hình thành truy vấn người dùng như thế nào
• Chúng là tương đương về khả năng diễn đạt
ĐẠI SỐ QUAN HỆ:
- Tập các phép tính thực hiện trên quan hệ Có thể 1 ngôi hay hai ngôi
- 5 phép tính cơ bản: Chọn, chiếu, hợp, hiệu và tích Đề cac
- Các phép dẫn suất: Chèn, kết nối tự nhiên, bán kết nối và chia, giao , kết nối .
- Mở rộng hơn : Nhóm hay sắp xếp các kết quả, thực hiện các hàm
Trang 11Các phép đại số quan hệ
Chọn(Selection) Chon tập con theo hàng quan hệ đã cho : F(R)
Chiếu(Projection) Tạo tập con theo cột quan hệ đã cho : VD chiếu
quan hệ R theo các thuộc tính A và B πA,B(R)
Hợp (Union): Hợp của hai quan hệ R và S (R S) là tập các bộ
trong 2 quan hệ (hoặc R,S hoặc cả hai)
Hiệu (Set Difference) : Hiệu của hai quan hệ R và S (R-S) là tập
các bộ thuộc R không thuộc S
Tích Đề Các (Cartesian Product) : Tích Đề Các của hai quan hệ R
k bộ và S k bộ (RxS) là tập k +k bộ mỗi bộ R nối với mọi bộ
Trang 12Giao(Intersection): RS =R-(R-S)
Kết nối (-Join): Dẫn suất tích Đề Các Về cơ bản có
thể chia ra inner join và outer join
Bán kết nối(Semijoin): R(A) và S(B)
Trang 13PHÉP TÍNH QUAN HỆ
• Thay cho việc đặc tả làm thế nào để có kết quả thì ở đây là kết quả gì khi đưa ra quan hệ
để giữ kết quả.
• Có 2 nhóm : phép tính quan hệ bộ và phép tính quan hệ miền.
• Sự khác nhau do các biến đươc đặc tả trong truy vấn
• Tính toán quan hệ có cơ sở lý thuyết là dựa trên logic vị từ của đại số quan hệ ở trên
CSDL quan hệ được coi tập các bộ và các miền, trên đó có thể thực hiện các tính toán quan hệ
Trang 14Phép tính quan hệ trên miền
Sử dụng biến miền trong ngôn ngữ Phạm vi
biến miền bao gồm các miền qua đó quan hệ định nghĩa
Trang 151.3 Mạng máy tính
Tập hợp các máy tính tự trị có khả năng trao đổi thông tin với nhau
Trang 161.3 Mạng máy tính(tiếp)
A Các kiểu mạng
– Theo khoảng cách(WAN,LAN, MAN)
– Theo topo (star, ring, bus, mesh)
– Theo kỹ thuật chuyển mạch(kênh, gói)
B Các sơ đồ truyền thông
• Mạng điểm điểm(point-to-point -unicast)
• Quảng bá : (broadcast - multi-point)
Multicast
Trang 17C Các khái niệm truyền thông dữ liệu
• Link: thực thể vật lý
• Kênh: thực thể logic
– Kênh có dung lượng (b/s)
– Băng thông (tương tự và số)
Trang 18D Các giao thức truyền thông
Trang 191.4 Cơ sở dữ liệu phân tán
Độc lập dữ liệu
• Ban đầu, các chương trình lưu dữ liệu trong các file thông thường.
• Mỗi chương trình phải duy trì dữ liệu của nó
– Tổng phí lớn
– Dễ mắc lỗi
Trang 20Độc lập dữ liệu
• Việc phát triển hệ qtcsdl giúp cho đạt được độc lập dữ liệu (trong suốt)
một cách đầy đủ
• Cung cấp việc duy trì và truy nhập dữ liệu điều khiển và trung tâm
• ứng dụng độc lập với tổ chức vật lý và logic của file.
Trang 21Độc lập dữ liệu
• Hệ thống csdl phân tán là bao gồm hai cách tiếp cận khác biệt: các hệ thống
csdl và mạng máy tính
– Mạng máy tính đưa ra chế độ làm việc khác việc tập trung
• Vấn đề chính :Đối tượng quan trọng nhất của công nghệ csdl là tích hợp
chứ không tập trung.
• Mục tiêu của hệ thống csdl phân tán : đạt được sự tích hợp dữ liệu và trong suốt phân tán dữ liệu
Trang 22Tính toán và xử lý dữ liệu phân tán
• Hệ thống tính toán phân tán là tập hợp các phần tử xử lý tự trị được nối
kết với nhau bằng mạng máy tính Các phần tử hợp tác để thực hiện
nhiệm vụ
• Thuật ngữ “phân tán” được chính xác hóa theo ngữ cảnh.
• Các thuật ngữ đồng nghĩa:
– distributed function( chức năng phân tán)
– distributed data processing (xử lý dữ liệu phân tán)
– multiprocessors/multicomputers (đa xử lý/đa máy tính)
– satellite processing (xử lý vệ tinh)
– back-end processing (xử lý back-end)
– dedicated/special purpose computers (các máy tính mục đích thuần túy/ dbiet)
–timeshared systems (Các hệ thống phân chia thời gian)
– functionally modular systems( Các hệ thống đơn thể chức năng )
Trang 23Tính toán và xử lý dữ liệu phân tán
• Phân loại các hệ thống phân tán theo các tiêu chí khác nhau
– Mức độ kết dính: các phần tử xử lý kết nối với nhau như thế nào
( tỷ lệ giữa tổng dữ liệu được trao đổi đối với tổng dữ liệu xử lý cục bộ)
Kết dính mạnh, kết dính yếu.
– Cấu trúc nối kết
kết nối điểm-điểm giữa các phần tử xử lý
Trang 24Định nghĩa csdl phân tán và hệ
qtcsd phân tán
• Một csdl phân tán là một tập hợp nhiều csdl liên quan logic trải trên
một mạng máy tính
• Một hệ qtcsdl phân tán là phần mềm quản trị csdl phân tán và cung cấp
một cơ chế truy nhập tạo sự phân tán này trong suốt với người dùng
• Hai thuật ngữ trên có thể được dùng lẫn nhau
• Các giả thiết không tường minh :
– Dữ liệu được lưu ở nhiều site, mỗi site bao gồm về mặt logic 1 bộ xử lý đơn – Các bộ xử lý trên các site khác nhau được nối kết với nhau qua mạng máy tính ( không tính đến đa xử lý , hệ thống xử lý song song)
– Csdl phân tán là csdl không phải tập hợp các file Vị trí và truy vấn dữ liệu được tương tác bởi các mẫu người dùng.
– Hệ qtcsdl phân tán là tập hợp các hệ qtcsdl phân tán(không file hệ thống file điều khiển từ xa).
Trang 25Định nghĩa csdl phân tán và hệ
qtcsd phân tán
Trang 26Ví dụ 1 cơ sở dữ liệu
• CSDL gồm 3 quan hệ Dự án, Nhân viên và Công việc được
phân chia và lưu trên các site khác nhau (phân mảnh)
Trang 27Không phải csdl phân tán
Chia xẻ bộ nhớ Chia xẻ đĩa
Trang 28Các ứng dụng csdl phân tán
• Công nghiệp, đăc biệt là công nghiệp đa ngành
• Điều khiển và giám sát quân sự
• Hàng không
• Các chuỗi khách sạn
• Các tổ chức có cấu trúc tổ được phân quyền
Trang 29Triển vọng csdl phân tán
Các hệ thống csdl phân tán có các ưu điểm sau:
• Độ tin cậy cao
• Hiệu năng được nâng cao
• Dễ dàng mở rộng quy mô
• Trong suốt dữ liệu phân tán và nhân bản
Trang 31Triển vọng csdl phân tán
Nâng cao hiệu năng
• Gần như dữ liệu lấy tại điểm sử dụng của nó.
– Giảm nhỏ trễ truy nhập từ xa.
– Yêu cầu hỗ trợ cho việc phân mảnh và nhân bản.
• Vận hành song song
– Song song giữa các truy vấn.
– Song song trong mỗi truy vấn.
• Các truy vấn chỉ đọc và cập nhật ảnh hưởng nhiều đến thiết kế csdl phân tán.
Trang 32Triển vọng csdl phân tán
Dễ dàng mở rộng hệ thống
• Xác định quy mô csdl
• Thúc đẩy công nghệ bộ vi xử lý và trạm
– Mạng các trạm rẻ hơn nhiều máy tính lớn
• Giá truyền thông dữ liệu với giá viễn thông
• Tăng kích thước csdl
Trang 33Triển vọng csdl phân tán
Trong suốt
• Tham chiếu đến sự tách rời ngữ nghĩa mức cao của hệ thống với thực hiện ở mức thấp
• " Giấu " đi việc thực hiện chi tiết đối với người dùng.
• Hệ qtcsdl trong suốt tôt cung cấp hỗ trợ mức cao cho phát triển các ứng dụng phức tạp
Trang 34– Trong suốt tên.
• Trong suốt nhân bản.
• Trong suốt phân mảnh.
• Trong suốt giao dịch.
– Trong suốt tương tranh.
– Trong suốt sự cố
• Trong suốt hiệu năng
Trang 35Triển vọng csdl phân tán
• Trong suốt mạng/phân tán cho phép người dùng
nhận thức csdl phân tán như một thực thể đơn cục bộ
• Người sử dụng tránh được các chi tiết về mạng
• Người sử dụng không cần biết vị trí của hạng mục dữ liệu và lệnh thực hiện sẽ độc lập vị trí dữ liệu và site
nơi đó thực hiện (trong suốt vị trí )
• Một tên duy nhất được cung cấp cho mỗi đối tượng
trong csdl ( Trong suốt tên) Nếu không, người sử
dụng phải nhúng tên vị trí như một phần định danh
Trang 36Triển vọng csdl phân tán
Các cách khác nhau để đảm bảo trong suốt tên:
• Giải pháp 1: Tạo 1 server tên trung tâm
– Mất tính tự trị cục bộ
– Site trung tâm có thể là cổ chai
– Tính sẵn sàng thấp(Khi site trung tâm sự cố)
• Giải pháp 2: Đối tượng tiền tố đầu với các định danh của site tạo ra nó
– ví dụ nhánh được tạo ở site S1 phải có tên S1.BRANCH
– Cần định danh mỗi phân mảnh và các bản sao của nó
– ví dụ, bản sao 2 của phân mảnh 3 của Branch ở site S1 phải được tham chiếu là S1.BRANCH.F3.C2
• Cách tiếp cận khác: dùng bí danh cho môi đối tượng csdl
– Như vậy , S1.BRANCH.F3.C2 phải được biết như branch cục bộ nhờ người dùng ở site S1
– Hệ qtcsdl phân tán có nhiệm vụ ánh xạ bí danh thành đối tượng csdl tương ứng.
Trang 37Triển vọng csdl phân tán
• Trong suốt nhân bản đảm bảo nsd không quan
tâm đến việc quản trị các bản sao của csdl
• Nsd thậm chí không cần biết đến sự tồ tại của
nhân bản và coi như đang làm việc với một bản sao đơn của dữ liệu
• Nhân bản dữ liệu cần cho nhiều nguyên nhân :
Ví dụ tăng hiệu năng cho truy nhập csdl chỉ đọc
Trang 38Triển vọng csdl phân tán
Trong suốt phân mảnh đảm bảo nsd không nhận thức được và
không quan tâm đến sự phân mảnh của dữ liệu
• Nsd không quan tâm đên tìm chiến lược xử lý truy vấn qua phân mảnh hay tạo truy vấn cho phân mảnh
– Việc đánh giá truy vấn được đặc tả qua toàn bộ quan hệ nhưng phải là trên các phân mảnh yêu cầu một chiến lược đánh giá truy vấn tương ứng
• Phân mảnh thực hiện do các nguyên nhân: hiệu năng, tính sẵn
sàng , độ tin cậy
• Hai cách thức phân mảnh:
– Phân mảnh ngang: chia quan hệ thành tập các bộ
– Phân mảnh dọc: chia quan hệ nhờ các cột.
Trang 39Triển vọng csdl phân tán
• Trong suốt giao dịch đảm bảo mọi giao dịch phân tán duy trì
tính toàn vẹn và nhất quán của csdl phân tán và hỗ trợ tương tranh.
• Mỗi giao dịch phân tán được chia thành các giao dịch con( mỗi giao dịch con cho mỗi site có các dữ liệu liên đới) truy nhập tương tranh dữ liệu ở các vị trí khác nhau.
• Hệ qtcsdl phân tán phải đảm bảo tính không phân chia được của giao dịch tổng thể và mỗi giao dịch con.
• Có thể chia hơn nữa thành:
– Trong suốt tương tranh
Trang 40Triển vọng csdl phân tán
• Trong suốt tương tranh đảm bảo các giao dịch phải vận hành độc lập và
nhất quán logic( cho cùng kết quả khi song song và nối tiếp có thứ tự )
• Các nguyên lý cơ bản cũng như ở tập trung nhưng có phức tạp hơn:
– Phải đảm bảo các giao dịch tổng thể và cục bộ không đụng độ nhau.
– Phải đảm bảo tính nhất quán của mọi giao dịch con, giao dịch tổng thể.
• Nhân bản làm cho tương tranh phức tạp hơn
– Nếu một bản sao nhân bản được cập nhật thì việc cập nhật phải lan truyền đến mọi bản sao.
– Tùy chọn 1: Lan truyền sự thay đổi như một phần của giao dịch khởi thủy, làm nó như một thao tác nguyên tử.
– Tùy chọn 2: Hạn chê việc cập nhật chỉ đến các site hiện đang sẵn sàng; Các site còn lại được cập nhật khi chúng sẵn sàng
– Tùy chọn 3: Cho phép cập nhật đến các bản sao không đồng bộ , đôi khi sau cập nhật khởi thủy; giữ trễ việc lấy lại tính nhất quán khoảng từ vài giây đến vài giờ
Trang 41Triển vọng csdl phân tán
• Trong suốt sự cố : Hệ qtcsdl phân tán phải đảm bảo tính nguyên tử và tính bền vững của giao dịch tổng thể ( các giao dịch con hoặc chuyển giao
hoàn toàn hay thoát)
• Như vậy hệ qtcsdl phân tán phải đồng bộ giao dịch để đảm bảo rằng các giao dịch con đã hoàn tất thành công trước khi ghi lệnh COMMIT cho giao dịch tổng thể.
Trang 42Triển vọng csdl phân tán
• Trong suốt hiệu năng: Thực hiện như tại csdl trung tâm
– Hệ qtcsdlpt không nên giảm hiệu năng do kiến trúc phân tán
– Hệ qtcsdlpt xác định chiến lược giá hiệu quả nhất để vận hành truy vấn
• Bộ xử lý truy vấn phân tán(DQP) ánh xạ yêu cầu dữ liệu thành chuỗi các thao tác trên csdl cục bộ
• DQP phải xem xét việc lược đồ phân mảnh, định vị và nhân bản
• DQP quyết định :
– Phân mảnh nào được truy nhập
– Bản sao phân mảnh nào được sử dụng
– Định vị nào được sử dụng
• DQP tạo nên chiến lược được tối ưu nhằm đạt một giá đảm bảo.
• Thông thường giá liên quan đến yêu cầu phân tán bao gồm: giá I/O, CPU,
Trang 43Các yếu tố gây khó khăn
• Tính phức tạp
• Giá thành
• An ninh
• Kiểm tra toàn vẹn khó khăn hơn
• Thiếu đi các chuẩn
• Thiếu đi các kinh nghiệm
Trang 45Mở rộng mô hình 3 mức CSDL tập trung ANSI/SPARK
Mô hình dữ liệu
Sơ đồ quan niệm
Chương trình ứng dụng Chương trình ứng dụng Người sử dụng
Mô hình ngoài: Nội
dung thông tin CSDL với khung nhìn của người sử dụng.
Mô hình dữ liệu (Mô
hình quan niệm ): Cách nhìn dữ liệu tổng quát của người sử dụng.
Mô hình trong: Biểu
MÔ HÌNH THAM CHIẾU CSDL PHÂN TÁN
Trang 46MÔ HÌNH THAM CHIẾU CSDL PHÂN TÁN( )
Trang 47MÔ HÌNH THAM CHIẾU CSDL PHÂN TÁN
• Lược đồ toàn cục: Mô tả tổng thể và thống
nhất tất cả dữ liệu của CSDL phân tán
– Phản ánh tất cả các cấu trúc dữ liệu trong CSDL phân tán như trong môi trường không phân tán.
– Tương thích với việc định nghĩa các ánh xạ tới các mức
– Định nghĩa tập các quan hệ toàn cục.
Trang 48• Lược đồ phân mảnh:
– Các quan hệ con tách biệt nhau theo quan hệ ngữ nghĩa
– Mối quan hệ môt-nhiều
– Phân mảnh ngang, dọc hay kết hợp
– Biểu thức ngôn ngữ quan hệ
MÔ HÌNH THAM CHIẾU CSDL PHÂN TÁN( )
Trang 49• Lược đồ cấp phát: Những phần logic của các
quan hệ toàn cục được chứa trong một hay
nhiều site trong mạng
site thứ j
– Có thể có các bản sao
Trang 51• Lược đồ ánh xạ cục bộ: Ánh xạ mô hình vật
lý thành các đối tượng được thao tác bởi các
hệ quản trị cục bộ Các yếu tố:
– Phân mảnh và phân phát dữ liệu
– Quản lý dư thừa dữ liệu
– Sự độc lập của các hệ quản trị CSDL cbo
MÔ HÌNH THAM CHIẾU CSDL PHÂN TÁN( )
Trang 52NHỮNG VẤN ĐỀ KỸ THUẬT ĐƯỢC NGHIÊN CỨU
• Thiết kế csdl phân tán
– Phân mảnh csdl như thế nào ?
– Dữ liệu được phân chia với dữ liệu được nhân bản?
• Xử lý truy vấn phân tán
– Thiết kế các giải thuật phân tích các truy vấn và biến đổi chúng thành chuỗi các thao tác vận dụng dữ liệu
– Việc phân tán dữ liệu, giá truyền thông phải được xem xét
– Tìm kế hoạch truy vấn tối ưu
• Quản trị thư mục phân tán
– Đồng bộ việc truy nhập tương tranh đảm bảo tinh nhất quán csdl được duy trì
– Toàn vẹn nhiều bản sao của csdl được xem xét (nhất quán tương hỗ)