Cơ sở dữ liệu phân tán là gì wiki

cơ sở dữ liệu số dựa trên mô hình quan hệ dữ liệu / From Wikipedia, the free encyclopedia

Cơ sở dữ liệu quan hệ (tiếng Anh: relational database) là một cơ sở dữ liệu (phổ biến nhất là kỹ thuật số) dựa trên mô hình quan hệ dữ liệu, theo đề xuất của Edgar F. Codd vào năm 1970. Một hệ thống phần mềm sử dụng để duy trì cơ sở dữ liệu quan hệ là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS). Nhiều hệ thống cơ sở dữ liệu quan hệ có tùy chọn sử dụng SQL (Ngôn ngữ truy vấn có cấu trúc) tiêu chuẩn để truy vấn và duy trì cơ sở dữ liệu.

Oops something went wrong:

1 Tính thuần nhất và không thuần nhất Tính thuần nhất của một CSDL phân tán thể hiện ở các tính chất cơ bản: (i) Các CSDL cục bộ đều có cùng mô hình CSDL và có cùng cấu trúc dữ liệu. (ii) Các CSDL cục bộ được quản trị bởi cùng một hệ quản trị CSDL. 1. CSDL phân tán thuần nhất (Homogeneous DDB)

  • Đảm bảo “Tính thuần nhất của một CSDL phân tán”
  • Thường là kết quả của một cách thiết kế “từ trên xuống”

Hệ quản trị CSDL phân tán (Distributed Database Management System- DBMS) được định nghĩa là một hệ thống phần mềm cho phép quản lý các hệ CSDL (tạo lập và điều khiển các truy nhập cho các hệ CSDL phân tán) và làm cho việc phân tán trở nên trong suốt với người sử dụng. Các thành phần Hệ QT CSDL phân tán:  Quản trị dữ liệu (Database management): DB  Truyền thông dữ liệu (Data Communication): DC  Từ điển dữ liệu (Data Dictionary): DD dùng để mô tả thông tin về sự phân tán của dữ liệu trên mạng.  Cơ sở dữ liệu phân tán (Distributed Database): DDB

2 Kiến trúc CSDL phân tán 2. Kiến trúc cơ bản của CSDL phân tán

  • Sơ đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán. Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của các tập quan hệ tổng thể.
  • Sơ đồ phân đoạn: Mỗi quan hệ tổng thể có thể chia thành một vài phần không gối lên nhau được gọi là đoạn (fragments). Có nhiều cách khác nhau để thực hiện việc phân chia này. Ánh xạ (một - nhiều) giữa sơ đồ tổng thể và các đoạn được định nghĩa trong sơ đồ phân đoạn.
  • Sơ đồ định vị: Các đoạn là các phần logic của quan hệ tổng thể được định vị vật lý trên một hoặc nhiều vị trí trên mạng. Sơ đồ định vị định nghĩa đoạn nào định vị tại các vị trí nào. Lưu ý rằng kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định CSDL phân tán là dư thừa hay không.
  • Sơ đồ ánh xạ địa phương: ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại một trạm (tất cả các đoạn của một quan hệ tổng thể trên cùng một vị trí tạo ra một ảnh vật lý)
  • Kiến trúc của một Hệ CSDL phân tán  Kiến trúc thường dung của 1 CSDL tập trung

Với CSDL tập trung thì kiến trúc cỉa nó sẽ 3 mức : - Mức khung nhìn: Gồm các lược đồ ngoài, mỗi lược đồ ngoài mô tả chỉ một phần của CSDL, thích hợp với một nhóm người sử dụng nhất định. Mỗi người sử dụng có thể không quan tâm đến toàn bộ CSDL mà chỉ cần một phần thông tin nào đó. - Mức logic: Gồm các lược đồ khái niệm, các lược đồ này mô tả những dữ liệu nào được lưu trữ trong CSDL, mối quan hệ giữa chúng. Chẳng hạn lược đồ khái niệm chỉ quan tâm đến các quan hệ được lưu trữ trong CSDL và các mối liên hệ giữa chúng chứ không quan tâm đến cách thức lưu trữ các quan hệ này. - Mức vật lý: Gồm các lược đồ trong, các lược đồ này mô tả dữ liệu được lưu trữ như thế nào trong bộ nhớ thứ cấp. Mức này phản ánh cấu trúc dữ liệu, cách tổ chức tệp, các kỹ thuật nén dữ liệu, cấp phát vùng nhớ... - 2. Kiến trúc lược đồ của CSDL phân tán

Phương thức lai 3 Tập trung dữ liệu: Tất cả các dữ liệu được tập trung một chổ. Nhược điểm: - Dữ liệu không sẵn sàng cho 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 bị sự cố 3 Chia nhỏ dữ liệu: - Cơ sở dữ liệu được chia thành các phần nhỏ liên kết nhau (không trùng lặp). - Mỗi phần dữ liệu được đưa đến các trạm một cách thích hợp để sử dụng. 3 Sao lặp dữ liệu: - CSDL được nhân thành nhiều bản từng phần hoặc đầy đủ và được đặt ở nhiều trạm trên mạng. - Nếu bản sao của CSDL được lưu giữ tại mọi trạm của hệ thống ta có trường hợp sao lặp đầy đủ. - Hiện nay có nhiều kỹ thuật mới cho phép tạo bản sao không đầy đủ phù hợp với yêu cầu dữ liệu ở mỗi trạm và một bản đầy đủ được qiuản lý ở server. - Sau một khoảng thời gian nhất định các bản sao được làm đồng bộ với bản chính bằng một ứng dụng nào đó. 3 Phương thức lai: - Cơ sở dữ liệu được phân thành nhiều phần: quan trọng và không quan trọng. - Phần ít quan trọng được lưu giữ một nơi - Phần quan trọng được lưu trữ ở nhiều nơi khác.

  1. Phân mãnh dữ liệu Phân mảnh quan hệ là gì? Việc chia một quan hệ thành nhiều quan hệ nhỏ hơn được gọi là phân mảnh quan hệ.

3 Các lý do phân mảnh

Khung nhìn hoặc đơn vị truy xuất của các ứng dụng Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời. Việc phân mảnh các quan hệ sẽ cho phép thực hiện song song một câu vấn tin bằng cách chia nó ra thành một tập các câu vấn tin con hoạt tác trên các mảnh. Nếu các ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho trước nằm tại những vị trí khác thì có hai cách chọn lựa đơn vị phân tán:

  • hoặc là toàn bộ quan hệ
  • hoặc quan hệ được lưu ở một vị trí có chạy ứng dụng.

Khuyết điểm của việc phân mảnh:  Nếu một khung nhìn đòi hỏi thông tin ở nhiều mảnh thì việc truy xuất dữ liệu để nối lại sẽ có chi phí cao.  Liên quan đến tính toàn vẹn dữ liệu 3. Các kiểu phân mảnh

  1. Các quy tắc phân mảnh Có 3 quy tắc  Tính đầy đủ (completeness)  Tính tái thiết được (reconstruction):  Tính tách biệt (disjointness) Tính đầy đủ (completeness): Nếu một quan hệ R được phân rã thành các mảnh R 1 , R 2 , ..., 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 đó. Tính tái thiết được (reconstruction): Nếu một quan hệ R được phân rã thành các mảnh R 1 , R 2 ,... , Rn thì cần định nghĩa một phép toán quan hệ sao cho: R = ∇ Ri , i ∈ [1,n] Tính tách biệt (disjointness): Nếu một quan hệ R được phân rã thành các mảnh R 1 , R 2 ,... ,Rn và mục dữ liệu di nằm trong mảnh Rj thì nó sẽ không nằm trong một mảnh Rk khác (k ≠ j) " i ¹ k và i , k Î [1,n]: Ri Ç Rk = Æ.
  2. Các phương pháp phân mảnh 3. Phân mảnh ngang Phân mảnh ngang một quan hệ tổng thể n-bộ R là tách R thành các quan hệ con n-bộ R 1 , R 2 , ..., Rk sao cho quan hệ R có thể được khôi phục lại từ các quan hệ con này bằng phép hợp: R = R 1 È R 2 È ... È Rk Các loại phân mảnh ngang

Có ba ki u phân m nh:ể ả

Phân m nh ngangả Phân m nh hỗỗn hả ợp

Phân

m nhả

 Đảm bảo các điều kiện phân mảnh Các bước thiết kế Bước 1. Tìm tập các vị từ - chú ý các vị từ phải thỏa mãn tính đầy đủ và cực tiểu.  Dùng thuật toán COM_MIN Thuật toán COM_MIN: Cho phép tìm tập các vị từ đầy đủ và cực tiểu Pr’ từ Pr. Chúng ta tạm quy ước: Quy tắc 1: Q uy tắc cơ bản về tính đầy đủ và cực tiểu , nó khẳng định rằng một quan hệ hoặc một mảnh được phân hoạch “thành ít nhất hai phần và chúng được truy xuất khác nhau bởi ít nhất một ứng dụng ” Thuật toán COM-MIN

● Thuật toán bắt dầu bằng cách tìm một vị từ có liên đới và phân hoạch quan hệ đã cho.

Hai mảnh Nhân viên 1 và Nhân viên 2 được định nghĩa như sau: NV 1 =NHANVIEN |>< CHITRA 1 NV 2 =NHANVIEN |>< CHITRA 2 Trong đó CT 1 =Lương 30000 (CHITRA) CT 2 =Lương>30000(CHITRA)

Kết quả phân mảnh ngang dẫn xuất của quan hệ NHANVIEN như sau:

CT2=

L ương>

(CHITR

A)

CT1=

ơ ng 30000(

CHITRA)

Chú ý Muốn thực hiện phân mảnh ngang dẫn xuất, chúng ta cần ba nguyên liệu (input):

  1. Tập các phân hoạch của quan hệ chủ nhân (Thí dụ: CT1, CT2).
  2. Quan hệ thành viên
  3. Tập các vị từ nối nửa giữa chủ nhân và thành viên (Chẳng hạn CT = NV). Quyết định chọn cách phân mảnh nào cần dựa trên hai tiêu chuẩn sau:
    1. Phân mảnh có đặc tính nối tốt hơn
    2. Phân mảnh được sử dụng trong nhiều ứng dụng hơn.
  4. Phân mảnh dọc Phân mảnh dọc: một quan hệ tổng thể n-bộ R là tách R thành các quan hệ con R 1 , R 2 , ..., Rk sao cho quan hệ R có thể được khôi phục lại từ các quan hệ con này bằng phép nối: R = R 1 ⋈ R 2 ⋈ ..., ⋈ Rk Cách xác định một mảnh: Dùng phép chiếu (∏) Các loại phân mảnh dọc Phân mảnh dọc gom tụ dư thừa: Attr(R 1 ) Ç Attr(R 2 ) Ç ... Ç Attr(Rn) = K È X

R = R 1 >< R1 = R2 Π Attr(R2)-X(R 2 ) Phân mảnh dọc gom tụ không dư thừa: Attr(R 1 ) Ç Attr(R 2 ) Ç ... Ç Attr(Rn) = K

DUAN 2

DUAN 1 ⊆ DUAN

DUAN 2 ⊆ DUAN

DUAN = DUAN 1 ⋈ DUAN 4

  1. Phân mảnh hỗn hợp Phân mảnh hỗn hợp: là cách áp dụng các phép phân mảnh ngang, dọc một cách đệ quy sao cho sao cho mỗi lần thực hiện phân mảnh phải thoả mãn các điều kiện đúng đắn. Phân mảnh dọc trước, ngang sau:

Phân mảnh ngang trước, dọc sau:

Cách xác định một mảnh: dùng phép chiếu ∏ , chọn 

Điều kiện đúng đắn để phân mảnh hỗn hợp: Điều kiện đầy đủ: Luôn được thỏa mãn Điều kiện tái tạo: Áp dụng các quy tắc theo thứ tự ngược lại Điều kiện tách biệt: Tùy từng trường hợp Ví dụ:

xét phép toán đại số quan hệ: DUAN 3 =  NGANSACH ≤ 200000 ∏$1,$3(DUAN)

DUAN 4 =  NGANSACH > 200000 ∏$1,$2(DUAN)

Chú ý Quyết định chọn cách phân mảnh nào cần dựa trên hai tiêu chuẩn sau: 1. Phân mảnh có đặc tính nối tốt hơn 2. Phân mảnh được sử dụng trong nhiều ứng dụng hơn.

4, Xử lý và tối ưu truy vấn trong CSDL phân tán 4. Tối ưu hóa truy vấn trong CSDL phân tán Tối ưu hoá trong cơ sở dữ liệu phân tán nghĩa là giảm chi phí bộ nhớ trung gian, giảm thời gian truy vấn cũng như giảm thời gian truyền dữ liệu trong các truy vấn phân tán. Cho một CSDL QLSV với các nội dung sau Sinhvien (masv, hoten, tuoi, malop) Lop(malop, tenlop, malt, tenkhoa) Monhoc(mamh, tenmh) Hoc(masv, mamh, Diem) 4 Truy vấn; Biểu thức chuẩn tắc của truy vấn 4 Truy vấn

  1. Tối ưu hóa truy vấn trong CSDL tập trung Tối ưu hoá trong cơ sở dữ liệu tập trung gồm các bước sau: Bước 1- Kiểm tra ngữ pháp Bước 2- Kiểm tra sự hợp lệ Bước 3- Dịch truy vấn Bước 4- Tối ưu hóa biểu thức đại số quan hệ Bước 5- Chọn lựa chiến lược truy xuất Bước 6-Tạo sinh mã
  2. Tối ưu hóa truy vấn trong CSDL phân tán Tối ưu hoá truy vấn trong cơ sở dữ liệu phân tán bao gồm một số bước đầu của tối ưu hóa truy vấn trong cơ sở dữ liệu tập trung và một số bước tối ưu hóa có liên quan đến sự phân tán dữ liệu. Gồm các bước sau: Bước 1: Phân rã truy vấn Bước 2: Định vị dữ liệu Bước 3: Tối ưu hóa truy vấn toàn cục Bước 4: Tối ưu hóa truy vấn cục bộ
  3. Bước 1 - Phân rã truy vấn Để biến đổi một truy vấn viết bằng ngôn ngữ cấp cao, chẳng hạn SQL, thành một biểu thức đại số quan hệ tuơng đương:
  4. Theo nghĩa chúng cho ra cùng một kết quả và
  5. Hiệu quả (theo nghĩa loại bỏ các phép toán đại số quan hệ không cần thiết, giảm vùng nhớ trung gian). Tối ưu hóa truy vấn trên lược đồ toàn cục bao gồm 4 bước sau: 4.3 Phân tích truy vấn DBMS kiểm tra ngữ pháp của truy vấn, kiểm tra sự tồn tại của các đối tượng dữ liệu (tên cột, tên bảng, vv...) của truy vấn trong cơ sở dữ liệu, phát hiện các phép toán trong truy vấn bị sai về kiểu dữ liệu, điều kiện của mệnh đề WHERE có thể bị sai về ngữ nghĩa. Phân tích điều kiện của mệnh đề WHERE để phát hiện truy vấn bị sai. Có hai loại sai:
  6. Sai về kiểu dữ liệu (type incorrect)
  7. Sai về ngữ nghĩa (semantically incorrect) Truy vấn bị sai về kiểu dữ liệu

Một truy vấn bị sai về kiểu dữ liệu nếu các thuộc tính của nó hoặc các tên quan hệ không được định nghĩa trong lược đồ qoàn cục, hoặc nếu các phép toán được áp dụng cho các thộc tính bị sai về kiểu dữ liệu. Để giải quyết cho vấn đề này, trong lược đồ toàn cục chúng ta phải mô tả kiểu dữ liệu của các thuộc tính của các quan hệ. Ví dụ: Truy vấn bị sai về kiểu dữ liệu Xét truy vấn sau: SELECT mssv, hoten FROM sinhvien WHERE masv= Truy vấn trên có 2 lỗi sai: (1) mssv không tồn tại trong quan hệ sinhvien, và (2) masv thuộc kiểu chuỗi không thể so sánh với hằng số 123 Truy vấn bị sai về ngữ nghĩa Một truy vấn bị sai về ngữ nghĩa nếu nó có chứa các thành phần không tham gia vào quá trình tạo ra kết quả của truy vấn. Để phát hiện một truy vấn bị sai về ngữ nghĩa, chúng ta dùng một đồ thị truy vấn (query graph) hoặc đồ thị kết nối quan hệ (relation connection graph) cho các truy vấn có chứa các phép chọn, phép chiếu và phép kết. Ví dụ: Truy vấn bị sai về ngữ nghĩa Xét truy vấn sau: SELECT hoten, diem FROM sinhvien, hoc, monhoc WHERE sinhvien=hoc AND hoc=monhoc AND malop=’MT’ AND diem > 5 AND tenmh = ‘Tin hoc’; Ví dụ: Truy vấn bị sai về ngữ nghĩa

Cơ sở dữ liệu phân tán là gì?

CSDL phân tán là một tập hợp dữ liệu có liên quan (về mặt logic) được dùng chung và phân tán về mặt vật lí trên một mạng máy tính. Một hệ QTCSDL phân tán là một hệ thống phần mềm cho phép quản trị CSDL phân tán và làm cho người dùng không nhận thấy sự phân tán.

Ví dụ cơ sở dữ liệu là gì?

Cơ sở dữ liệu là một bộ sưu tập dữ liệu có hệ thống, được lưu trữ bằng điện tử. Nó có thể chứa bất kỳ loại dữ liệu nào, bao gồm từ, số, hình ảnh, video và tệp. Bạn có thể sử dụng phần mềm được gọi là hệ thống quản lý cơ sở dữ liệu (DBMS) để lưu trữ, truy xuất và chỉnh sửa dữ liệu.

Các hệ quản trị cơ sở dữ liệu là gì?

Hệ quản trị cơ sở dữ liệu (Database Management System) có thể hiểu là hệ thống được thiết kế để quản lí một khối lượng dữ liệu nhất định một cách tự động và có trật tự. Các hành động quản lý này bao gồm chỉnh sửa, xóa, lưu thông tin và tìm kiếm (truy xuất thông tin) trong một nhóm dữ liệu nhất định.

Khái niệm cơ sở dữ liệu quan hệ là gì?

Cơ sở dữ liệu quan hệ (tiếng Anh: relational database) là một cơ sở dữ liệu (phổ biến nhất là kỹ thuật số) dựa trên mô hình quan hệ dữ liệu, theo đề xuất của Edgar F. Codd vào năm 1970. Một hệ thống phần mềm sử dụng để duy trì cơ sở dữ liệu quan hệ là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS).