Nghiên cứu các kỹ thuật lập chỉ mục đa chiều trên cơ sở dữ liệu quan hệ

26 412 0
Nghiên cứu các kỹ thuật lập chỉ mục đa chiều trên cơ sở dữ liệu quan hệ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Header Page of 126 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG LÊ THỊ ANH ĐÀO NGHIÊN CỨU CÁC KỸ THUẬT LẬP CHỈ MỤC ĐA CHIỀU TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2013 Footer Page of 126 Header Page of 126 Công trình hoàn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: TS TRƯƠNG NGỌC CHÂU Phản biện 1: TS HUỲNH CÔNG PHÁP Phản biện 2: TS NGUYỄN MẬU HÂN Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Kỹ thuật họp Đại học Đà Nẵng vào ngày 18 tháng năm 2013 Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin - Học liệu, Đại Học Đà Nẵng Footer Page of 126 Header Page of 126 MỞ ĐẦU Lý chọn đề tài Các nghiên cứu công nghệ ứng dụng lĩnh vực Cơ sở liệu tăng trưởng với sức mạnh đáng kinh ngạc Cùng với tăng trưởng nhanh chóng lượng thông tin đa dạng thể loại thông tin cần lưu trữ xử lý, ngày nhận hạn chế Hệ quản trị sở liệu quan hệ truyền thống nảy sinh nhu cầu cần có Hệ quản trị sở liệu với dịch vụ phù hợp, yếu tố thúc đẩy nghiên cứu lĩnh vực Một mô hình quan tâm mô hình Cơ sở liệu đa chiều xử lý đối tượng đa chiều như: liệu đồ số, liệu đa phương tiện vv… mở rộng kho liệu không gian Các nghiên cứu lĩnh vực thu hút nhiều thành tựu, nhiên không khó khăn thách thức đòi hỏi giải pháp Như biết nhu cầu tối ưu hóa truy vấn liệu cho nhanh đòi hỏi đáng cấp bách, đặc biệt việc truy vấn vùng liệu nhỏ không gian liệu rộng lớn Phương pháp đánh mục ban đầu dùng cho tìm kiếm theo thuộc tính nhiên thực tế truy vấn liệu phải tìm kiếm theo nhiều thuộc tính với nhiều khoảng điều kiện, điều dẫn tới tồn đa mục cho đa thuộc tính kết cuối tập giao kết tương ứng với mục Thường có nhu cầu truy vấn để lấy số liệu vùng không gian liệu lớn mà không quan tâm tới thuộc tính mệnh đề “WHERE”, kích thước liệu tăng lên kết truy vấn nhỏ điều dẫn tới truy vấn chậm dần theo kích cỡ Footer Page of 126 Header Page of 126 Với lý trên, đề xuất chọn đề tài luận văn cao học: “NGHIÊN CỨU CÁC KỸ THUẬT LẬP CHỈ MỤC ĐA CHIỀU TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ” Mục tiêu nhiệm vụ đề tài - Mục tiêu nghiên cứu phương pháp tạo mục đa chiều CSDL quan hệ nhằm tăng hiệu suất cho việc truy xuất liệu dựa phương pháp truyền thống B+, UB R áp dụng vào thực tế - Các nhiệm vụ cụ thể: Tìm hiểu sở liệu quan hệ  Tìm hiểu lý thuyết phương pháp đánh số CSDL  Xây dựng sở lý thuyết đánh đa mục CSDL Đối tượng phạm vi nghiên cứu - Cơ sở liệu quan hệ - Phương pháp đánh mục đa chiều dựa B+, UB R Phương pháp nghiên cứu - Phương pháp Lý thuyết  Tìm hiểu sở liệu quan hệ  Tìm hiểu mục đa chiều CSDL Quan hệ  Tìm hiểu B+, UB R  Tìm hiểu CSDL PostgreSQL - Phương pháp Thực nghiệm  Xây dựng phương pháp đánh mục đa chiều dựa vào R Tree áp dụng vào CSDL PostgreSQL Dự kiến kết quả: - Kết lý thuyết Footer Page of 126 Header Page of 126  Hiểu khái niệm CSDL quan hệ  Hiểu khái niệm đánh mục CSDL quan hệ  Hiểu khái niệm đa mục CSDL  Đưa phương pháp đánh mục đa chiều CSDL quan hệ - Kết thực tiễn  Áp dụng vào CSDL PostgreSQL tăng tốc độ truy vấn liệu Ý nghĩa khoa học thực tiễn đề tài - Tìm hiểu sâu CSDL quan hệ phương pháp đánh mục đa chiều - Đưa phương pháp đánh mục đa chiều áp dụng vào CSDL PostgreSQL Bố cục luận văn Luận văn chia thành phần: - Chương – Giới thiệu chung: khái niệm mục mục đa chiều CSDL quan hệ - Chương – Các phương pháp đánh mục đa chiều CSDL quan hệ: mô tả phương pháp đánh mục đa chiều phổ biến áp dụng hệ quản trị sở liệu quan hệ - Chương – Xây dựng phương pháp đánh mục đa chiều hệ quản trị CSDL PostgreSQL: mô tả khái niệm hệ quản trị sở liệu quan hệ PostgreSQL Tác giả đề xuất phương pháp đánh mục đa chiều PostgreSQL - Chương – Thử nghiệm đánh giá: thử nghiệm đánh giá phương pháp đưa phương pháp phổ biến hệ quản trị CSDL ngày - Phần cuối kết luận hướng mở rộng đề tài Footer Page of 126 Header Page of 126 CHƯƠNG GIỚI THIỆU CHUNG 1.1 TỔNG QUAN VỀ CHỈ MỤC TRONG CSDL QUAN HỆ 1.1.1 Phân loại mục a Theo cách xếp - Chỉ mục gom nhóm - Chỉ mục thường Hình 1.1: Ví dụ mục gom nhóm mục không gom nhóm b Theo lập mục - Chỉ mục dày: - Chỉ mục thưa: Hình 1.2: Ví dụ mục thưa mục dày Footer Page of 126 Header Page of 126 c Theo cấu trúc cài đặt mục Theo cấu trúc cài đặt mục có loại: - Cây Phổ biến B+ - Phương pháp truy cập theo số (Indexed Sequential Access Method – ISAM) - Hàm băm 1.1.2 Các phép toán mục Các phép toán mục phép toán tập hợp, bao gồm: phép giao, phép hợp, phép trừ 1.2 CHỈ MỤC ĐA CHIỀU 1.2.1 Không gian đa chiều a Các khái niệm - Dữ liệu không gian - Dữ liệu điểm - Dữ liệu vùng b Các phương pháp truy vấn phổ biến liệu không gian - Truy vấn theo phạm vi không gian (Spatial range queries) Truy vấn dựa láng giềng gần (Nearest neighbor queries) Truy vấn liên kết không gian (Spatial join queries) 1.2.2 Dữ liệu đa chiều a Dữ liệu đa phương tiện b Cơ sở liệu quan hệ truyền thống Footer Page of 126 Header Page of 126 CHƯƠNG CÁC PHƯƠNG PHÁP ĐÁNH CHỈ MỤC TRONG CSDL QUAN HỆ 2.1 PHƯƠNG PHÁP SỬ DỤNG CÂY B TREE Cây khái niệm cấu trúc liệu Cây tạo thành từ nút; nút (trừ nút gốc) có nút cha có nút Một nút nút gọi nút Mức nút gốc 0, mức nút = mức nút cha + - B Tree mục sơ cấp - B Tree mục thứ cấp 2.2 PHƯƠNG PHÁP SỬ DỤNG CÂY B+ TREE B+ tree biến thể B [3] Trong B+ tree trỏ liệu xuất phát nút Các nút liên kết với theo thứ tự khóa tìm kiếm, chúng giống mức mục nhiều mức Hình 2.7: Cấu trúc nút B+ tree có bậc p 2.3 PHƯƠNG PHÁP SỬ DỤNG CÂY KD TREE Cây KD-Tree cấu trúc đời sớm để đánh mục đa chiều Một cấu trúc liệu phân vùng không gian tổ chức thành điểm không gian k-chiều [22] Footer Page of 126 Header Page of 126 Hình 2.9: Ví dụ KD tree áp dụng đánh mục đa chiều Cây KD-Tree có số đặc điểm: - Là nhị phân mà nút tọa độ điểm k chiều: điểm vector k phần tử - Mỗi nút nút phân chia không gian thành vùng: - Không dùng để lưu trữ liệu vùng 2.4 PHƯƠNG PHÁP SỬ DỤNG CÂY R TREE R-Tree thường sử dụng để lập mục cho đối tượng kích thước không gian nhiều chiều giống tọa độ địa lý, hình chữ nhật đa giác R tree đề xuất Antonin Guttman vào năm 1984 [8] sử dụng rộng rãi lý thuyết ứng dụng thực tiễn Cấu trúc mục giúp cập nhật đơn giản cho mục điểm không gian nhiều chiều với vài cải tiến nhỏ giải thuật chèn tìm kiếm Một thực tế hay sử dụng R tree lưu trữ đối tượng không gian địa điểm, nhà hàng, đa giác chúng tạo thành đồ: đường, nhà, hồ, bờ biển, vv… tìm kiếm Footer Page of 126 Header Page 10 of 126 chúng cách nhanh chóng với truy vấn “tìm tất bảo tàng vòng bán kính km từ vị trí tôi” 2.5 PHƯƠNG PHÁP SỬ DỤNG CÂY R+ TREE Về bản, R tree khác R+ tree số điểm sau: - Các nút không đảm bảo có nửa đầy - Những thực thể nút bên không bị chồng chéo - Một định danh đối tượng lưu trữ nhiều nút 2.6 PHƯƠNG PHÁP SỬ DỤNG CÂY R* TREE - Tối thiểu hóa vùng bao phủ MBR - Tối thiểu hóa chồng chéo MBR - Tối thiểu hóa lề MBR - Tối đa hóa khả lưu trữ 2.7 PHƯƠNG PHÁP SỬ DỤNG CÂY UB TREE Cây UB Tree kỹ thuật tiến hóa để tổ chức liệu đa chiều sở liệu, đề xuất Rudolf Bayer Volker Markl [11] (cho phép tránh vùng không gian chết) Nó khắc phục thiếu sót kỹ thuật đánh mục B Tree cách tích hợp phương thức truy cập đa chiều (là kết hợp B+ tree phương pháp đường cong Z) Phương pháp có khả ứng dụng vào việc cải thiện hiệu nhiều lĩnh vực khác Cấu trúc liệu UB Tree tổ chức liệu phổ biến vào không gian n-chiều sử dụng đường cong không gian chia nhỏ không gian tổng thể Footer Page 10 of 126 Header Page 12 of 126 10 CHƯƠNG NGHIÊN CỨU PHƯƠNG PHÁP ĐÁNH CHỈ MỤC ĐA CHIỀU TRONG HỆ QUẢN TRỊ CSDL QUAN HỆ POSTGRESQL 3.1 ĐÁNH CHỈ MỤC TRONG PostgreSQL 3.1.1 Khái niệm chung CSDL PostgreSQL 3.1.2 So sánh PostgreSQL số hệ quản trị CSDL khác a Hệ điều hành hỗ trợ b Các tính c Hỗ trợ bảng khung nhìn d Chỉ mục Bảng 3.4 so sánh PostgreSQl hệ quản trị sở MySQL Oracle Postgre SQL liệu khác khả đánh mục Biểu Chỉ Cây RHàm thức mục Chỉ /Cây Bitmap băm (Lập mục R+ trình) phần x x x x x x x x x x x x x GiST x e Các đối tượng khác 3.1.3 Đánh mục PostgreSQL a Heap Index PostgreSQL sử dụng kiểu quan hệ quan hệ heap (HRs) quan hệ index (IRs) HRs quản lý tất quan hệ người dùng, chúng lưu trữ với thứ tự định trước Heap thân Footer Page 12 of 126 Header Page 13 of 126 11 tập hợp khối liệu cố định khối chứa đựng nhiều ghi IRs chứa cặp cho phép truy cập nhanh giá trị ghi theo khóa b Cấu trúc liệu IR Mỗi mục PostgreSQL bao gồm loại có cấu trúc [16]: typedef struct IndexTupleData { ItemPointerData t_tid; unsigned short t_info; } c Thuộc tính mục d Lập trình mở rộng với PostgreSQL Để xây dựng phương pháp truy cập người dùng tự định nghĩa CSDL PostgreSQL yêu cầu bước sau: - Bước 1: Cài đặt tập chức định nghĩa giao diện mà hệ thống PostgreSQL core sử dụng để giao tiếp với phương thức truy cập - Bước 2: Đăng ký chức định nghĩa bước - Bước 3: Định nghĩa mục cách kết nối chức đăng ký với mục tạo - Bước 4: Tạo lớp định nghĩa toán tử SQL kiểu hỗ trợ phương thức truy cập đăng ký - Bước 5: Sử dụng mục thông qua cột bảng chứa kiểu liệu hỗ trợ lớp toán tử 3.2 CÀI ĐẶT CHƯƠNG TRÌNH 3.2.1 Cài đặt tập chức 3.2.2 Đăng ký chức giao diện Footer Page 13 of 126 Header Page 14 of 126 CREATE OR 12 REPLACE FUNCTION atomrtgettuple (INTERNAL ,INT4) RETURNS BOOL AS ’libatomrtree.dll’, ’atomrtgettuple’ LANGUAGE ’C’; 3.2.3 Đăng ký phương pháp mục 3.2.4 Tạo lớp định nghĩa toán tử SQL kiểu hỗ trợ phương thức truy cập đăng ký 3.2.5 Sử dụng mục CREATE INDEX i ON table_name USING index_name(col1, col2, col3) 3.3 CÁCH TRUY XUẤT MỘT BẢN GHI KHI PHƯƠNG THỨC TRUY CẬP ĐƯỢC CÀI ĐẶT 3.3.1 Khóa tìm kiếm “Giá trị thu cách kết hợp điều kiện tìm kiếm” Cài đặt phương pháp mục không giải việc phân tích cú pháp mệnh đề WHERE câu truy vấn, việc thực lõi PostgreSQL Cấu trúc khóa tìm kiếm mô tả sau [16]: typedef struct ScanKeyData { int sk_flags; AttrNumber sk_attno; StrategyNumber sk_strategy; Oid sk_subtype; FmgrInfo sk_func; Datum sk_argument; } ScanKeyData; 3.3.2 Duyệt số Footer Page 14 of 126 Header Page 15 of 126 13 3.4 PHƯƠNG PHÁP ĐÁNH CHỈ MỤC NGOÀI Mỗi phương thức truy cập cung cấp PostgreSQL cài đặt phương thức cần thiết sử dụng HRs kho để lưu trữ IRs cho mục đích lập mục quan hệ Nó truyền TIDs IR tới core core trả ghi liên quan khỏi heap Trong phiên tại, framework tác giả truyền TID IRs tới core (TID IRs lưu trữ bên ngoài), core lấy TID HR, lượt chúng đưa ghi kết (hình 3.3) Hình 3.3: Lưu trữ IRs cấu trúc mục bên 3.4.1 Lợi ích phương pháp đánh mục bên 3.4.2 Những thách thức - Lặp đọc trang - Dữ liệu toàn cục - Không có khả nhận kết thúc tồn mục Footer Page 15 of 126 Header Page 16 of 126 14 3.5 LẬP CHỈ MỤC VỚI ATOM VÀ PostgreSQL 3.5.1 Amphora Tree Object Model 3.5.2 Sử dụng ATOM PostgreSQL a Cài đặt R Tree b Kết nối ATOM PostgreSQL Hình 3.7: Các bước sử dụng wrap ATOM PostgreSQL Footer Page 16 of 126 Header Page 17 of 126 15 CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ 4.1 DỮ LIỆU THỬ NGHIỆM Dữ liệu tổng hợp Dữ liệu thực 4.1.1 Tập liệu Uniform Tập liệu Uniform tạo thành cụm kích thước cụm tính công thức [24]: Trong a kích thước cụm, b số lượng chiều, d số cụm, c kích thước chiều a Tập liệu Gauss b Tập liệu thực 4.2 SO SÁNH CÁC NỀN TẢNG 4.2.1 PostgreSQL 8.1.3 4.2.2 Microsoft SQL Server 2000 4.2.3 Oracle 9i Release 4.2.4 Transbase 6.4.1 4.3 CÁC THÔNG TIN ĐO SỐ LƯỢNG a Thời gian b Số lượng truy cập c Kích thước mục 4.4 PHƯƠNG PHÁP KIỂM TRA 4.4.1 Phần cứng 4.4.2 Phương pháp Footer Page 17 of 126 Header Page 18 of 126 16 4.5 KẾT QUẢ THỬ NGHIỆM 4.5.1 Kích thước mục 4.5.2 Ảnh hưởng kích thước sở liệu kích thước định chọn lọc Tập thử nghiệm liên quan tới ảnh hưởng kích cỡ tập liệu tới số lượng truy cập tới mục Trong trường hợp chiều, R Tree tốt phương thức khác khác biệt tương đối mức xấp xỉ với kích thước liệu tăng dần Với mức lựa chọn truy vấn cao hơn, khác biệt rõ ràng Footer Page 18 of 126 Header Page 19 of 126 17 Hình 4.4: Ảnh hưởng kích thước liệu tới số truy cập (tăng số chiều, giảm số truy vấn) Nếu số chiều tăng tới nhìn thấy khác biệt phương pháp UB Tree phương pháp R Tree còn, đáng ý giải pháp tiêu chuẩn B+ bắt đầu giảm rõ rệt (hình 4.4) Footer Page 19 of 126 Header Page 20 of 126 18 Hình 4.5: Ảnh hưởng kích thước liệu tới số lượng truy cập chọn lọc tăng lên 4.5.3 Ảnh hưởng lựa chọn truy vấn tới số lượng truy cập Thử nghiệm liên quan tới lựa chọn truy vấn Hình 46 thấy phương pháp R Tree UB Tree số lượng truy cập tăng tuyến tính với số chọn lọc (độc lập với chiều) Mặt khác tăng trưởng phương pháp chuẩn cho thấy xu logarít số chiều cao Lý xu thực tế số lượng ghi nhận tăng lên, nhược điểm phương pháp chuẩn nguyên Footer Page 20 of 126 Header Page 21 of 126 19 nhân không đối xứng việc giảm khóa truy cập (nhiều nhánh duyệt) Hình 4.7: Ảnh hưởng kích thước liệu tới số lượng truy cập kích cỡ liệu tăng lên Footer Page 21 of 126 Header Page 22 of 126 20 4.5.4 Phân phối Gauss Qua kết thể hình 4.9 thấy chiều R Tree phương pháp cho kết tốt B+ tree phương pháp cho kết tồi Các phương pháp lại cho kết tương đương Trong khi số chiều cao số chọn lọc lớn UB Tree lại phương pháp cho kết tốt Hình 4.9: Di chuyển cửa sổ truy vấn 4.5.5 Đo thời gian thực Footer Page 22 of 126 Header Page 23 of 126 21 Hình 4.10: Ảnh hưởng lựa chọn truy vấn thời gian thực Footer Page 23 of 126 Header Page 24 of 126 22 4.5.6 Dữ liệu thực Trong thử nghiệm cuối đánh mục tập liệu DBLP để đo yếu tố số lượng truy cập thời gian thực Chúng ta nhìn vào kết thể số lượng truy cập thấy với tập liệu DBLP lợi ích phương pháp đánh mục đa chiều đáng kể (chú ý) trường hợp liệu tổng hợp Trong vài trường hợp phương pháp sử dụng R tree hiệu 20 lần so với phương pháp áp dụng Oracle SQL Server Tuy nhiên với thời gian thực số vấn đề với trường hợp tập liệu tổng hợp xuất Các giải pháp thương mại cạnh tranh tốt trường hợp phương pháp cài đặt tốt Footer Page 24 of 126 Header Page 25 of 126 23 KẾT LUẬN Mặc dù ý tưởng đơn giản nhiên có ý nghĩa Nó cho phép lưu trữ kiểu liệu đa chiều theo nhiều cách khác truy vấn chúng hiệu với ngôn ngữ truy vấn liệu SQL chuẩn Một vài lĩnh vực phương pháp đánh mục áp dụng: - Những truy vấn đối xứng Ví dụ hệ thống nhà cung cấp nơi mà người dùng cần phải truy vấn theo nhiều thuộc tính với lựa chọn giống Như đa mô tả luận văn này, áp dụng nhiều B tree để làm công việc hệ thống sở liệu thương mại Do đó, liệu truy cập cách dễ dàng - Những đặc tính đối tượng – sở liệu đa phương tiện Những đặc tính đối tượng giống hình ảnh luôn bao gồm nhiều chiều (bề mặt, màu sắc, điểm ảnh…vv) Với đặc tính sử dụng đánh mục đa chiều Tuy nhiên đối tượng lưu trữ theo vài kiểu liệu giống BLOB object phương pháp đánh mục nêu không cần thiết để áp dụng - Được ánh xạ vào sở liệu không quan hệ Nhiều mô hình liệu đại khai thác quan điểm mô hình liệu quan hệ để thực truy vấn chúng cách hiệu khai thác liệu Ví dụ: sở liệu XML thường biến đổi thành bảng, XPath XQuery thường thực sử dụng SQL chuẩn Như trình bày luận văn này, tác giả áp dụng R tree vào hệ quản trị sở liệu PostgreSQL để thực cài đặt Footer Page 25 of 126 Header Page 26 of 126 24 phương pháp đánh mục cho sở liệu quan hệ Tác giả thử nghiệm phương pháp với hầu hết tảng hệ thống sở liệu phổ biến ngày nhận giải pháp tác giả đưa hiệu khía cạnh độc lập tảng Tuy nhiên để đánh bại đối thủ cạnh tranh vấn đề thời gian thực, phương pháp đánh mục cần tối ưu hóa kết hợp trực tiếp vào lõi hệ thống quản trị sở liệu tương lai gần Trong phạm vi PostgreSQL, phương pháp đánh mục đa chiều dựa vào R tree thực tốt so với phương pháp dựa vào B+ tree hai trường hợp chi phí truy cập thời gian thực Chúng phát triển framework (như sản phẩm độc lập) cho nhà nghiên cứu khác để cài đặt phương thức đánh mục họ kiểm thử chúng môi trường sở liệu thực (PostgreSQL) với cần chút hiểu biết tảng sở liệu Footer Page 26 of 126 ... THUẬT LẬP CHỈ MỤC ĐA CHIỀU TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ” Mục tiêu nhiệm vụ đề tài - Mục tiêu nghiên cứu phương pháp tạo mục đa chiều CSDL quan hệ nhằm tăng hiệu suất cho việc truy xuất liệu dựa... khái niệm mục mục đa chiều CSDL quan hệ - Chương – Các phương pháp đánh mục đa chiều CSDL quan hệ: mô tả phương pháp đánh mục đa chiều phổ biến áp dụng hệ quản trị sở liệu quan hệ - Chương – Xây... queries) 1.2.2 Dữ liệu đa chiều a Dữ liệu đa phương tiện b Cơ sở liệu quan hệ truyền thống Footer Page of 126 Header Page of 126 CHƯƠNG CÁC PHƯƠNG PHÁP ĐÁNH CHỈ MỤC TRONG CSDL QUAN HỆ 2.1 PHƯƠNG

Ngày đăng: 04/05/2017, 07:24

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan