Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,47 MB
Nội dung
[TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] MỤC LỤC 1 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] 1. Tổng quan về cơ sở dữ liệu phân tán 1.1 Giới thiệu Cơ sở dữ liệu phân tán (CSDLPT) là sự hợp nhất của hai cách tiếp cận xử lý dữ liệu dường như đối lập nhau: công nghệ cơ sở dữ liệu (CSDL) và công nghệ mạng máy tính. Một trong những mục đích, động cơ chính của việc sử dụng các hệ CSDL là việc tích hợp các dữ liệu, giao tác của một xí nghiệp, tổ chức và cho phép truy xuất tập trung, do vậy có thể điều khiển được các truy xuất đến dữ liệu đó. Còn công nghệ mạng lại đi ngược lại với mọi nỗ lực tập trung hóa. Mấu chốt của vấn đề là mục tiêu quan trọng của công nghệ CSDL là sự tích hợp mà không phải là sự tập trung hóa, như vậy ta vẫn có thể có được sự tích hợp mà không cần sự tập trung hóa và đó chính là mục tiêu của CSDLPT. Chúng ta có thể định nghĩa một CSDLPT là một tập hợp nhiều CSDL có liên đới logic và được phân bố trên một mạng máy tính. Vậy hệ quản trị CSDLPT được định nghĩa là một hệ thống phần mềm cho phép quản lý các CSDLPT, và làm cho việc phân tán trở nên trong suốt đối với người sử dụng. Với các hệ CSDLPT chúng ta dễ dàng nhận thấy những ưu điểm tiềm năng như sau: − Quản trị dữ liệu phân tán với nhiều mức trong suốt khác nhau. Hệ quản trị CSDLPT cung cấp khả năng trong suốt phân tán (distribution transparent) với ý nghĩa là che dấu các chi tiết như dữ liệu được lưu trữ ở đâu trong hệ thống… Hệ quản trị CSDL PT có thể cung cấp các khả năng trong suốt sau: Trong suốt phân tán, hay trong suôt mạng Trong suốt nhân bản Trong suốt phân mảnh − Tăng tính tin cậy và tính sẵn sàng. − Cho phép dùng chung dữ liệu trong khi vẫn duy trì được biện pháp điều khiển cục bộ. − Cải tiến hiệu năng. − Tính dễ mở rộng. 1.2 Khái niệm cơ sở dữ liệu phân tán Ở mức phần cứng vật lý, những nhân tố chính phân biệt một hệ CSDLPT với một hệ CSDL tập trung là: − Có nhiều máy tính duợc gọi là trạm hay nút (node) − Các trạm phải duợc kết nối bởi một kiểu mạng truyền thông nào dó dể truyền dữ liệu và các lệnh giữa các trạm. 2 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Hình 1.1 CSDL trung tâm trên một mạng Hình 1.2 Môi truờng của hệ CSDLPT Một hệ quản trị CSDLPT là một tập các phần mềm hệ thống bao gồm các phần mềm quản trị các dữ liệu phân tán, các phần mềm quản trị truyền thông và các hệ quản trị CSDL địa phương/cục bộ lưu trú trên mỗi trạm của hệ CSDLPT. Ngoài chức năng của các hệ quản trị CSDL và của phần mềm quản trị truyền thông, hệ quản trị CSDLPT còn có các chức năng đặc biệt sau: − Quản lý một từ điển dữ liệu tổng thể lưu trữ thông tin liên quan đến các dữ liệu phân tán. − Định nghĩa các dữ liệu phân tán. − Kiểm tra ngữ nghĩa của các dữ liệu phân tán. − Định giá các câu truy vấn phân tán do người dùng đưa ra. − Quản lý các giao tác phân tán. − Bảo mật giao tác và dữ liệu. 3 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] − Phục hồi CSDL phân tán, cung cấp khả năng phục hồi dữ liệu từ những trạm (site) bị lỗi (sập). − Quản trị nhân bản dữ liệu. Một tính chất quan trọng của các CSDLPT là tính thuần nhất hay không thuần nhất. Một CSDLPT thuần nhất (homogeneous DDB) có được bằng cách chia một CSDL thành một tập các CSDL cục bộ, mỗi CSDL cục bộ này được quản trị bởi cùng một hệ quản trị CSDL. Một CSDLPT thuần nhất thường là kết quả của cách tiếp cận thiết kế trên xuống, trong đó ta thiết kế một CSDLPT từ một CSDL tập trung. Một CSDLPT không thuần nhất (heterogeneous DDB) là một CSDLPT có được bằng cách tích hợp một tập các CSDL cục bộ (có thể được xây dựng từ các mô hình dữ liệu khác nhau) được quản trị bởi các hệ quản trị CSDL khác nhau, thành một CSDL duy nhất. 1.3 Mục tiêu của hệ quản trị cơ sở dữ liệu phân tán Sự độc lập dữ liệu và trong suốt phân bố. Người dùng có thể không quan tâm đến sự phân tán dữ liệu. Các thông tin này được lưu giữ trong từ điển dữ liệu (catalog), và được hệ quản trị CSDLPT sử dụng để định vị dữ liệu. Đây là một dạng trong suốt cơ bản cần có trong một hệ CSDLPT, nó liên quan đến tính độc lập dữ liệu (data independence) và làm tăng khả năng thích ứng của các ứng dụng đối với những thay đổi trong định nghĩa và tổ chức của dữ liệu và ngược lại. Khi đó không có sự khác biệt nào giữa các ứng dụng chạy trên CSDL tập trung với ứng dụng chạytrên CSDLPT. 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 (thu được từ việc chia nhỏ các quan hệ gốc) đượ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 CSDLPT. Trong suốt phân mảnh che dấu sự phân đoạn đối với người dùng. Trong suốt nhân bản. Một giải pháp cho sự tin cậy dữ liệu là việc tạo ra dư thừa dữ liệu dưới một hình thức nào đó. Mỗi mảnh dữ liệu được sao lưu thành hai hay nhiều bản, mỗi bản được lưu trên một trạm khác nhau, được gọi là sự nhân bản. Nó giúp hệ CSDLPT nâng cao hiệu năng, độ tin cậy và tính sẵn sàng. Tuy nhiên việc nhân bản sẽ gây khó khăn cho việc cập nhật CSDL, và việc duy trì và quản lý các bản sao là phức tạp và tốn kém. Việc trong suốt nhân bản là việc che dấu khiến người dùng chỉ nhìn thấy các quan hệ không có nhân bản. Tính trong suốt đối với hệ quản trị CSDL. Cho phép che dấu đối vói người dùng việc các hệ quản trị CSDL cục bộ có thể khác nhau. Tính tự trị của các trạm. Đây là mục tiêu cho phép mỗi trạm điều khiển và thao tác dữ liệu địa phương của nó độc lập với các trạm khác. Do đó việc quản trị của CSDLPT có thể hoàn toàn phi tập trung. Tính mở rộng. Là khả năng mở rộng bằng việc đưa thêm các trạm mới vào mạng với ảnh hưởng tối thiểu lên các CSDL cục bộ và các chương trình ứng dụng hiện có. 1.4 Kiến trúc của hệ quản trị cơ sở dữ liệu phân tán. 4 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Các hệ phân tán ngang hàng. Tổ chức vật lý trên mỗi máy có thể rất khác nhau, do đó ta cần phải có một định nghĩa tổ chức dữ liệu vật lý cho mỗi trạm, mà chúng ta gọi là lược đồ trong cục bộ (LIS). Hình ảnh về toàn thể CSDL được mô tả bởi lược đồ khái niệm toàn cục (GCS), nó mô tả cấu trúc logic của dữ liệu ở mọi vị trí. Để xử lý việc phân mảnh và nhân bản ta sử dụng lược đồ khái niệm cục bộ (LCS), mô tả tổ chức logic của dữ liệu tại mỗi trạm. Do đó trong kiến trúc này lược đồ khái niệm toàn cục là “hợp” của các lược đồ khái niệm cục bộ. Và các ứng dụng truy xuất dữ liệu thông qua lược đồ ngoài (ES), được định nghĩa là một tầng nằm trên lược đồ khái niệm toàn cục. Các khái niệm trên được mô tả trong hình 1.3. Các thành phần cụ thể của một hệ CSDLPT. Ở đây hệ quản trị CSDLPT gồm 2 thành phần (mô tả trong Hình 1.4). Một thành phần xử lý mọi tương tác với người sử dụng là Bộ xử lý tiếp nhận người dùng (User Processor), còn thành phần kia lo việc xử lý dữ liệu (Data Processor). Hình 1.3 Kiến trúc tham chiếu CSDLPT Thành phần đầu tiên bao gồm: 5 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] − Bộ giao tiếp người dùng (user interface handler) diễn dịch các lệnh của người sử dụng, và định dạng dữ liệu để chuyển cho người sử dụng các kết quả. − Bộ kiểm soát dữ liệu ngữ nghĩa (semantic data controller) sử dụng các ràng buộc toàn vẹn (integrity constraints) và thông tin cấp phép, quyền hạn (authorization), được định nghĩa như thành phần của lược đồ khái niệm toàn cục, để kiểm tra, xác định xem các câu truy vấn có xử lý được hay không. − Bộ tối ưu truy vấn toàn cục (Global query optimizer) xác định một chiến lược hoạt động để giảm thiểu chi phí, và phiên dịch các câu truy vấn toàn cục thành câu truy vấn cục bộ thông qua việc sử dụng các lược đồ toàn cục, khái niệm cục bộ và thư mục toàn cục, ngoài ra còn chịu trách nhiệm tạo ra một chién lược thực thi tốt cho các phép nối phân tán. − Bộ theo dõi hoạt động toàn cục (Global execution Monitor) có trách nhiệm điều phối việc thực hiện phân tán các yêu cầu của người dùng và cũng được gọi là bộ quản lý giao dịch phân tán (Distributed transaction manager). Thành phần thứ hai gồm: − Bộ tối ưu truy vấn cục bộ (Local query processor) chịu trách nhiệm chọn ra một đường truy xuất thích hợp nhất để truy xuất các dữ liệu. − Bộ khôi phục cục bộ (Local recovery manager) đảm bảo cho các CSDL cục bộ duy trì được tính nhất quán khi có sự cố xảy ra. − Bộ hỗ trợ thực thi (Runtime support processor) truy xuất CSDL tùy vào các lệnh trong lịch (schedule) do bộ tối ưu vấn tin sinh ra. Nó là giao diện với bộ điều hành và chứa bộ quản lý vùng đệm CSDL (database buffer manager), chịu trách nhiệm quản lý vùng đệm và quản lý việc truy xuất dữ liệu. Một điểm lưu ý là hai thành phần này chỉ là phân chia về mặt tổ chức chứ không phải bắt buộc phải cài đặt trên các trạm khác nhau. Tuy nhiên cũng có những gợi ý tách biệt những trạm chỉ thực hiện truy vấn ra khỏi những hệ thống có đầy đủ chức năng, và khi đó các trạm này chỉ cần có bộ xử lý tiếp nhận người dùng. 6 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Hình 1.4 Các thành phần của một hệ quản trị CSDLPT 2. Các kiểu phân mảnh trong cơ sở dữ liệu phân tán 2.1. Cơ sở dữ liệu mẫu Bảng EMP (employee – nhân viên) gồm các thuộc tính ENO (employee number – mã số nhân viên); ENAME (employee name – tên nhân viên); TITLE (chức vụ). ENO ENAME TITLE E1 J.Doe Elect. Eng. E2 M.Smith Syst. Anal. E3 A. Lee Mech. Eng. E4 J. Miller Programmer E5 B.Casey Syst. Anal. E6 L. Chu Elect. Eng. E7 R. David Mech. Eng. E8 J. Jones Syst. Anal. 7 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Bảng PROJ (project – dự án) gồm các thuộc tính PNO (mã số dự án); PNAME (tên dự án); BUDGET (ngân sách dự án) và LOC (location – vị trí dự án). PNO PNAME BUDGET LOC P1 Instrumentation 150000 Montreal P2 Database Develop 135000 New York P3 CAD/CAM 250000 New York P4 Maintenance 310000 Paris Bảng ASG gồm các thuộc tính ENO (mã số nhân viên); PNO (mã số dự án); RESP (responsibility – nhiệm vụ trong dự án) và DUR (duration – thời gian). ENO PNO RESP DUR E1 P1 Manager 12 E2 P1 Analyst 24 E2 P2 Analyst 6 E3 P3 Consultant 10 E3 P4 Engineer 48 E4 P2 Programmer 18 E5 P2 Manager 24 E6 P4 Manager 48 E7 P3 Engineer 36 E8 P3 Manager 40 Bảng PAY gồm các thuộc tính TITLE (chức vụ); SAL (salary – lương). TITLE SAL Elect. Eng. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 24000 2.2. Phân mảnh ngang Phân mảnh ngang là phân mảnh chia một quan hệ theo các bộ, mỗi mảnh là một tập con của quan hệ. 8 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Hình 2.1 Minh họa phân mảnh ngang Ví dụ: Quan hệ PROJ có thể được chia thành hai quan hệ con là PROJ 1 chứa các thông tin về các dự án có ngân sách dưới 200000 đô la; quan hệ con PROJ 2 lưu các thông tin về các dự án có ngân sách lớn hơn 200000 đô la. PROJ 1 PNO PNAME BUDGET LOC P1 Instrumentation 150000 Montreal P2 Database Develop 135000 New York PROJ 2 PNO PNAME BUDGET LOC P3 CAD/CAM 250000 New York P4 Maintenance 310000 Paris 2.3. Phân mảnh dọc Một phân mảnh dọc cho một quan hệ R sinh ra các mảnh R1,R2,…,Rr, mỗi mảnh chứa một tập con thuộc tính của R và cả khóa của R. Mục đích của phân mảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ nhỏ hơn để nhiều ứng dụng chỉ cần chạy trên một mảnh. 9 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Hình 2.2 Minh họa phân mảnh dọc Ví dụ: Quan hệ PROJ có thể được phân mảnh dọc thành hai quan hệ con: PROJ 1 chứa thông tin về ngân sách các dự án; PROJ 2 chứa tên và vị trí dự án. PROJ 1 PNO BUDGET P1 150000 P2 135000 P3 250000 P4 310000 PROJ 2 PNAME LOC Instrumentation Montreal Database Develop New York CAD/CAM New York Maintenance Paris 2.4. Phân mảnh hỗn hợp Trong đa số trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ các ứng dụng. Trong trường hợp đó, phân mảnh dọc có thể được thực hiện sau một phân mảnh ngang hoặc ngược lại, sinh ra một lối phân hoạch có cấu trúc cây. Bởi vì hai chiến lược này được áp dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp. 10 | P a g e [...]... thuộc tính AA - Thực hiện tính ma trận ái lực gom cụm 26 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] - Thực hiện phân mảnh dọc với các dữ liệu tính được Kết quả chạy chương trình cho ta 2 mảnh: PROJ1 = {PNO, BUDGET} - 27 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] PNO P1 P2 P3 P4 BUDGET 150000 135000 250000 310000 PROJ2 = {PNAME, LOC}... Maintenance 28 | P a g e LOC Montreal New York New York Paris [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] TÀI LIỆU THAM KHẢO [1] Slide Bài giảng Cơ sở dữ liệu nâng cao, PGS.TS Đỗ Phúc [2] Nguyên lý các hệ Cơ sở dữ liệu phân tán (Tập 1), Biên dịch Trần Đức Quang, NXB Thống Kê, 1999 [3] Mã nguồn các thuật toán phân mảnh tham khảo của học viên Trương Mạnh Khiêm (Cao học khóa 4)... trình minh họa thuật toán phân mảnh ngang nguyên thủy 5.1 Giao diện chương trình 17 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Chương trình gồm các chức năng: - Nhập dữ liệu mẫu từ một tập tin chứa các quan hệ tạo sẵn (chẳng hạn như access) - Chọn một bảng dữ liệu để tiến hành phân mảnh - Khai báo các vị từ đơn giản từ bảng đã chọn - Tiến hành phân mảnh ngang nguyên... LOC P1 PROJ2 P3 PROJ3 20 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] P4 Maintenance 310000 Paris PNAME Database Develop BUDGET 135000 LOC New York PROJ4 PNO P2 5.4 Hạn chế của chương trình - Chưa cho phép nhập các số liệu tự do ngoài số liệu có trong bảng dữ liệu cung cấp sẵn - Chỉ mới cung cấp các toán tử =, >, < 6 Thuật toán phân mảnh dọc 6.1 Yêu cầu thông tin 6.1.1... [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] trong đó Fi là công thức chọn được sử dụng để có được mảnh R i Chú ý rằng nếu F i có dạng chuẩn hội, nó là một vị từ hội sơ cấp Một mảnh ngang Ri của quan hệ R có chứa tất cả các bộ R thỏa vị từ hội sơ cấp mi Vì vậy cho một tập các vị từ hội sơ cấp M, số lượng các mảnh ngang cũng bằng số lượng các vị từ hội sơ cấp Tập các mảnh ngang... hàng theo thứ tự tương đối của cột end {BEA} 6.3 Thuật toán phân hoạch 22 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Thuật toán PARTITION Nhập: CA: ma trận ái lực tụ; R: quan hệ; ref: ma trận sử dụng thuộc tính; acc: ma trận tần số truy xuất; Xuất: F: tập các mảnh; Begin {xác định giá trị z cho cột thứ nhất} {các chỉ mục trong phương trình chi phí chỉ ra điểm tách} tính... trị cho ma trận về giá trị sử dụng thuộc tính 24 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Ma trận bao gồm các thông tin sau • Bốn ứng dụng: q1: Tìm ngân sách của một dự án, cho biết mã số dự án q2: Tìm tên và ngân sách của tất cả mọi dự án q3: Tìm tên của các dự án được thực hiện tại một thành phố đã cho q4: Tìm tổng ngân sách dự án cho mỗi thành phố • Quan hệ PROJ... Pr’, một vị từ không có liên đới then Begin Pr’ Pr’ – pk F F – fk End End-if End-begin Until Pr’ đầy đủ End {COM_MIN} − 16 | P a g e Thuật toán PHORIZONTAL (thuật toán phân mảnh ngang nguyên thủy) [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Nhập: R: quan hệ; Pr: tập các vị từ đơn giản Xuất: M: tập các vị từ hội sơ cấp Begin Pr’ COM_MIN(R,Pr) Xác định tập M các vị từ hội... tần số truy cập [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Các giá trị trong ma trận tần số truy cập được cho tương ứng là: acc1(q1)=15; acc1(q2)=5; acc1(q3)=25; acc1(q4)=3; acc2(q1)=20; acc2(q2)=0; acc2(q3)=25; acc1(q4)=0; acc3(q1)=10; acc3(q2)=0; acc3(q3)=25; acc3(q4)=0; - Thực hiện tính ma trận ái lực thuộc tính AA - Thực hiện tính ma trận ái lực gom cụm 26 | P a g e [TÌM HIỂU... phân mảnh ngang nguyên thủy cho quan hệ - Có thể thực hiện phân mảnh ngang nguyên thủy trên các quan hệ khác 5.2 Phân mảnh ngang nguyên thủy trên quan hệ PAY 18 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Các vị từ đơn giản nhập vào cho chương trình: p1: SAL > 27000 p2: SAL < 27000 Kết quả chương trình cho ta 3 mảnh: PAY1 TITLE Elect Eng Syst Anal SAL 40000 34000 PAY2 . [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] MỤC LỤC 1 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] 1. Tổng quan về cơ sở dữ liệu phân tán 1.1. g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Hình 1.4 Các thành phần của một hệ quản trị CSDLPT 2. Các kiểu phân mảnh trong cơ sở dữ liệu phân tán 2.1. Cơ sở dữ liệu. 24000 2.2. Phân mảnh ngang Phân mảnh ngang là phân mảnh chia một quan hệ theo các bộ, mỗi mảnh là một tập con của quan hệ. 8 | P a g e [TÌM HIỂU MỘT SỐ THUẬT TOÁN PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN] Hình