Dữ liệu được lưu trữ tại nhiều nơi khác nhau của mạng máy tính và chương trình ứng dụng có nhu cầu được truy xuất tại nhiều nơi, do vậy công nghệ hệ thống cơ sở dữ liệu phân tán là một t
Trang 1THIÕT KÕ C¬ Së D÷ LIÖU PH©N T¸N THUÇN NHÊT
LUËN V¡N TH¹C SÜ khoa häc
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HOÀNG THỊ LIÊN CHI
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THUẦN NHẤT SỬ
Chuyên ngành : CÔNG NGHỆ THÔNG TIN
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC :
PGS TS NGUYỄN THỊ KIM ANH
Hµ Néi – Năm 2009
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC KÝ HIỆU CHỮ VIẾT TẮT 3
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 4
PHẦN MỞ ĐẦU 5
Chương 1.TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 8
1.1 Khái niệm cơ sở dữ liệu phân tán 8
1.1.1 Định nghĩa cơ sở dữ liệu phân tán 8
1.1.2 Hệ quản trị cơ sở dữ liệu phân tán (Distribute DBMS) 10
1.1.3 Mô hình kiến trúc của hệ quản trị cơ sở dữ liệu phân tán 12
1.2 Các đặc điểm của cơ sở dữ liệu phân tán so với cơ sở dữ liệu tập trung15 1.2.1 Điều khiển tập trung 15
1.2.2 Độc lập dữ liệu 16
1.2.3 Giảm dư thừa 16
1.2.4 Các lợi ích của cơ sở dữ liệu phân tán 16
1.3 Kiến trúc tham khảo dùng cho các cơ sở dữ liệu phân tán 19
1.4 Các loại phân đoạn dữ liệu 23
1.4.1 Phân đoạn ngang dẫn xuất 24
1.4.2 Phân đoạn dọc 25
1.4.3 Phân đoạn hổn hợp 26
1.5 Tổng kết chương 1: 26
Chương 2.THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THUẦN NHẤT 27
2.1 Giới thiệu 27
2.2 Các phương pháp tiếp cận: 28
2.2.1 Phương pháp thiết kế từ trên xuống 28
2.2.2 Phương pháp thiết kế từ dưới lên 28
2.3 Thiết kế phân đoạn 29
2.3.1 Thiết kế phân đoạn ngang 29
2.3.2 Thiết kế phân đoạn dọc 35
2.3.3 Thiết kế phân đoạn hổn hợp 42
2.4 Thiết kế định vị 43
2.4.1 Đặt vấn đề về bài toán định vị 43
2.5 Tổng kết chương 2 48
Chương 3.CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU 49
3.1 Tổng quan về phát hiện tri thức và khai phá dữ liệu 49
3.1.1 Phát hiện tri thức 49
3.1.2 Quá trình phát hiện tri thức 50
Trang 43.1.3 Khai phá dữ liệu 51
3.2 Luật kết hợp và thuật toán Apriori 53
3.2.1 Tập mục phổ biến 53
3.2.2 Luật kết hợp 54
3.2.3 Bài toán tìm luật kết hợp 56
3.2.4 Thuật toán Apriori 57
3.2.5 Thuật toán sinh luật kết hợp 62
3.2.6 Thuật toán sinh luật 63
3.3 Phân cụm dữ liệu 64
3.3.1 Khái niệm 64
3.3.2 Đo độ tương tự 65
3.3.3 Các giải thuật phân cụm 65
3.4 Tổng kết chương 3: 68
Chương 4.ỨNG DỤNG CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THUẦN NHẤT 69
4.1 Giới thiệu 69
4.2 Thiết kế phân đoạn dọc với kỹ thuật ứng dụng luật kết hợp 70
4.2.1 Phương pháp phân đoạn dọc dựa trên luật kết hợp 70
4.2.2 Giải thuật phân đoạn 73
4.3 Thiết kế phân đoạn ngang dựa trên kỹ thuật phân cụm dữ liệu 79
4.3.1 Giới thiệu 79
4.3.2 Phương pháp phân đoạn ngang dựa trên kỹ thuật phân cụm 81
KẾT LUẬN 92
TÀI LIỆU THAM KHẢO 94
Trang 5DANH MỤC CÁC KÝ HIỆU CHỮ VIẾT TẮT
CSDL - DB - Database : Cơ sở dữ liệu
HQTCSDL - DBMS - Database Managerment System: Hệ quản trị cơ sở dữ liệuDDBMS - Distribute Database Managerment System: Hệ quản trị cơ sở dữ liệu phân tán
LIS - Local Internal Schema
GCS - Global Conceptual Schema
LCS - Local Conceptual Schema
KPDL - Datamining - Khai phá dữ liệu
CA – Clustered Afinity matrix - ma trận tương quan gom tụ
KDD - Knowledge Discovery and Data Mining – Phát hiện tri thức và khai phá
dữ liệu
Trang 6DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 Hệ cơ sở dữ liệu tập trung trong môi trường mạng 9
Hình 1.2 Môi trường hệ cơ sở dữ liệu phân tán 9
Hình 1.3 Các thành phần của DDBMS 11
Hình 1.4 Kiến trúc Client/Server 13
Hình 1.5 Kiến trúc Peer to Peer 14
Hình 1.6 Một kiến trúc tham khảo dùng cho cơ sở dữ liệu phân tán 20
Hình 1.7 Các đoạn và hình ảnh vật lý của một quan hệ toàn cục 21
Hình 2.2 Biễu diễn các mối liên kết giữa các quan hệ 30
Hình 2.3 Ví dụ lược đồ toàn cục trong phân đoạn ngang 32
Hình 2.4 Ma trận sử dụng thuộc tính 38
Hình 2.5 Ma trận tương quan thuộc tính 40
Hình 2.6 Tính toán ma trận tương quan gom tụ (CA) 42
Hình 3.1 Quá trình phát hiện tri thức 50
Hình 3.2 Các giai đoạn gom cụm 65
Hình 4.1 Phát hiện tập mục phổ biến, chọn lọc tập mục 78
Trang 7PHẦN MỞ ĐẦU
Hiện nay công nghệ truyền thông và mạng Internet ngày càng được phát triển mạnh mẽ và có nhiều ứng dụng chạy trên các mạng cục bộ và mạng diện rộng Dữ liệu được lưu trữ tại nhiều nơi khác nhau của mạng máy tính và chương trình ứng dụng có nhu cầu được truy xuất tại nhiều nơi, do vậy công nghệ hệ thống cơ sở dữ liệu phân tán là một trong những phát triển của lãnh vực cơ sở dữ liệu, hiện đã có các hệ quản trị cơ sở dữ liệu phân tán đã được thương mại hóa như Oracle, Microsoft SQL Server
Vì yêu cầu của công ty, doanh nghiệp, đơn vị kinh doanh về vấn đề tổ chức sao cho kinh doanh có hiệu quả nhất và nắm bắt thông tin nhanh nhất khi các cơ sở của công ty hiện ở những địa điểm xa nhau cho nên xây dựng một hệ thống làm việc trên cơ sở dữ liệu phân tán là phù hợp xu hướng hiện nay và vấn
đề thiết kế CSDL phân tán là giải pháp lựa chọn tự nhiên Lợi điểm về tổ chức và
kỹ thuật của xu hướng phát triển cơ sở dữ liệu phân tán là: giải quyết được những hạn chế của cơ sở dữ liệu tập trung và phù hợp xu hướng phát triển tự nhiên với cơ cấu không tập trung của các tổ chức, công ty doanh nghiệp
Tuy vậy trong thực tế việc thiết kế cơ sở dữ liệu phân tán là vô cùng phức tạp và rất khó vì nhiều vấn đề về tổ chức và về kỹ thuật sẽ khó khăn hơn so với thiết kế cơ sở dữ liệu đặt một nơi Do đó làm thế nào, sử dụng kỹ thuật nào để thiết kế cơ sở dữ liệu phân tán cho tốt là vấn đề đặt ra và cần được quan tâm nghiên cứu
Một cơ sở dữ liệu phân tán muốn tối ưu hóa việc thực hiện các ứng dụng cần phải có phân đoạn dữ liệu và phân phối các đoạn này tại các nơi phân tán để cực tiểu việc truyền dữ liệu Phân đoạn dữ liệu là một trong những hướng nghiên cứu mới của CSDL, là kỹ thuật thiết kế CSDL ở mức logic nhằm giảm bớt những truy xuất không cần thiết đến dữ liệu, cho phép thực hiện song song các truy vấn bằng cách chia nó ra thành tập các truy vấn con tác động lên các đoạn
Trang 8nhằm nâng cao việc thực hiện các ứng dụng Trong mô hình quan hệ có các kiểu phân đoạn: phân đoạn ngang, phân đoạn dọc, phân đoạn hổn hợp Phân đoạn ngang là việc phân chia một quan hệ thành tập các quan hệ con, mỗi quan hệ con chứa các bộ của quan hệ ban đầu Phân đoạn dọc là việc phân chia một quan hệ thành tập các quan hệ con, mỗi quan hệ con được định nghĩa trên tập các thuộc tính của quan hệ ban đầu
Hiện đã có nhiều hướng tiếp cận phân đoạn sử dụng các phương pháp gộp nhóm, phân tách, các phương pháp mang tính heuristic được trình bày trong [6], [17], [27],….Tuy vậy các hướng tiếp cận này khá phức tạp hoặc chủ quan,
có phần phụ thuộc vào trực quan của người thiết kế
Do đó mục tiêu của đề tài luận văn này là tiếp cận, nghiên cứu các kỹ thuật trong khai phá dữ liệu - là một trong những hướng nghiên cứu mới đã và đang được áp dụng rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau - để ứng dụng trong thiết kế xây dựng cơ sở dữ liệu phân tán
Kết quả của đề tài hướng đến việc nghiên cứu các tiếp cận dựa trên việc phát hiện luật kết hợp để phát triển phương pháp phân đoạn dọc, phân chia thuộc tính của các tập thuộc tính trong cơ sở dữ liệu toàn cục, xây dựng được các lược
đồ phân đoạn dữ liệu tại các trạm đặt các cơ sở dữ liệu cục bộ hoặc sử dụng các kết quả có được từ kỹ thuật phân cụm dữ liệu để phát triển phương pháp phân đoạn ngang trong thiết kế phân đoạn của CSDL phân tán
Trên cơ sở nghiên cứu về cơ sở lý thuyết của thiết kế cơ sở dữ liệu phân tán, đề tài này đưa ra nhằm lần lượt nghiên cứu các lĩnh vực sau:
Nghiên cứu các khái niệm về thiết kế cơ sở dữ liệu phân tán như định nghĩa về cơ sở dữ liệu phân tán, giới thiệu kiến trúc hệ phân tán, các đặc điểm của cơ sở dữ liệu phân tán so sánh với hệ cơ sở dữ liệu tập trung, nêu các ích lợi
và một số nhược điểm khi sử dụng hệ cơ sở dữ liệu phân tán, nghiên cứu các
Trang 9phương pháp tiếp cận để thiết kế và bàn luận về thiết kế phân đoạn ngang, phân đoạn dọc, thiết kế định vị tại các trạm.
Đề tài nghiên cứu và giới thiệu các kỹ thuật khai phá dữ liệu như phát hiện luật kết hợp, giới thiệu thuật toán Apriori giải quyết bài toán phát hiện các luật kết hợp có trong cơ sở dữ liệu, giới thiệu các phương pháp gom cụm, đặc biệt giới thuật thuật toán gom cụm k-means để thực hiện phân cụm dữ liệu và cuối cùng là việc ứng dụng kỹ thuật khai phá dữ liệu để thiết kế CSDL phân tán thuần nhất, cụ thể là ứng dụng luật kết hợp với giải thuật Apriori sẽ hổ trợ thiết
kế phân đoạn dọc, và đồng thời đề tài nghiên cứu ứng dụng việc phân cụm dữ liệu để thiết kế phân đoạn ngang nhằm làm tăng hiệu suất của hệ thống CSDL bởi việc phân đoạn sẽ rút gọn được số truy xuất các giao dịch thực hiện trên CSDL, đồng thời đề tài đã tìm hiểu thu thập các cơ sở dữ liệu và ứng dụng thực
tế trên CSDL quản lý doanh nghiệp trong địa bàn TPHCM, quản lý tại Công ty Bảo minh làm số liệu thực nghiệm để trình bày kết quả minh họa demo các thuật toán trong khai phá dữ liệu (Datamining) ứng dụng hổ trợ thiết kế phân đoạn trong thiết kế cơ sở dữ liệu phân tán thuần nhất Với mục tiêu đã nêu trên, luận văn bao gồm 4 chương cụ thể được nêu ra trong từng chương như sau
Trang 10Chương 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1 Khái niệm cơ sở dữ liệu phân tán
Những năm gần đây việc phát triển các mô hình lý thuyết cho hệ cơ sở dữ liệu và phát triển hệ thống ứng dụng có nhiều kinh nghiệm hình thành dựa trên
cơ sở kết nối các máy tính khác nhau, hệ cơ sở dữ liệu phân tán cũng đã phát triển dựa trên cơ sở dữ liệu và mạng máy tính Cơ sở dữ liệu phân tán bao gồm nhiều cơ sở dữ liệu tích hợp lại với nhau thông qua mạng máy tính để trao đổi thông tin dữ liệu Cơ sở dữ liệu được tổ chức và lưu trữ ở những vị trí khác nhau trong mạng máy tính và chương trình ứng dụng làm việc dựa trên cơ sở truy cập
dữ liệu ở những điểm khác nhau đó
Hiện nay khái niệm xử lý phân tán (Distributed processing), tính toánphân tán (Distributed computing) hoặc các thuật ngữ có từ “phân tán” hayđược dùng để chỉ các hệ thống rải rác như các hệ thống máy tính có đa bộ xử lý(multiprocessor system) hay là các xử lý trên mạng máy tính Cơ sở dữ liệuphân tán là một khái niệm không bao gồm các trường hợp xử lý dữ liệu trongcác hệ thống sử dụng bộ nhớ chung, kể cả bộ nhớ trong hay bộ nhớ thứ cấp (đĩa từ), nhất thiết phải là một hệ có sử dụng giao tiếp mạng với các trạm làm việc độc lập
1.1.1 Định nghĩa cơ sở dữ liệu phân tán
Theo các tác giả trong [6],[17]: cơ sở dữ liệu phân tán là tập nhiều cơ sở
dữ liệu nhỏ có quan hệ logic với nhau và được phân tán tại nhiều nơi của một mạng máy tính Tại 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 mộtứng dụng toàn cục, có yêu cầu truy xuất dữ liệu tại nhiều trạm
Định nghĩa này nhấn mạnh ba khía cạnh quan trọng của cơ sở dữ liệu phân tán là:
Trang 11 Sự phân tán: dữ liệu không cư trú trên một vị trí mà được phân tán ở nhiều nơi
Ứng dụng cục bộ: mỗi nơi phải thực hiện ít nhất một ứng dụng cục bộ
Ứng dụng toàn cục: mỗi nơi phải tham gia vào sự thực hiện của ít nhất một ứng dụng toàn cục
Nếu dữ liệu chỉ tập trung tại một trạm (như hình 1.1 dưới đây) thì không được coi là hệ thống cơ sở dữ liệu phân tán
Hình 1.1 Hệ cơ sở dữ liệu tập trung trong môi trường mạng
Hình 1.2 Môi trường hệ cơ sở dữ liệu phân tán
Trang 12Tổng Công ty Bảo minh (Bảo hiểm TPHCM) có các công ty thành viên (chi nhánh) đặt tại các vị trí khác nhau trên toàn quốc Tại mỗi công ty thành viên có một máy tính điều khiển một số máy kế toán cuối cùng (teller terminal)
và cơ sở dữ liệu thống kê của công ty thành viên đó Mỗi máy tính với cơ sở dữ liệu thống kê địa phương của nó tại mỗi chi nhánh được đặt ở một vị trí của cơ
sở dữ liệu phân tán Các máy tính được nối với nhau bởi một mạng truyền thông Các nút trong một mạng phân tán một mặt xử lý thông tin tại vị trí mà nó quản
lý, mặt khác nó cũng tham gia vào việc xử lý các yêu cầu về thông tin cần truy cập qua nhiều địa điểm Ví dụ như việc lên danh sách tất cả nhân viên của tổng công ty hoặc cập nhật các chứng từ kế toán thu chi Yêu cầu này đòi hỏi tất cả các máy tính ở các công ty thành viên của tổng công ty đều phải hoạt động để cung cấp thông tin
1.1.2 Hệ quản trị cơ sở dữ liệu phân tán (Distribute DBMS)
Hệ Quản trị cơ sở dữ liệu phân tán (Distributed DBMS) là hệ thống phầnmềm cho phép quản lý các hệ cơ sở dữ liệu phân tán và làm cho sự phán tán trởnên “trong suốt” đối với người sử dụng Hệ quản trị cơ sở dữ liệu phân tán (DDBMS – Distributed DBMS) hổ trợ tạo lập và bảo trì các CSDL phân tán Nhiều hệ thống CSDL phân tán được thương mại hóa đã được phát triển bởi các nhà cung cấp các quản trị cơ sở dữ liệu tập trung Các hệ thống này bao gồm các thành phần mới để mở rộng các khả năng của các DBMS tập trung bằng cách hổ trợ sự truyền thông và sự hợp tác giữa các hệ quản trị CSDL được cài đặt tại các nơi khác nhau của một mạng máy tính Các thành phần phần mềm cần thiết để xây dựng một CSDL phân tán là:
Thành phần quản trị CSDL (DB – Database management component)
Thành phần truyền thông dữ liệu (DC – Data Communication component)
Trang 13 Từ điển dữ liệu (DD – Data Dictionary) được mở rộng để biễu diễn thông tin về sự phân tán dữ liệu trong mạng.
Thành phần CSDL phân tán (DDB – Distribute Database)
Chúng ta dùng thuật ngữ “hệ quản trị CSDL phân tán” để nói đến tập hợp bốn thành phần trên, dùng thuật ngữ “hệ quản trị CSDL” để nói đến tập hợp các thành phần phục vụ cho việc quản lý một CSDL không phân tán, tức
là các thành phần DB, DC và DD
DB DC
DDBDD
DB DC
DDBDD
Hình 1.3 Các thành phần của DDBMS
Một đặc tính quan trọng khác của các DDBMS là sự thuần nhất (homogeneous) hoặc không thuần nhất (heterogeneous) Tính thuần nhất và tính không thuần nhất có thể được xem xét ở các mức khác nhau trong CSDL phân tán: phần cứng, hệ điều hành, và các DBMS cục bộ Thuật ngữ
“DDBMS thuần nhất” nói đến một DDBMS có các DBMS tại mỗi nơi giống nhau, ngay cả khi các máy tính và hệ điều hành khác nhau
Một DDBMS không thuần nhất phải sử dụng ít nhất hai DBMS khác nhau Các DDBMS khác nhau còn có thêm vấn đề chuyển đổi giữa các mô hình dữ liệu khác nhau của các DBMS cục bộ khác nhau, phức tạp hơn so với các DDBMS thuần nhất Do đó việc phát triển một cơ sở dữ liệu phân tán từ trên xuống mà không có một hệ thống đã tồn tại trước thì sẽ thuận lợi cho việc phát triển một hệ thống thuần nhất Tuy nhiên động cơ thúc đẩy cho việc tạo lập một cơ sở dữ liệu phân tán là sự cần thiết của việc tích hợp các cơ sở dữ
CSDL 1
CSDL 2
Trang 14liệu đã có trước, trong trường hợp này cần phải phát triển một DDBMS không thuần nhất, có khả năng xây dựng cái nhìn toàn cục về CSDL Như vậy ta có định nghĩa lại cơ sở dữ liệu phân tán thuần nhất và không thuần nhất như sau:
Cơ sở dữ liệu phân tán thuần nhất: Cơ sở dữ liệu phân tán có được bằng cách chia một cơ sở dữ liệu thành một tập các cơ sở dữ liệu địa phương (cục bộ), mỗi cơ sở dữ liệu này được quản lý bởi cùng hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu phân tán không thuần nhất: Cơ sở dữ liệu phân tán có được bằng cách tích hợp vào một cơ sở dữ liệu duy nhất một tập các cơ sở dữ liệu địa phương được quản lý bởi các hệ quản trị cơ sở dữ liệu khác nhau
Nếu xây dựng cơ sở dữ liệu phân tán từ cơ sở dữ liệu đã tồn tại thì được xây dựng quản lý bởi các hệ quản trị CSDL khác nhau
Nếu xây dựng từ đầu thì nên xây dựng hệ CSDL phân tán thuần nhất
1.1.3 Mô hình kiến trúc của hệ quản trị cơ sở dữ liệu phân tán
1 Hệ thống Client/Server
Đặc trưng của hệ này là chức năng của hệ thống được chia làm hai lớp:
Chức năng đại lý – server function
Chức năng khách hàng – client function
Trong hệ thống khách/đại lý các thao tác xử lý dữ liệu đáp ứng yêucầu của khách hàng đều được thực hiện bởi các chức năng đại lý, chỉ có kếtquả được gửi trả cho khách hàng như mô hình 1.4
Hệ client/server có ưu điểm là xử lý dữ liệu tập trung, trên đườngtruyền chỉ có các gói tin yêu cầu (câu hỏi) và các kết quả đáp ứng câu hỏi,giảm tải được khối lượng truyền tin trên mạng kết hợp với thiết bị tại đại lýrất mạnh sẽ tăng tốc độ xử lý dữ liệu của cả hệ thống
Trang 15Chương trình ứng dụng
Client DBMSPhần mềm dùng chung SQL Result
Query relation
Phần mềm mạng dùng chungKiểm soát ngữ nghĩa dữ liệu
Tối ưu truy vấnĐiều khiển các giao dịchĐiều khiển phục hồi
Hổ trợ xử lý thực thi
Hệ điều hành
Hình 1.4 Kiến trúc Client/Server
2 Hệ thống phân tán Peer to Peer
Đặc điểm nổi bật của hệ thống này là dữ liệu được tổ chức ở các nút cóchức năng như nhau, đồng thời sự tổ chức dữ liệu ở các nút này lại có thể rất khácnhau, từ đó cần phải có:
Định nghĩa dữ liệu tại mỗi vị trí: tại mỗi nút phải xây dựng lược đồ
dữ liệu cục bộ LIS (Local Internal Schema)
Cơ sở dữ liệu
Trang 16 Mô tả cấu trúc logic toàn cục: Lược đồ khái niệm toàn cục GCS
(Global Conceptual Schema).
Mô tả cấu trúc logic tại mỗi vị trí, điều nảy xảy ra do nhân bản và phân
đoạn, gọi là lược đồ khái niệm cục bộ LCS (Local Conceptual Schema).
Hình 1.5 Kiến trúc Peer to Peer
Mô tả cấu trúc dữ liệu của các ứng dụng gọi là lược đồ ngoại giới ES
(External Schema).
Trang 17Cấu trúc của hệ thống bao gồm hai thành phần chính: Bộ phận tiếp nhận
người dùng (User Processor) và bộ phận xử lý dữ liệu (Data Processor) Hai
modul này được đặt chung trên mỗi máy chứ không tách biệt như hệ thốngkhách/đại lý
Các chức năng cơ bản của từng modul như sau:
User Interface Handler – Giao tiếp người sử dụng: Diễn dịch yêu
cầu, định dạng kết quả
Semantic Data Controler – Kiểm soát dữ liệu ngữ nghĩa: Dựa vào
lược đồ khái niệm toàn cục để kiểm tra câu vấn tin có thực hiện được hay không
Global Query Optimizer – Tối ưu hóa câu hỏi toàn cục: Định ra
chiến lược thực thi tốt nhất trên các nút
Global Execution Monitor – Điều khiển thực thi câu vấn tin toàn cục.
Local Query Processor – Xử lý câu hỏi cục bộ
Local Recovery Manager – Quản lý khôi phục cục bộ: Quản lý sự
nhất quán khi có sự cố
Run-Time Support Processor – Bộ phận hỗ trợ thực thi: Quản lý truy
xuất cơ sở dữ liệu
1.2 Các đặc điểm của cơ sở dữ liệu phân tán so với cơ sở dữ liệu tập trung 1.2.1 Điều khiển tập trung
Trong cơ sở dữ liệu phân tán khái niệm này không được nhấn mạnh, khả năng điều khiển tập trung phụ thuộc vào kiến trúc của cơ sở dữ liệu phân tán, chúng ta có thể nhận biết được một cấu trúc điều khiển trong đó có người quản trị cơ sở dữ liệu toàn cục (global database administrator) mà người này có trách nhiệm chính về toàn bộ cơ sở dữ liệu, và những người quản trị cơ sở dữ liệu cục
bộ (local database administrator) mà họ có trách nhiệm trên các cơ sở dữ liệu cục
bộ tại các trạm của họ
Trang 18Tuy nhiên những người quản trị cơ sở dữ liệu cục bộ có thể có một mức tự trị cao, cao đến mức không cần có người quản trị cơ sở dữ liệu toàn cục và sự phối hợp giữa các nơi được thực hiện bởi chính những người quản trị cục bộ, đó chính là tính tự trị vị trí.
Các cơ sở dữ liệu phân tán có thể khác nhau rất nhiều về mức độ tự trị vị trí từ hoàn toàn tự trị đến hầu như điều khiển tập trung
1.2.3 Giảm dư thừa
Trong cơ sở dữ liệu truyền thống dư thừa được giảm vì hai nguyên nhân sau:
Do sự mâu thuẩn giữa các bản sao của cùng một dữ liệu được tự động tránh vì thực tế chỉ có một bản sao và tiết kiệm không gian lưu trữ Trong cơ sở
dữ liệu phân tán, có nhiều lý do để xem dư thừa dữ liệu là đặc điểm cần thiết:
Do đó việc giảm dư thừa đòi hỏi một sự ước lượng định giá khá phức tạp, và việc sao bản là tỉ lệ thuận với việc tăng số lượng thực hiện các truy nhập sửa đổi dữ liệu vì khi thực hiện truy nhập sửa đổi dữ liệu trên một dữ liệu chúng
ta đồng thời phải sửa đổi dữ liệu trên các bản sao của dữ liệu đó
1.2.4 Các lợi ích của cơ sở dữ liệu phân tán
Trang 191 Bảo đảm cơ cấu tổ chức không tập trung:
Do nhiều tổ chức phân bố trên các vị trí địa lý khác nhau như Công ty gồm nhiều chi nhánh đặt tại nhiều nơi, do đó để tổ chức hệ thống thông tin tương ứng với cơ cấu tổ chức như vậy thì vấn đề phát triển cơ sở dữ liệu phân tán là điều rất cần thiết, đồng thời có thể làm giảm chi phí so với việc tổ chức để có các trung tâm máy tính tập trung
2 Bảo đảm kết nối các cơ sở dữ liệu đã tồn tại:
Khi các cơ sở dữ liệu cục bộ đã được xây dựng và tồn tại trong một tổ chức có nhu cầu cần phải thực hiện việc kết nối và xây dựng các ứng dụng toàn cục thì cơ sở dữ liệu phân tán là giải pháp lựa chọn tự nhiên và được tạo từ dưới lên từ các cơ sở dữ liệu cục bộ đã tồn tại, tuy vậy việc tái cấu trúc này sẽ cần sự
nổ lực ít hơn so với việc tạo mới hoàn toàn một cơ sở dữ liệu tập trung
3 Bảo đảm sự lớn mạnh gia tăng:
Khi một tổ chức phát triển mạnh thêm do có thêm các đơn vị tổ chức mới (như thêm các chi nhánh mới, thêm các công ty con mới, thêm kho hàng mới ) thì cơ sở dữ liệu phân tán hổ trợ dễ dàng cho sự gia tăng phát triển này của các đơn vị tổ chức So với cơ sở dữ liệu tập trung thì qui mô ban đầu của hệ thống phải thận trọng để mở rộng vì có thể sẽ ảnh hưởng nhiều đến các ứng dụng mới
và các ứng dụng đang tồn tại và ảnh hưởng đến chi phí thực hiện mở rộng rất khó thấy và có thể tốn kém nhiều khi thực hiện
4 Giảm chi phí truyền thông:
Trong một cơ sở dữ liệu phân tán về mặt địa lý các ứng dụng cục bộ làm giảm chi phí truyền thông so với cơ sở dữ liệu tập trung
5 Cân đối hiệu năng:
Vì có nhiều bộ xử lý độc lập do đó hiệu suất được nâng cao thông qua cơ chế song song hóa mức độ cao Nghiên cứu này có thể áp dụng cho bất kỳ hệ thống đa xử lý nào chứ không [hải chỉ áp dụng cho CSDL phân tán
Trang 20Tuy nhiên các CSDL phân tán có ưu điểm trong trường hợp sự phân rã dữ liệu phản ánh các tiêu chí phụ thuộc ứng dụng mà các tiêu chí này làm cực đại hóa tính cục bộ của ứng dụng Bằng cách này các bộ xử lý ít liên lạc với nhau Tải được dùng chung giữa các bộ xử lý khác nhau và các hiện tượng cổ chai nguy kịch chẳng hạn như mạng truyền thông hoặc các dịch vụ chung của toàn bộ
hệ thống sẽ được tránh khỏi Hiệu quả này là kết quả của khả năng xử lý tự trị đối với các ứng dụng cục bộ mà đã được nói đến trong định nghĩa của CSDL phân tán
6 Độ tin cậy và tính sẵn sàng:
Cách tiếp cận CSDL phân tán nhất là với dữ liệu dư thừa có thể được sử dụng để có được tính sẵn sàng và độ tin cậy cao Tuy nhiên để có được mục tiêu này là điều không phải dễ dàng và cần phải sử dụng các kỹ thuật mà hoàn toàn còn chưa được thỏa thuận với nhau Khả năng xử lý tự trị các nơi khác nhau tuy không thể bảo đảm toàn bộ độ tin cậy cao của hệ thống nhưng nó bảo đảm đặc tính suy biến Nói cách khác các hư hỏng trong CSDL phân tán có thể xảy ra nhiều hơn so với trong CSDL tập trung bởi vì số thành phần nhiều hơn nhưng ảnh hưởng của mỗi hư hỏng bị hạn chế đối các ứng dụng sử dụng dữ liệu của nơi
hư hỏng và rất hiếm khi hệ thống bị ngưng hoàn toàn
Các động cơ thúc đẩy ở trên đối với CSDL phân tán không phải là mới Tại sao sự phát triển của hệ thống CSDL chỉ mới bắt đầu? Lý do là:
Sự phát triển hiện nay của các máy tính nhỏ cung cấp nhiều khả năng có mức chi phí thấp so với máy tính lớn trước đây sẽ hổ trợ phần cứng cần thiết để phát triển các hệ thống thông tin phân tán
Ngoài ra công nghệ CSDL phân tán dựa trên hai công nghệ khác nhau đã được phát triển thành nền tảng vững chắc trong những thập niên 70 đó là công nghệ mạng máy tính và công nghệ CSDL, đó là công việc phức tạp để xây dựng CSDL phân tán ở trên một mạng máy tính và một tập hợp các hệ quản trị CSDL
Trang 21cục bộ tại mỗi nơi nó sẽ không khả thi nếu không có các khối xây dựng có sẵn này.
7 Bảo đảm tính tự trị tại các trạm:
Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm
1.2.4 Một số nhược điểm khi sử dụng hệ phân tán
Hiện nay chưa có công cụ hoặc phương pháp nào giúp người dùng thay đổi từ cơ sở dữ liệu tập trung sang phân tán Nghiên cứu về cơ sở dữ liệu phân tán không thuần nhất và sự thống nhất cơ sở dữ liệu là hướng nghiên cứu để giải quyết khó khăn này
Ngoài ra vấn đề bảo mật trong cơ sở dữ liệu phân tán khó khăn hơn trong
cơ sở dữ liệu tập trung Xây dựng cơ sở dữ liệu phân tán phức tạp hơn cơ sở dữ liệu tập trung
1.3 Kiến trúc tham khảo dùng cho các cơ sở dữ liệu phân tán
Hình 1.6 bên dưới cho thấy một kiến trúc tham khảo dành cho CSDL phân tán Kiến trúc này không thực hiện tường minh cho tất cả các cơ sở dữ liệu phân tán, tuy nhiên các mức của nó thích hợp về mặt ý niệm để hiểu tổ chức của một
cơ sở dữ liệu phân tán bất kỳ
Sơ đồ tổng thể: định nghĩa tất cả các dữ liệu lưu trữ trong cơ sở dữ liệu
phân tán Trong mô hình quan hệ sơ đồ tổng thể chính là tập các quan hệ tổng thể hay nói cách khác đây chính là quan hệ toàn cục R
Sơ đồ phân đoạn: mỗi quan hệ tổng thể có thể chia thành vài phần
không gối lên nhau được gọi là đoạn hay đoạn Các đoạn là những phần luận lý của các quan hệ toàn cục, mà về mặt vật lý chúng được đặt tại một hoặc ở nhiều nơi của mạng Có nhiều cách khác nhau để thực hiện sự 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
Trang 22 Sơ đồ định vị: Các đoạn là các phần logic trong sơ đồ tổng thể được
định vị tại các vị trí vật lý trên một hoặc nhiều vị trí trên mạng Sơ đồ định vị định nghĩa các đoạn nào định vị tại vị trí vật lý nào Ánh xạ được định nghĩa trong lược đồ định vị sẽ xác định cơ sở dữ liệu phân tán là dư thừa (ánh xạ một -nhiều) hay không dư thừa (ánh xạ một - một) Tất cả các đoạn thuộc cùng một quan hệ toàn cục R được đặt tại cùng một nơi j sẽ tạo thành hình ảnh vật lý của quan hệ toàn cục R tại nơi j
Hình 1.6 Một kiến trúc tham khảo dùng cho cơ sở dữ liệu phân tán
Sơ đồ tổng thể
Sơ đồ phân đoạn
Trang 23Hình 1.7 Các đoạn và hình ảnh vật lý của một quan hệ toàn cục
Hình 1.7 cho thấy một ví dụ về mối liên kết giữa các loại đối tượng đã nói trên
Một quan hệ toàn cục R được phân thành 4 đoạn R1, R2, R3, R4 Bốn đoạn này được đặt một cách dư thừa tại 3 nơi của một mạng máy tính do đó tạo thành
Trang 24Kiến trúc được mô tả ở hình 1.7 này cung cấp một cơ cấu tổ chức ý niệm rất tổng quát Đặc điểm của kiến trúc này: là phân đoạn dữ liệu, định vị dữ liệu, điều khiển dư thừa và sự độc lập giữa các DBMS cục bộ.
Khái niệm phân đoạn dữ liệu tách biệt với khái niệm định vị dữ liệu Sự khác biệt này cho phép chúng ta phân biệt hai mức trong suốt phân tán khác nhau được gọi là trong suốt phân đoạn và trong suốt định vị Trong suốt phân đoạn là mức trong suốt cao nhất cho phép người sử dụng hoặc người lập trình ứng dụng làm việc trên các quan hệ toàn cục Trong suốt vị trí là mức trong suốt thấp hơn và đòi hỏi người sử dụng và người lập trình ứng dụng làm việc trên các đoạn thay vì trên quan hệ toàn cục tuy nhiên họ không biết các đoạn được đặt tại nơi nào Sự tách biệt giữa khái niệm về sự phân đoạn và sự định vị sẽ rất thuận lợi trong thiết kế CSDL phân tán bởi việc xác định các phần dữ liệu thích hợp sẽ khác với vấn đề định vị tối ưu
Kiến trúc tham khảo cung cấp điều khiển dư thừa tường minh ở mức phân đoạn, như ví dụ trên hình ảnh vật lý R2, R3 phủ lấp nhau nghĩa là chúng chứa dữ liệu chung, định nghĩa các đoạn tách biệt khi xây dựng các khối hình ảnh vật lý cho phép chúng ta tham chiếu tường minh đến phần phủ lấp này : đoạn được nhân bản R2.
Kiến trúc trên cũng cho thấy sự độc lập giữa các DBMS cục bộ, đặc điểm này được gọi là sự trong suốt ánh xạ cục bộ, trong hệ thống đồng nhất các lược
đồ độc lập vị trí có thể được định nghĩa bằng cách sử dụng cùng mô hình dữ liệu của các DBMS cục bộ do đó làm giảm độ phức tạp của ánh xạ này
Một loại trong suốt liên quan chặt chẽ với trong suốt vị trí là trong suốt nhân bản, có nghĩa là người sử dụng không biết là có sự nhân bản các đoạn Rõ ràng trong suốt nhân bản bao hàm trong suốt vị trí tuy nhiên trong một số trường hợp người sử dụng không có trong suốt vị trí nhưng có trong sốt nhân bản (do đó
Trang 25họ sử dụng một bản nhân riêng biệt và hệ thống làm các tác vụ tương ứng trên các bản nhân khác)
1.4 Các loại phân đoạn dữ liệu
Việc chia một quan hệ thành nhiều quan hệ nhỏ hơn được gọi là phân đoạn quan hệ
Có các loại phân đoạn sau:
Phân đoạn ngang (horizontal fragmentation)
Phân đoạn dọc (vertical fragmentation)
Trước tiên chúng ta sẽ xét hai loại phân đoạn này một cách riêng biệt và sau đó sẽ xét phân đoạn phức tạp hơn có thể có được bằng cách áp dụng sự kết hợp của hai loại này Việc phân đoạn là nhằm phân bố dữ liệu hợp lý giữa các trạm cục bộ và phải đảm bảo cơ sở dữ liệu không bị thay đổi ngữ nghĩa trong quá trình phân đoạn, tức là đảm bảo tính đúng đắn khi phân đoạn Sau đây ta sẽ xét các qui tắc này:
1 Điều kiện đầy đủ:
Nếu một quan hệ R được phân thành các đoạn R1, R2, ,Rn mỗi một mục
dữ liệu có thể được tìm thấy trong R thì nó cũng có thể được tìm thấy trong một hoặc nhiều đoạn Ri Đặc tính này giống như đặc tính phân rã bảo toàn nội dung,
nó đảm bảo dữ liệu trong quan hệ toàn cục được ánh xạ vào trong các đoạn mà không bị mất Lưu ý rằng trong phân đoạn ngang, mục dữ liệu (data item) là một
bộ, và trong trường hợp phân đoạn dọc, mục dữ liệu là một thuộc tính
Phân đoạn ngang:
u R, i [1,n]: u Ri
Phân đoạn dọc:
A Attr(R), i [1,n]: A Attr(Ri)
2 Điều kiện tái tạo:
Trang 26Nếu một quan hệ R được phân thành các đoạn R1, R2, , Rn luôn luôn có thể xác định được một phép toán quan hệ sao cho:
R = Ri, Ri FRPhép toán sẽ khác nhau đối với mỗi loại phân đoạn khác nhau, tuy nhiên điều quan trọng là nó phải được xác định
Trong trường hợp phân đoạn ngang, phép toán là phép hợp (), trong trường hợp phân đoạn dọc phép toán là phép kết ( )
Phân đoạn ngang:
R = R1 R2 Rn
Phân đoạn dọc:
R = R1 R2 RnTính tái tạo của quan hệ từ các đoạn của nó bảo đảm các ràng buộc về phụ thuộc dữ liệu sẽ được bảo toàn
3 Điều kiện tách biệt:
Nếu một quan hệ R được phân đoạn ngang thành các đoạn R1,R2, ,Rn
Và mục dữ liệu di có trong Rithì nó không có trong các Rkkhác (ki) Điều kiện này bảo đảm các đoạn ngang là tách biệt nhau
i k và i,k [1,n]: RiRk =
1.4.1 Phân đoạn ngang dẫn xuất
Trong một số trường hợp, phân đoạn ngang của một quan hệ không thể dựa trên một đặc điểm của các thuộc tính riêng của nó, nhưng được dẫn xuất
từ việc phân đoạn ngang của một quan hệ khác và được gọi là phân đoạnngang dẫn xuất
Ví dụ với quan hệ HOSO(MANV, MADA, NHIEMVU, THOIGIAN)Phân đoạn quan hệ này sao cho mỗi đoạn chức các bộ thuộc các nhân viên ở chi nhánh cho trước Chúng ta sử dụng một phép nửa kết để xác định các bộ của HOSO của nhân viên thuộc chi nhánh cho trước Phân đoạn ngang
Trang 27dẫn xuất có thể được xác định như sau:
HOSO1= HOSO MANV=MANV NHANVIEN1HOSO2= HOSO MANV=MANV NHANVIEN2
Các phép nửa kết dùng để chọn từ HOSO các bộ thỏa mãn điều kiện kết giữa NHANVIEN1 hoặc NHANVIEN2 với HOSO; do đó chúng xác định các
bộ của HOSO thuộc chi nhánh 1 hoặc chi nhánh 2 theo thứ tự tương ứng
Quan hệ HOSO có thể được tái tạo bằng phép hợp
HOSO = HOSO1 HOSO2
Để thỏa mãn điều kiện đầy đủ của phân đoạn ở trên, thì tất cả các mã nhân viên trong quan hệ HOSO đề phải có trong quan hệ NHANVIEN
Điều kiện tách biệt được thỏa mãn nếu một bộ của quan hệ HOSO không tương ứng với hai bộ của quan hệ NHANVIEN thuộc hai đoạn khác nhau Điều kiện này dễ dàng thỏa mãn vì MANV là khóa của quan hệ NHANVIEN
1.4.2 Phân đoạn dọc
Phân đoạn dọc một quan hệ toàn cục là sự phân chia các thuộc tính của quan hệ này thành các nhóm, các đoạn có được bằng cách chiếu quan hệ toàn cục trên mỗi nhóm Sự phân đoạn là đúng đắn nếu mỗi thuộc tính được ánh xạ vào ít nhất một thuộc tính của các đoạn, hơn nữa có thể tái tạo quan hệ toàn cục bằng cách kết các đoạn với nhau
Ví dụ: Cho quan hệ toàn cục như sau
NHANVIEN (MANV, TENNV, CHUCVU, LUONG, CHINHANH)
Phân đoạn dọc quan hệ này có thể được xác định như sau:
NHANVIEN1= MANV, TENNV, CHUCVU, CHINHANH(NHANVIEN)
NHANVIEN2= MANV, LUONG(NHANVIEN)
Sự phân đoạn này có thể phản ánh một tổ chức mà tiền lương được quản lý riêng biệt
Trang 28 Tái tạo quan hệ NHANVIEN có thể được thực hiện bằng phép kết như sau: NHANVIEN = NHANVIEN1 MANV = MANV NHANVIEN2
1.4.3 Phân đoạn hổn hợp
Các đoạn có được từ các phép phân đoạn ở trên là các quan hệ, do đó chúng ta có thể áp dụng các phép phân đoạn này một cách đệ qui, sao cho mỗi lần phân đoạn phải thỏa mãn các điều kiện đúng đắn Ví dụ xét quan hệ toàn cục
NHANVIEN (MANV, TENNV, CHUCVU, LUONG, CHINHANH)Phân đoạn sau đây là phân đoạn hổn hợp có được bằng cách áp dụng phân đoạn dọc của ví dụ trước, rồi phân đoạn ngang dựa trên CHINHANH
NHANVIEN1=chinhanh= 1 MANV, TENNV, CHUCVU, CHINHANH(NHANVIEN)NHANVIEN2=chinhanh >1 AND chinhanh <5
NHANVIEN3=chinhanh>5 MANV,TENNV,CHUCVU,CHINHANH(NHANVIEN)
NHANVIEN4=MANV, TENNV, LUONG(NHANVIEN)
Tái tạo quan hệ NHANVIEN được xác định bởi biểu thức
NHANVIEN=(NHANVIEN1NHANVIEN2NHANVIEN3)
Trang 29Chương 2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
THUẦN NHẤT
2.1 Giới thiệu
Mặc dù các kinh nghiệm về thiết kế hệ thống phân tán còn hạn chế nhưng vấn đề này đã được nghiên cứu một cách bao quát phần lớn xuất phát từ quan điểm kỹ thuật, ở đây ta chỉ tập trung vào các khía cạnh mà chúng chỉ có riêng trong các CSDL phân tán và không giới thiệu các vấn đề thiết kế mà chúng có trong CSDL tập trung Trong CSDL phân tán vấn đề cần thiết là thiết kế lược đồ toàn cục và thiết kế các CSDL vật lý cục bộ tại mỗi nơi, ngoài ra thiết kế CSDL phân tán còn có thêm hai vấn đề mới:
Thiết kế phân đoạn nghĩa là xác định các quan hệ toàn cục được phân chia thành các phân đoạn ngang, dọc, hổn hợp như thế nào và thiết kế định vị nghĩa là xác định các đoạn được ánh xạ vào các hình ảnh vật lý như thế nào và xác định việc nhân bản các đoạn
Để thiết kế CSDL phân tán điều đầu tiên và cần thiết nhất là chúng ta phải nắm bắt được yêu cầu của người dùng hay nói cách khác là yêu cầu của ứng dụng Trong các yêu cầu của ứng dụng chúng ta lưu ý:
Nơi chạy ứng dụng
Tần suất chạy được ứng dụng
Số lượng, loại và sự phân tán của các truy xuất trong mỗi ứng dụngMục tiêu thiết kế CSDL phân tán đặt ra là đạt được tính cục bộ xử lý tức đặt dữ liệu càng gần với ứng dụng sử dụng các dữ liệu này, và mức độ sẵn sàng cao đối với các ứng dụng chỉ đọc sẽ đạt được bằng cách lưu trữ nhiều bản sao của cùng một thông tin, hệ thống phải có khả năng chuyển đổi qua một bản khác khi một bản được truy xuất dưới điều kiện bình thường trở thành không hiệu lực
Sau đây chúng ta sẽ xem xét các phương pháp tiếp cận để thiết kế CSDL phân tán
Trang 302.2 Các phương pháp tiếp cận:
Có hai cách tiếp cận khác nhau để thiết kế phân tán dữ liệu: cách tiếp cận trên xuống và cách tiếp cận dưới lên
2.2.1 Phương pháp thiết kế từ trên xuống
Trong cách tiếp cận từ trên xuống chúng ta bắt đầu bằng cách thiết kế lược
đồ toàn cục, thiết kế phân đoạn của CSDL, định vị các đoạn tại các nơi, tạo ra hình ảnh vật lý Các bước thiết kế:
Phân tích các yêu cầu để xác định môi trường của hệ thống và từ đó xác định các nhu cầu của dữ liệu và xử lý dữ liệu của hệ thống, tài liệu yêu cầu là đầu vào cho hai hoạt động thiết kế khung nhìn và thiết kế ý niệm Thiết kế khung nhìn định nghĩa các giao diện cho người sử dụng cuối, thiết kế ý niệm là quá trình khảo sát phân tích các hoạt động của hệ thống để xác định các kiểu thực thể
và các mối liên kết giữa các thực thể, xác định các chức năng hoạt động của hệ thống, hoạt động thiết kế bao gồm hai bước:
Thiết kế phân đoạn: xác định các quan hệ toàn cục được phân chia
thành các phân đoạn ngang, dọc hoặc hổn hợp như thế nào
Thiết kế định vị đoạn: xác định các đoạn được ánh xạ vào các hình
ảnh vật lý như thế nào và xác định việc nhân bản các đoạn
Thiết kế phân đoạn và thiết kế định vị là đặc trưng cho thiết kế cơ sở dữ liệu phân tán Việc thiết kế phân đoạn và thiết kế định vị là hai vấn đề khác biệt cần phải được giải quyết, tuy vậy không thể xác định sự phân đoạn và sự định vị tối ưu bằng cách giải quyết hai vấn đề này độc lập nhau được bởi vì chúng có mối liên quan với nhau
2.2.2 Phương pháp thiết kế từ dưới lên
Phương pháp thiết kế trên xuống thực sự có hiệu quả khi xây dựng một hệ thống mới.Trong thực tế, một số CSDL đã tồn tại trước, được tổ chức trong môi trường tập trung và CSDL phân tán được phát triển bằng cách liên kết chúng lại
Trang 31thành một CSDL mới thống nhất (Các DBMS địa phương khác nhau đã được sử dụng) Khi các CSDL hiện tại được kết hợp lại, chúng ta có thể sử dụng cách tiếp cận từ dưới lên để thiết kế phân tán dữ liệu Cách tiếp cận này dựa trên sự tích hợp các lược đồ hiện tại thành một lược đồ toàn cục Bằng cách tích hợp, chúng
ta muốn hợp nhất các định nghĩa dữ liệu chung và giải quyết các mâu thuẩn giữa các biễu diễn khác nhau cho cùng một dữ liệu
Khi các CSDL hiện tại được kết hợp thành một CSDL phân tán có thể chúng sử dụng các hệ DBMS khác nhau Như vậy sẽ làm tăng độ phức tạp của việc tích hợp dữ liệu và cần phải có sự chuyển đổi giữa các biễu diễn khác nhau Trong trường hợp này, có thể có sự chuyển đổi một-một giữa tùng cặp DBMS khác nhau Tuy nhiên cách tiếp cận được sử dụng chủ yếu trong các nguyên mẫu của các hệ thống không thuần nhất là chọn ra một mô hình dữ liệu chung và sau
đó chuyển đổi tất cả các lược đồ khác nhau của các DBMS phức tạp thành một dạng biễu diễn duy nhất này
Việc thiết kế theo phương pháp từ dưới lên không được bàn đến trong chương này, ở đây chỉ đề cập đến việc thiết kế cho cơ sở dữ liệu phân tán thuần nhất thường lựa chọn phương pháp thiết kế từ trên xuống
2.3 Thiết kế phân đoạn
Mục đích của thiết kế phân đoạn là xác định các đoạn không giao nhau mà chúng là các đơn vị phân tán thích hợp cho vấn đề định vị dữ liệu sau này Thiết
kế phân đoạn bao gồm việc gom nhóm các bộ (trường hợp phân đoạn ngang) hoặc các thuộc tính (trường hợp phân đoạn dọc) mà chúng có cùng các đặc tính theo quan điểm định vị của chúng
2.3.1 Thiết kế phân đoạn ngang
Phân đoạn ngang chia một quan hệ theo các bộ của nó Mỗi đoạn là tập hợp con gồm các bộ của quan hệ Phân đoạn ngang chính của một quan hệ được thực hiện bằng cách sử dụng các vị từ được định nghĩa trên quan hệ đó Phân
Trang 32đoạn ngang dẫn xuất là phân chia một quan hệ dựa vào các vị từ được định nghĩa trên một quan hệ khác.
2.3.1.1.Các yêu cầu thông tin của phân đoạn ngang
1 Thông tin về cơ sở dữ liệu
Thông tin về CSDL liên quan đến lược đồ ý niệm toàn cục Lưu ý quan trọng là các quan hệ của CSDL được kết nối với nhau như thế nào, đặc biệt là các phép kết Trong mô hình quan hệ các mối liên kết này cũng được biễu diễn bằng các quan hệ Các đường liên kết giữa các đối tượng CSDL (tức là các quan
hệ trong trường hợp ví dụ trên) giúp cho việc biễu diễn các mô hình phân tán được đơn giản Quan hệ ở gốc của đường liên kết được gọi là quan hệ chủ, và quan hệ ở ngọn được gọi là quan hệ bộ phận
Trong cơ cấu tổ chức quan hệ các thuật ngữ thường dùng là quan hệ nguồn dùng cho quan hệ chủ và quan hệ đích dùng cho quan hệ bộ phận
Hình 2.2 Biễu diễn các mối liên kết giữa các quan hệ
MANV, MADA, NHIEMVU, THOIGIAN
NHANVIEN
TLUONG
DUAN L1
Trang 33Thông tin định tính cơ bản bao gồm các vị từ được sử dụng trong các truy vấn của người sử dụng Nếu không thể phân tích tất cả các ứng dụng này, chúng
ta chỉ nghiên cứu các ứng dụng quan trọng Bây giờ giả sử chúng ta cần phân đoạn ngang một quan hệ R(A1, A2,…, An), với Ai là một thuộc tính được định nghĩa trên miền D Chúng ta có các định nghĩa sau đây:
Một vị từ đơn giản (simple predicate) pj được định nghĩa trên R có dạng:
pj : Ai value trong đó là một trong các phép so sánh =, , <, , ,
và value được chọn từ miền của Ai (value Di)
Ví dụ: p1: LUONG < 300000
Ký hiệu Pr là tập hợp các vị từ đơn giản được định nghĩa trên quan hệ R Các phần tử của Pr được ký hiệu là pj.
Thường các truy vấn của người dùng bao gồm nhiều vị từ phức tạp là
tổ hợp luận lý của các vị từ đơn giản Tổ hợp mà chúng ta đặc biệt quan tâm đến được gọi là vị từ giao tối thiểu
Một vị từ giao tối thiểu (minterm predicate) mj đối với một tập hợp các
vị từ đơn giản Pr = {p1, p2, …, pm} là một tổ hợp giao của tất cả các vị từ xuất hiện trong Pr , các vị từ này ở dạng thông thường hoặc ở dạng phủ định, để sao cho qjkhông bị mâu thuẩn
qj = p*i , 1 < i < m ; với p*i = pi hoặc p*i = pi , qj false
2.3.1.2.Thiết kế phân đoạn ngang chính
Phân đoạn ngang chính là sự phân chia các bộ của một quan hệ toàn cục thành các tập hợp con dựa vào các thuộc tính của quan hệ này, mỗi tập hợp con được gọi là một đoạn ngang Nó có thể xác định bằng cách biễu diễn mỗi đoạn như là một phép chọn trên quan hệ toàn cục
Ví dụ: Cho một quan hệ toàn cục là:
Trang 34 NHANVIEN (MANV, TENNV, CHUCVU, LUONG, CHINHANH): quan hệ này chứa dữ liệu về nhân viên của công ty
DUAN (MADA, TENDA, NGANSACH): quan hệ này chứa dữ liệu về các dự án mà công ty đang phát triển
HOSO (MANV, MADA, CONGVIEC, THOIGIAN): quan hệ này chứa dữ liệu về hồ sơ của nhân viên được phân công thực hiện dự án
Hình 2.3 Ví dụ lược đồ toàn cục trong phân đoạn ngang
Phân đoạn ngang có thể được xác định theo cách sau đây:
DA1 Tin học hóa quản lý đào tạo 50000000
DA2 Phần mềm kế toán 23000000
DA3 Bồi dưỡng tin học CBQL 10000000
001 DA1 Quản lý 12/2008
002 DA2 Phân tích 10/2008
003 DA1 Kỹ thuật 12/2008
Trang 35NHANVIEN1= chinhanh=1 (NHANVIEN)NHANVIEN2= chinhanh=2 (NHANVIEN)
Sự phân đoạn ở trên thỏa mãn điều kiện đầy đủ nếu ‘1’ và ‘2’ chỉ là các giá trị có thể có của thuộc tính CHINHANH, ngược lại thì chúng ta sẽ không biết các bộ ứng với các giá trị khác của CHINHANH thuộc về đoạn nào
Điều kiện tái tạo thì được thỏa mãn dễ dàng thông qua phép hợp:
NHANVIEN = NHANVIEN1 NHANVIEN2
Điều kiện tách biệt được thỏa mãn vì MANV là khóa
Các phân đoạn ngang chính được xác định bằng cách sử dụng các phép chọn trên các quan hệ toàn cục sao cho mỗi bộ của quan hệ toàn cục được đưa vào trong một và chỉ một đoạn (tính đúng đắn của phân đoạn)
Do đó việc thiết kế phân đoạn ngang chính đòi hỏi xác định tập các vị
từ chọn đầy đủ và tách biệt, các bộ của một đoạn phải được tham chiếu giống nhau trong tất cả các ứng dụng
Cho quan hệ R, các đoạn ngang Ri của nó là: Ri = Fi (R); 1 i n và
Filà điều kiện chọn của đoạn Ri
Ví dụ: Phân đoạn quan hệ DUAN thành DUAN1 và DUAN2 dùng các vị
từ cơ bản NGANSACH 1000000 và NGANSACH < 1000000
Ta có DUAN1 = NGANSACH < 1000000(DUAN)
DUAN2= NGANSACH 1000000(DUAN)Nhưng các vị từ cơ bản có thể thay đổi khi các ứng dụng hoạt động
Ví dụ: Thêm vào một bộ mới có NGANSACH = 5000000
Như vậy ta phải xem xét là đặt nó vào DUAN2 hay thêm vào DUAN3 và hạn chế DUAN2
Tóm lại: Một đoạn ngang Ricủa quan hệ R bao gồm các bộ của R thỏa
vị từ giao tối thiểu qj Việc chọn lựa các vị từ không thể dựa vào các qui tắc chính xác, bởi vì việc nhận biết một vị từ có ích cho việc mô tả phân đoạn sẽ
Trang 36dựa vào trực giác của người thiết kế.
Do đó bước đầu tiên của bất kỳ giải thuật phân đoạn nào là xác định một tập hợp các vị từ đơn giản có các đặc tính nào đó, đặc tính đó chính là tính đầy đủ và tính cực tiểu
Tính đầy đủ được hiểu là xác suất mỗi ứng dụng truy xuất đến một bộ nào đó trong một đoạn giao tối thiểu nào đó được sinh ra nhờ tập vị từ đơn giản
đó đều bằng nhau
Tính cực tiểu được hiểu là một vị từ là thừa nếu không có ứng dụng nào truy xuất đến đoạn do nó sinh ra
2.3.1.3.Thiết kế phân đoạn ngang dẫn xuất
Trong một số trường hợp, phân đoạn ngang của một quan hệ khôngthể dựa trên một đặc điểm của các thuộc tính riêng của nó, nhưng được dẫn xuất
từ việc phân đoạn ngang của một quan hệ khác và được gọi là phân đoạnngang dẫn xuất
Ví dụ với quan hệ HOSO(MANV, MADA, NHIEMVU, THOIGIAN)Phân đoạn quan hệ này sao cho mỗi đoạn chức các bộ thuộc các nhân viên ở chi nhánh cho trước Tuy nhiên CHINHANH không phải là thuộc tính của quan hệ HOSO, mà nó là thuộc tính của quan hệ NHANVIEN được xét ở trên Do đó chúng ta sử dụng một phép nửa kết để xác định các bộ của HOSO của nhân viên thuộc chi nhánh cho trước Phân đoạn ngang dẫn xuất có thể được xác định như sau:
HOSO1= HOSO MANV=MANV NHANVIEN1HOSO2= HOSO MANV=MANV NHANVIEN2Các phép nửa kết dùng để chọn từ HOSO các bộ thỏa mãn điều kiện kết giữa NHANVIEN1 hoặc NHANVIEN2 với HOSO, do đó chúng xác định các
bộ của HOSO thuộc chi nhánh 1 hoặc chi nhánh 2 theo thứ tự tương ứng
Quan hệ HOSO có thể được tái tạo bằng phép hợp
Trang 37HOSO = HOSO1 HOSO2
Để thỏa mãn điều kiện đầy đủ của phân đoạn ở trên, thì tất cả các mã nhân viên trong quan hệ HOSO để phải có trong quan hệ NHANVIEN
Điều kiện tách biệt được thỏa mãn nếu một bộ của quan hệ HOSO không tương ứng với hai bộ của quan hệ NHANVIEN thuộc hai đoạn khác nhau Điều kiện này dễ dàng thỏa mãn vì MANV là khóa của quan hệ NHANVIEN
2.3.2 Thiết kế phân đoạn dọc
Phân đoạn dọc một quan hệ toàn cục là sự phân chia các thuộc tính của quan hệ này thành các nhóm, các đoạn có được bằng cách chiếu quan hệ toàn cục trên mỗi nhóm Sự phân đoạn là đúng đắn nếu mỗi thuộc tính được ánh xạ vào ít nhất một thuộc tính của các đoạn, hơn nữa có thể tái tạo quan hệ toàn cục bằng cách kết các đoạn với nhau
Ví dụ: Cho quan hệ toàn cục như sau
NHANVIEN (MANV, TENNV, CHUCVU, LUONG, CHINHANH)
Phân đoạn dọc quan hệ này có thể được xác định như sau:
NHANVIEN1= MANV, TENNV, CHUCVU, CHINHANH(NHANVIEN)NHANVIEN2= MANV, LUONG(NHANVIEN)
Sự phân đoạn này có thể phản ánh một tổ chức mà tiền lương được quản lý riêng biệt
Tái tạo quan hệ NHANVIEN có thể được thực hiện bằng phép kết như sau: NHANVIEN = NHANVIEN1 MANV = MANV NHANVIEN2
Việc xác định phân đoạn dọc một quan hệ toàn cục đòi hỏi việc gom nhóm các thuộc tính của quan hệ toàn cục thành các tập thuộc tính mà chúng được các ứng dụng tham chiếu đến theo cùng một kích thước Phân đoạn dọc xác định các thuộc tính của quan hệ toàn cục, sao cho nhiều ứng dụng có thể được thực hiện bằng cách chỉ sử dụng một đoạn
Chúng ta xét một quan hệ toàn cục R được phân đoạn dọc thành R1 và
Trang 38R2 Một ứng dụng có được ưu điểm của phân đoạn dọc này nếu nó có thể được thực hiện bằng cách sử dụng đoạn R1 hoặc R2, bởi vì các trường hợp này nên tránh truy xuất quan hệ R(lớn) Tuy nhiên nếu một ứng dụng cần truy xuất cả
R1 và R2, thì việc phân đoạn là không có lợi, bởi vì cần phải thực hiện phép kết để tạo lại R Phân đoạn tối ưu (optimal fragmentation) là phân đoạn tạo ra một lược đồ phân đoạn mà lược đồ này tối thiểu hóa thời gian thực hiện các ứng dụng chạy trên phân đoạn này
Trong cơ sở dữ liệu phân tán, phân đoạn dọc có ưu điểm hơn khi nhiều ứng dụng sử dụng R1 và nhiều ứng dụng sử dụng R2 chạy tại nhiều nơi khác nhau
Trong trường hợp này, việc đặt R tại một nơi nào đó sẽ không có lợi cho các ứng dụng tại nơi khác, trong khi đó việc phân đoạn R cho phép thỏa mãn cả hai
Việc xác định phân đoạn dọc một quan hệ toàn cục R là không dễ dàng, bởi vì số cách phân đoạn có thể nó sẽ tăng tổ hợp theo số thuộc tính của R,và ngay cả số nhóm có thể nó còn lớn hơn Do đó, trong trường hợp một quan hệ lớn, cần phải có cách tiếp cận mang tính kinh nghiệm để xác định phân tách hoặc gom nhóm Hai cách tiếp cận mang tính kinh nghiệm để phân đoạn dọc một quan hệ toàn cục là:
Cách tiếp cận gom nhóm (grouping opproach) mà theo đó các thuộc
tính được kết hợp lại dần dần để tạo thành các đoạn Bắt đầu bằng cách gán mỗi thưộc tính cho phân đoạn, và ở mỗi bước, kết hợp một số đoạn với nhau cho đến khi thỏa mãn một tiêu chuẩn nào đó (Hammer and Niamir,1979 , Sacca and Wiederhold, 1985)
Cách tiếp cận phân tách (split approach) mà theo đó các quan hệ toàn
cục được phân tách dần dần để tạo thành các đoạn Bắt đầu từ một quan hệ và quyết định chọn phân đoạn có lợi , dựa trên cách truy xuất của các ứng dụng
Trang 39đến các thuộc tính (Navalthe et al., 1984).
Ví dụ: Xét quan hệ toàn cục :
NHANVIEN(MANV, TENNV, CHUCVU, LUONG, CHINHANH)
Giả sử các ứng dụng sau đây sử dụng quan hệ NHANVIEN:
1- Các ứng dụng quản trị, tập trung tại nơi 3, yêu cầu TENNV, LUONG
của các nhân viên
2- Các ứng dụng về các công việc của mỗi phòng ban , yêu cầu
TENNV, CHUCVU, CHINHANH của các nhân viên Các ứng dụng này được
chạy tại tất cả các nơi và tham chiếu các bộ của các nhân viên thuộc cùng chi
nhánh với xác xuất 80%
Do đó, phân đoạn dọc NHANVIEN thành hai phân đoạn gồm các thuộc
tính quản trị và các thuộc tính mô tả công việc là một cách làm tự nhiên
Chúng ta đưa khóa MANV vào cả hai đoạn Vì thuộc tính TENNV tương ứng
ít bị thay đổi (bởi vì các nhân viên không thường xuyên thay đổi tên của họ),
do đó phân đoạn dọc gom tụ là thích hợp, xác định phân đoạn như sau:
NHANVIEN1 (MANV, TENNV, LUONG)
NHANVIEN2 (MANV, TENNV, CHUCVU, CHINHANH) Bởi vì, việc phân đoạn dọc đặt các thuộc tính thường được truy xuất
chung với nhau vào trong một phân đoạn, cần phải có một số đo nào đó để
định nghĩa chính xác hơn khái niệm tính chất chung với nhau Số đo này được
gọi là tương quan (affinity) của các thuộc tính và nó cho thấy các thuộc tính
liên hệ chặt chẽ với nhau như thế nào Trên thực tế, người thiết kế hoặc người
sử dụng không dễ dàng xác định được các giá trị này Bây giờ, chúng ta trình
bày một cách thức để có được các giá trị này từ nhiều dữ liệu nguyên thủy
Yêu cầu dữ liệu chính liên quan đến các ứng dụng là tần số truy xuất
của chúng Cho Q={q1,q2, ,qq} là tập hợp các truy vấn của người sử dụng (các
ứng dụng) sẽ chạy trên quan hệ R(A1,A2, ,An) Đối với mỗi truy vấn qi và mỗi
Trang 40thuộc tính Aj , chúng ta gán một giá trị sử dụng thuộc tính (attribute usage value), được ký hiệu là use (qi,Aj) và được định nghĩa như sau:
Use(qi,Aj) =
Các vector(qi,Aj) cho mỗi ứng dụng được xác định dễ dàng nếu người thiết kế biết các ứng dụng sẽ chạy trên CSDL
Ví dụ: Xét quan hệ DUAN(MADA, TENDA, NGANSACH, DIADIEM)
Giả sử các ứng dụng sau đây được xác định chạy trên quan hệ này
q1: Tìm ngân sách của các dự án cho biết mã dự án
q2:Tìm tên dự án và ngân sách của các dự án
q3:Tìm tên của các dự án tại địa điểm cho trước
q4:Tìm tổng ngân sách các dự án thuộc một địa điểm cho trước
Theo bốn ứng dụng này, chúng ta có thể xác định các giá trị sử dụng thuộc tính Để cho thuận tiện, chúng ta ký hiệu:
A1= MADA, A2=TENDA, A3=NGANSACH, A4 =DIADIEMCác giá trị sử dụng được xác định trong ma trận hình 2.4, trong đó ô(i,j) biểu thị use(qi,Aj)
1 nếu truy vấn qitham chiếu thuộc tính A
0 nếu truy vấn qikhông tham chiếu thuéc tÝnh A