csdl pt
tai sao phai phan manh
lam the nao de thuc hien pm
Tập trung dữ liệu
tất cả các dữ liệu được tập trung một chỗ.
có 3 nhược điểm
dữ liệu k sẵn sàng cho người sử dụng truy nhập từ xa
chi phí truyền thông lớn, thường làm cực đại việc truy nhập dữ liệu tới nơi tập trung
toàn bộ hệ thống ngừng khi cơ sở dữ liệu bi sự cố
Chia nhỏ dữ liệu
csdl đc chia thành các phần nhỏ liên kết nhau(k trùng lặp)
mỗi phần dữ liệu đc đưa đến các trạm 1 cách thích hợp để sử dụng
{
Tổ hợp phép chọn xác định với phép tích Descartes thành phép kết nối:
phép kết nối, đặc biệt là phép kết nối bằng có chi phí thực hiện thấp hơn
so với phép tích Descartes trên cùng hai quan hệ. Nếu kết quả của tích
Descartes RxS là đối số của phép chọn, và phép chọn lại có liên quan đến
phép so sánh giữa các thuộc tính của R và S thì ta đưa về phép kết nối để
giảm chi phí.
vd dai so quan he
SELECT TENNV
FROM NHANVIEN, PHANCONG
WHERE NHANVIEN.MSNV=PHANCONG.MSNV
AND PHANCONG.MSDA=”P1”
AND TGIAN=12 OR TGIAN=24
Viết dưới dạng chuẩn hội:
NHANVIEN.MSNV=PHANCONG.MSNV ^ PHANCONG.MSDA=”P1” ^
(TGIAN =12 V TGIAN=24)
}
PHÂN MẢNH DỮ LIỆU
Nhắc lại các phép toán đại số quan hệ và ngôn ngữ SQL
Tại sao cần phải phân mảnh?
Làm thế nào để thực hiện phân mảnh?
Trong suốt phân mảnh. Việc truy cập tới dữ liệu thường được xác định trên
các quan hệ con được gọi
là các mảnh (fragment). Việc phân mảnh (ngang, dọc, hỗn hợp) làm tăng
hiệu năng, tính sẵn sàng, độ tin cậy của CSDL PT. Trong suốt phân mảnh
che dấu sự phân đoạn đối với người dùng.
Định nghĩa về csdl phân tán
1 cơ sở dữ liệu được nói là phân tán nếu các bảng của nó được lưu trữ ở các nơi khác nhau, một hoặc nhiều bảng của nó được sao chép và các bản sao chép của chúng được lưu trữ ở các nơi khác nhau; một hoặc nhiều các bảng của nó được phân mảnh và các phân mảnh được lưu trữ ở các nơi khác nhau,… Bình thường, một cơ sở dữ liệu được phân tán nếu không phải tất cả các dữ liệu của nó được định vị ở một nơi.
Tại sao nên phân mảnh dữ liệu?
Cho phép thực hiện nhiều giao dịch đồng thời.
Cho phép thực hiện song song một câu truy vấn tin bằng cách chia nó thành một tập các truy vấn con hoạt tác trên các mảnh.
Sự phân mảnh dữ liệu
Cách đơn giản nhất để phân mảnh dữ liệu là lưu trữ các bảng độc lập tại những nơi khác nhau. Nếu các giao tác khác nhau truy xuất đến các phần khác nhau của bảng và cả ở những nơi khác nhau, việc thực thi này có thể được cải thiện bằng cách lưu các phần của bảng tại nơi nào giao tác tương ứng sẽ truy xuất. . Theo hướng tiếp cận này các phần của bảng trên được gọi là mảnh phân tán.
Việc phân tán các mảnh dữ liệu của bảng mang lại nhiều thuận lợi. Ví dụ, thời gian để xử lý một truy vấn trên toàn bộ bảng có thể giảm bớt khi dùng kỹ thuật phân tán, lúc này câu truy vấn sẽ được thực thi trên từng mảng dữ liệu đặt những nơi khác nhau.
(Một giao tác (transaction) là một chuỗi một hoặc nhiều câu lệnh SQL được kết hợp lại với nhau thành một khối công việc.)
2 loại pm ngang pb nhau bởi các vị từ
vd(
Dưới đây là một số vị từ đơn giản có thể định nghĩa được .
p1: chức vụ=" Kỹ sư điện"
p2: chức vụ =" Phân tích hệ thống "
p5 : Lương ≤ 3 0000
p6: Lương > 30000
:
Phân mảnh ngang chia một quan hệ r theo các bộ, vì vậy mỗi mảnh là một
tập con các bộ t của quan hệ r.
Phân mảnh nguyên thuỷ (primary horizontal fragmentation) của một quan
hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ đó.
Ngược lại phân mảnh ngang dẫn xuất (derived horizontal fragmentation ) là
phân mảnh một quan hệ dựa vào các vị từ được định trên một quan hệ khác.
Như vậy trong phân mảnh ngang tập các vị từ đóng vai trò quan trọng.
vd
Pr={Địa điểm "Montreal", Địa điểm="New York", Địa
điểm="Paris", Ngân sách ≤ 200000 } thì Pr không đầy đủ vì có một số bộ của
DA không được truy xuất bởi vị từ Ngân sách ≥ 200000.
Vì thế chúng ta sẽ dùng một tập hợp gồm các vị từ đầy đủ làm cơ sở của
phân mảnh ngang nguyên thủy.
MỘT SỐ YÊU CẦU PHÂN MẢNH NGANG:
TÍNH ĐẦY ĐỦ
TÍNH TÁI THIẾT LẠI
TÍNH TÁCH BIỆT
MỘT SỐ YÊU CẦU VỚI PHÂN MẢNH DỌC:
-TÍNH ĐẦY ĐỦ
-TÍNH TÁI THIỆT LẠI
-CHIA SẺ KHÓA CHÍNH
{
a.Tính đầy đủ: Nếu một quan hệ R được phân rã thành các mảnh R1, R2, ..., Rk thì mỗi mục dữ liệu có trong R phải có trong ít nhất một mảnh Ri nào đó.
b. Tính tái thiết được:
Nếu một quan hệ R được phân rã thành các mảnh R1, R2, ..., Rk thì phải tồn tại một toán tử sao cho R = (Ri), i.
Toán tử thay đổi tùy theo từng loại phân mảnh.
Trong thực tế khi các mảnh được phân mảnh ngang thì là phép hợp, phân mảnh dọc thì là phép nối và phân mảnh hỗn hợp thì là phép nửa nối .
c. Tính tách biệt:
Nếu một quan hệ R được phân mảnh ngang thành các quan hệ R1, R2, ..., Rk và mục dữ liệu ti nằm trong mảnh Ri thì nó sẽ không nằm trong một mảnh Rk, ki.
Tiêu chuẩn này bảo đảm các mảnh ngang phải được tách rời nhau.
Nếu quan hệ được phân mảnh dọc thì thuộc tính chung phải được lặp lại trong mỗi mảnh. Do đó, trong trường hợp phân mảnh dọc tính tách biệt chỉ được định nghĩa trên các trường không phải là thuộc tính chung của quan hệ.
Tính nhất quán trong cơ sở dữ liệu
• Lưu trữ dữ liệu thống nhất
• Tránh được tình trạng trùng lặp thông tin
• Có cơ chế điều khiển truy xuất dữ liệu hợp lý
• Tránh được việc tranh chấp dữ liệu
• Bảo đảm dữ liệu luôn đúng tại mọi thời điểm
}
pmngang chinh
Create table MPLS_EMPS as
Select *
From EMP
Where Loc = ‘Minneapolis’;
Create table LA_EMPS as
Select *
From EMP
Where Loc = ‘LA’;
-> toan cuc
Select * from MPLS_EMPS
Union
Select * from LA_EMPS)
Union
Select * from NY_EMPS;
pmngang dan xuat
Create table 1_EMPS as
Select *
From EMP
Where Sal <40000;
Create table 2_EMPS as
Select *
From EMP
Where Sal >40000;
->toan cuc
Select * from 1_EMPS
inner join
Select * from 2_EMPS
pm doc
Create table EMP_SAL as
Select EmpID, Sal
From EMP;
Go
Create table EMP_NON_SAL as
Select EmpID, Name, Loc, DOB, Dept
From EMP;
->toan cuc
Select EMP_SAL.EmpID, Sal, Name, Loc, DOB, Dept
From EMP_SAL, EMP_NON_SAL
Where EMP_SAL.EmpID = EMP_NON_SAL.EmpID;
Sự phân mảnh lai dùng một sự kết họp giữa ngang và dọc sự phân mảnh để sinh ra các phân mảnh chúng ta cần.
VD
pm doc
use test01
Create view hs_1
as
Select hoten, diachi
From hocsinh;
Go
Create view hs_2
as
Select hoten,ngaysinh, lop
From hocsinh;
//toan cuc
select hs_1.hoten,hs_1.diachi,hs_2.ngaysinh,hs_2.lop
from hs_1,hs_2
where hs_1.hoten=hs_2.hoten
//-> du thua giua cac bang
// yeu cau
Mô hình hđ cua csdl pt
tại mỗi nơi có tính độc lập, tính nhất quán
thông thường sử dụng phép toán đại số quan hệ
đối với mỗi nơi đều có pt quản trị riêng
dữ liệu có thê p/hoạch 2 cách chính pm ngang doc
p/m dl:
pm tiết kiệm đường truyền, tận dụng tài nguyên csdl pt
thích hợp với việc thực hiện các phép toán đại số
mỗi cách phân hoạch tương ứng với 1 dạng bài toán khác nhau
pm ngang: tác động trên từng vùng
p.m dọc các dữ liệu có tác động tất cả
-pm hỗn hợp
-> y/cau' bai toán mà xác định dạng phân mảnh nào
dựa trên sơ đồ vật lý của hệ dữ liệu phân tán
----------------- het -----------------------
Bạn đang đọc truyện trên: Truyen247.Pro