Nghiên cứu ứng dụng cấu trúc dữ liệu trie cho tìm kiếm chuỗi ký tự

23 568 1
Nghiên cứu ứng dụng cấu trúc dữ liệu trie cho tìm kiếm chuỗi ký tự

Đ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

1 B GIÁO D C VÀ ĐÀO T O Đ I H C ĐÀ N NG Đ NG TH ÁNH PHƯ NG NGHIÊN C U NG D NG C U TRÚC D LI U TRIE CHO TÌM KI M CHU I KÝ T 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 2012 Cơng trình đư c hồn thành t i Đ I H C ĐÀ N NG Ngư i hư ng d n khoa h c: PGS.TS VÕ TRUNG HÙNG Ph n bi n 1: TS NGUY N THANH BÌNH Ph n bi n 2: TS NGUY N M U HÂN Lu n văn ñư c b o v t i H i ñ ng ch m Lu n văn t t nghi p th c sĩ k thu t h p t i Đ i h c Đà N ng vào ngày 03 tháng 03 năm 2012 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 • Trung tâm H c li u, Đ i h c Đà N ng M Đ U Lý ch n ñ tài G n ñây, h th ng kho d li u ngày ñư c m r ng đóng vai trị quan tr ng đ i v i ngư i quy t ñ nh; h u h t truy v n ñ i v i m t kho d li u l n r t ph c t p l p ñi l p l i; kh tr l i nh ng truy v n hi u qu m t v n ñ mà nhi u h th ng ñang hư ng ñ n Làm th ñ tăng t c ñ , c i thi n hi u su t truy v n câu h i l n khơng ng ng tìm ki m l i gi i ñáp t i ưu Hi n có r t nhi u k thu t ñư c áp d ng nh m tăng hi u qu truy v n, m i k thu t đ u có nh ng th m nh riêng, TRIE m t c u trúc d li u ñang ñư c tri n khai s d ng h th ng tìm ki m l n hi n t i b i nhi u tính ưu vi t giúp đ y nhanh t c đ hi u qu c a q trình truy v n Trư c th c tr ng đó, ch n nghiên c u th c hi n ñ tài “Nghiên c u ng d ng c u trúc d li u TRIE cho tìm ki m chu i ký t ” dư i s hư ng d n c a PGS TS Võ Trung Hùng Đ tài phát tri n s giúp cho sinh viên nói riêng nh ng ngư i nghiên c u v Cơng ngh thơng tin nói chung có thêm tài li u h tr tri n khai c u trúc d li u ph c v cho cơng tác tìm ki m chu i ký t bên c nh c u trúc d li u ñang s d ng hi n m t s h qu n tr s d li u l n, ñ c bi t h qu n tr s d li u mã ngu n m M c tiêu nhi m v nghiên c u M c tiêu c a ñ tài c u trúc d li u Trie đư c tìm hi u trình bày c th kèm theo vi c ng d ng MariaDB Nhi m v nghiên c u bao g m ph n nghiên c u lý thuy t v phương pháp t o ch m c tìm ki m; tìm hi u phương pháp Hash index, Bitmap Index, Btree Index nghiên c u c u trúc d li u Trie, bi n th c a Trie, thao tác b n c u trúc d li u D a nghiên c u lý thuy t đó, đ tài ñưa ñư c tài li u Ti ng vi t v c u trúc d li u Trie ph c v cho vi c h c t p nghiên c u 2 Đ i tư ng ph m vi nghiên c u Đ i tư ng nghiên c u c a ñ tài g m: Cơ s lý thuy t v phương pháp tìm ki m, truy xu t d li u, ch m c k thu t l p ch m c ph c v tìm ki m, gi i thu t liên quan ñ n c u trúc d li u TRIE Ph m vi nghiên c u v h th ng tìm ki m thơng tin nói chung k thu t l p ch m c ph c v cơng tác tìm ki m thơng tin (Hash Index, Bitmap Index, Btree Index), tr ng tâm ñi sâu tìm hi u c u trúc d li u TRIE, bi n th Trie nén thao tác b n Trie, Trie nén Phương pháp nghiên c u Đ tài ñư c tri n khai b ng phương pháp nghiên c u sau: Phương pháp tài li u nh m thu th p, phân tích t ng h p tài li u liên quan ñ n v n ñ lý thuy t, phương pháp mơ hình hóa phương pháp th c nghi m Ý nghĩa khoa h c th c ti n c a ñ tài K t qu nghiên c u có th làm tài li u tham kh o cho vi c tìm hi u phương pháp l p ch m c ph c v tìm ki m so sánh hi u qu gi a chúng, ñ c bi t tài li u v c u trúc d li u Trie ph c v tìm ki m Ngoài ra, ph n nghiên c u lý thuy t s cung c p m t cách nhìn t ng quát v h th ng tìm ki m, phương pháp tìm ki m B c c lu n văn Lu n văn đư c trình bày b n bao g m chương CHƯƠNG 1: T NG QUAN V TÌM KI M THƠNG TIN TRÊN VĂN B N CHƯƠNG 2: TRIE - C U TRÚC D LI U TÌM KI M CHU I KÝ T CHƯƠNG 3: TRIE TÌM KI M TRÊN CƠ S D LI U MARIADB CHƯƠNG 1: T NG QUAN V TÌM KI M THƠNG TIN TRÊN VĂN B N Trong chương chúng tơi s trình bày khái qt v tìm ki m thơng tin (Retrieval Information) c u trúc phương th c ho t ñ ng c a h th ng tìm ki m Bên c nh chúng tơi s gi i thi u m t s h th ng tìm ki m Internet Desktop ñang ph bi n hi n Cu i chương, chúng tơi s trình bày m t s ñánh giá ñ nh hư ng cho vi c ng d ng mã ngu n m 1.1 TÌM KI M THƠNG TIN 1.1.1 Khái qt v tìm ki m thơng tin [1],[2],[3] 1.1.2 Mơ hình tìm ki m [2] Hình 1.1 Mơ hình tìm ki m [2] Hình 1.1 mơ t m t mơ hình tìm ki m thơng tin “front-end process” bư c x lý liên quan ñ n ph n chương trình tương tác tr c ti p v i ngư i s d ng, ñi u n vi c giao ti p v i ngư i s d ng; “back-end process” x lý liên quan ñ n ph n chương trình ph tr phía sau, thư ng ñư c ñ t máy ch Query parser phân tích cú pháp truy v n Search engine interface giao di n c a máy tìm ki m Hình v miêu t nhi m v tương ng v i nhi m v c a B thu th p thông tin, B l p ch m c B tìm ki m thơng tin đư c nêu phía 4 1.2 M T S T PHƯƠNG PHÁP L P CH M C CHO TÌM KI M CHU I KÝ - VĂN B N [3], [4] 1.2.1 Hash Index 1.2.2 Btree Index 1.2.3 Bitmap Index 1.3 M T S H TH NG TÌM KI M HI N CĨ 1.3.1 Cơng c tìm ki m m ng internet 1.3.2 Cơng c tìm ki m máy tính cá nhân 1.4 K T LU N VÀ ĐÁNH GIÁ Trong chương tìm hi u nh ng m b n c a thơng tin hình th c lưu tr c a chúng máy tính Chương nghiên c u b n phương pháp tìm ki m thơng tin ñã ñang ñư c ng d ng lĩnh v c tài li u ñi n t Đ c bi t, nghiên c u phương pháp l p ch m c ph c v cho tìm ki m chu i ký t - văn b n, ñi n hình phương pháp Hash Index, Btree Index Bitmap Index Thơng qua vi c tìm hi u phương pháp l p ch m c này, ñ tìm đư c nh ng h n ch thao tác phương pháp đó, đ xu t tìm hi u phương pháp m i kh c ph c ñư c h n ch y v n ñ m b o k th a ñư c đ c tính tích c c có C u trúc m i ñư c ñ xu t Trie, đư c trình bày c th chương sau Bên c nh cịn tìm hi u c u trúc c a h th ng tìm ki m tìm hi u m t s cơng c tìm ki m Internet Desktop ñang phát tri n ng d ng hi n Qua nh ng ki n th c đó, b n ñã n m ñư c nh ng lý thuy t v lĩnh v c tra c u tìm ki m thơng tin, n m đư c m t s đ c m c a ng d ng tìm ki m mà hãng s n xu t l n phát tri n T đó, t ng h p ñư c nh ng lý thuy t c n thi t nh t cho vi c xây d ng m t ng d ng tương t hay k th a thư vi n mã ngu n m ñ phát tri n theo ñúng quy chu n 5 CHƯƠNG 2: TRIE - C U TRÚC D LI U TÌM KI M CHU I KÝ T Trong chương 1, ñã tìm hi u nh ng ki n th c t ng qt liên quan đ n tìm ki m thông tin văn b n phương pháp l p ch m c ñã ñư c s d ng, m i phương pháp có m t s ưu ñi m h n ch nh t ñ nh; Trong chương này, s tìm hi u v m t c u trúc d li u m i: Trie C u trúc ñư c s d ng k t h p v i c u trúc ñã ñư c l p ch m c trư c ñây nh m kh c ph c nh ng h n ch ñã nêu 2.1 C U TRÚC D LI U TRIE [5], [6] TRIE, phát âm “try”, t xu t phát t ch retrieval, ngư i phát minh Edward Fredkin; m t c u trúc d li u s d ng ký s khóa đ t ch c tìm ki m M c dù th c t có th s d ng r t nhi u h s đ phân tích khóa bên ký s , ví d có th ch n s t nhiên (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) ho c ký t b ng ch Ti ng Anh (a – z, A – Z) Gi s ph n t t n c n tìm ki m h sơ Sinh viên có ch a trư ng như: Tên SV, chuyên ngành h c, ngày sinh, Mã s Trong đó, trư ng khóa “Mã s ”, ñư c bi u di n b ng chín ký s th p phân t ñ n Đ th hi n ví d này, gi s r ng t n ch có năm ph n t Trư ng Tên Mã s c a m i năm ph n t ñư c hi n th hình bên dư i: TÊN MÃ S Hoa 951-94-1654 Thanh 562-44-2169 Anh 271-16-3624 Vy 278-49-1515 Phong 951-23-7625 Hình 2.1 Năm ph n t t ñi n [6] Chúng ta phân chia thành nhóm, nh ng ph n t có Mã s b t đ u b ng ký s “2”; nh ng ph n t b t ñ u b ng ký s “5” nhóm cu i g m ph n t b t ñ u b ng ký s Nh ng nhóm có nhi u m t ph n t s đư c phân chia s d ng ký s ti p theo khóa đ phân bi t Vi c phân chia s ñư c ti p t c cho đ n m i nhóm ch nh t m t ph n t K t qu q trình phân chia đư c mơ t m t Tree có 10 đư ng nhánh hình dư i Hình 2.2: Trie cho ph n t hình 2.1 [7] 2.2 TÌM KI M TRONG TRIE 2.2.1 Khóa có chi u dài gi ng Đ tìm ki m m t Trie cho m t ph n t v i khóa c a nó, b t đ u t g c t d n xu ng phía dư i cho ñ n h t Trie ho c cho ñ n nút ñang t m t nút 2.2.2 Khóa có chi u dài khác Trong ví d trên, t t c phím có s ký s , ký s Trong ng d ng th c t , có th s g p m t s trư ng h p mà khóa khác có s ký s khác nhau, thông thư ng, s thêm ký s ñ c bi t (thư ng #) vào cu i m i khóa 2.3 CHI U CAO C A TRIE [6], [7] Trong trư ng h p x u nh t, t nút g c ñ n nút lá, m i ký s khóa ph i t qua m t nút nhánh Khi chi u cao c a Trie t i ña, s ký s c a khóa c ng Trong trư ng h p này, Trie mã s ñư c minh h a ví d có chi u cao 10 2.4 YÊU C U KHÔNG GIAN VÀ C U TRÚC NÚT [6] 2.5 CHÈN M T PH N T VÀO TRIE Đ chèn m t ph n t A v i khóa K vào m t Trie vi c đ u tiên ta ph i ti n hành tìm ki m Trie xem có t n t i ph n t v i khóa K chưa N u trie ch a ph n t v i khóa đó, ta ti n hành thay th ph n t hi n hành v i ph n t A N u Trie không ch a ph n t A v i khóa K, ph n t A s ñư c ñưa vào Trie b ng cách s d ng th t c sau: Trư ng h p 1, th t c chèn n u k t qu tìm ki m cho khóa K k t thúc t i m t nút X b t kỳ, sau đó, khóa c a ph n t t i X khóa K s ñư c s d ng ñ xây d ng m t nhánh m i thay th cho ph n t X 8 Trong trư ng h p 2, th t c chèn k t qu tìm ki m ph n t A v i khóa K Trie k t thúc b i vi c t h t trie t i m t nút nhánh X b t kỳ khơng tìm th y k t qu Lúc ch th c hi n m t thao tác ñơn gi n thêm vào m t nút (là m t nút lá) t i v trí nút X Nút đư c thêm vào ph n t A v i khóa K 2.6 LO I B M T PH N T KH I TRIE Đ lo i b m t ph n t A v i khóa K, vi c đ u tiên ph i tìm ki m ph n t v i khóa K Trie N u khơng có ph n t v i khóa K Trie m i vi c khơng có đ th c hi n Vì th , ta gi ñ nh r ng Trie ñang thao tác có ch a ph n t A v i khóa K Các nút X đư c tìm th y ch a ph n t A s b lo i b xét t l i nút nhánh ñư ng d n t nút X quay v nút g c c a Trie S có m t s nút nhánh b lo i b n u chúng ch ch a nh t m t ph n t Vi c ñư c l p l i cho ñ n g p m t nút nhánh không b lo i b ho c cho ñ n ñã ti n hành lo i b c nút g c c a Trie Chúng ta xem ví d minh h a t i hình 2.4 2.7 TRIE NÉN VÀ CÁC BI N TH Chúng ta quan sát trie c a hình 2.2 Trong Trie này, có m t vài nút nhánh (đó B, D, F), nút ch có m t nhánh nh t Chúng ta có th c i thi n th i gian không gian lưu tr c a Trie b ng cách lo i b t t c nút nhánh mà ch có nh t m t nhánh Trie k t qu thu ñư c t thao tác ñư c g i Trie nén Khi nút nhánh ch có m t chúng s đư c di chuy n kh i Trie Ta c n lưu tr l i t t c nh ng thơng tin đ đ m b o vi c t ch c t ñi n ñư c xác Các thơng tin đư c lưu tr ba lo i c u trúc trie nén ñư c mô t dư i ñây 9 2.7.1 Trie nén ki u s 2.7.2 Trie nén lư t b 2.7.3 Trie nén v i thông tin c nh 2.7.4 Yêu c u không gian c a Trie nén 2.8 TÌM KI M TI N T VÀ M T S NG D NG 2.9 K T LU N Trong chương này, tơi nghiên c u tìm hi u v n ñ lý thuy t liên quan ñ n c u trúc d li u Trie c th bao g m nh ng ki n th c chung t ng quát v c u trúc Trie nh ng thao tác b n c u trúc d li u Qua vi c ñánh giá so sánh v i c u trúc d li u trư c, phương pháp l p ch m c ñã ñư c s d ng, lu n văn tìm đư c m t s m h n ch c a c u trúc ñ xu t bi n th nén c a trie Qua chương này, ngư i đ c có th có đư c ki n th c b n nh t v Trie, hư ng d n t ng bư c vi c th c hi n thao tác s d ng c u trúc này, ñánh giá hi u su t c a c u trúc nói chung thao tác nói riêng 10 CHƯƠNG 3: NG D NG TRIE TÌM KI M TRONG MARIADB Trong n i dung chương 2, tìm hi u sơ lư c v c u trúc Trie nh ng thao tác b n Trie C u trúc hi n ñang ñư c ng d ng ngày nhi u toàn th gi i, ñ c bi t vi c lưu tr x lý v i kho d li u l n H qu n tr s d li u mã ngu n m ngày ñư c nhi u ngư i l a ch n nh “tính m ” cho ngư i dùng Trong s đó, khơng th khơng k đ n MySQL v i c ng ñ ng ngư i s d ng r ng kh p nh ng tính h tr ưu vi t T ngư i sáng l p MySQL r i b Sun, c ng ñ ng ngư i s d ng MySQL toàn th gi i b t ñ u ti p c n v i MariaDB, m t nhánh r c a MySQL v i nh ng tính k th a hồn tồn c a MySQL đư c tích h p thêm nhi u tính m i nh m kh c ph c nh ng h n ch c a phiên b n MySQL trư c MariaDB m t h s d li u mã ngu n m hồn tồn mi n phí cho ngư i dùng, ngồi nh ng c u trúc d li u ñư c b trí v i MySQL, MariaDB cịn k t h p thêm nhi u c u trúc m i nh m t i ưu hóa q trình truy v n d li u ñ phù h p v i nh ng kho d li u l n M t c u trúc ñư c s d ng Trie (đã trình bày chương 2) 3.1 MƠ T NG D NG Đ làm rõ cho nh ng n i dung liên quan ñ n Trie ñã ñư c trình bày chương trư c, chương này, s ti n hành nghiên c u ng d ng c u trúc m i này(c u trúc Trie) truy v n c a h s d li u MariaDB Ch n MariaDB cho vi c ng d ng Trie m t h s d li u mã ngu n m hồn tồn mi n phí, đư c s d ng r ng rãi d n thay cho MySQL v n ñã chi m ñư c r t nhi u tình c m c a c ng đ ng ngư i s d ng toàn th gi i Ngồi ra, đ kh c ph c m t s l i h n ch trình s d ng MySQL MariaDB có r t nhi u c i ti n 11 m i tính h tr , t c ñ kh truy v n d li u mà m t nh ng phát tri n ghi nh n s d ng tích h p c u trúc d li u Trie h tr full-text-search Theo đó, n i dung sau ñây s trình bày nh ng ki n th c b n v h s d li u MariaDB, cách cài ñ t l y mã ngu n t MariaDB môi trư ng Ubuntu Đ làm rõ cho c u trúc Trie ñã minh h a chương 2, sau cài ñ t thành công, d a vi c nghiên c u mã ngu n c a MariaDB, s xác ñ nh c u trúc Trie ñư c ng d ng MariaDB th cài ñ t đ ti n hành t i ưu hóa thao tác truy v n h s d li u Qua đó, s bi t ñư c c u trúc Trie ñư c cài ñ t th th c ti n 3.2 MARIADB [7] 3.2.1 Gi i thi u chung [7] MariaDB, m t nhánh r c a MySQL, m t máy ch s d li u cung c p ch c thay th cho MySQL MariaDB ñư c xây d ng b i m t s tác gi ban ñ u c a MySQL v i s h tr t c ng ñ ng nhà phát tri n ph n m m mi n phí mã ngu n m Ngồi ch c c t lõi c a MySQL, MariaDB cung c p m t t p h p phong phú tính c i ti n bao g m công c lưu tr thay th , t i ưu hóa máy ch b n vá l i Phiên b n MariaDB ñư c tung h i tháng 11/2008 b i Monty Widenius, ngư i ñ ng sáng l p MySQL Widenius cơng b s phát tri n c a r nhánh MariaDB sau r i b ch c v ngư i trì cho MySQL c a Sun Cùng lúc nhà l p trình sáng l p Monty Program AB, m t cơng ty m i đ đưa r nhánh th trư ng 12 Hình 3.1 Trang ch MariaDB MariaDB m t nhánh c a MySQL, m t nh ng h qu n tr s d li u ph bi n nh t th gi i T d án nh phát tri n Web cho m t s trang Web n i ti ng uy tín, MySQL t ch ng minh b n thân m t cách v ng ch c, tin c y, nhanh chóng th t s m t gi i pháp h u hi u cho vi c s p x p lưu tr d li u 3.2.2 Các phiên b n phát tri n 3.3 TRIE TÌM KI M TRONG MARIADB 3.4 CÀI Đ T TH NGHI M 3.4.1 Cài ñ t 3.4.1.1 Thu th p mã ngu n Như ñã gi i thi u, MariaDB m t phiên b n ñư c r nhánh t MySQL, ñư c sáng l p b i nh ng ngư i m t th i tác gi c a MySQL Ngư i sáng l p hàng ñ u Monty Widenius_ngư i ñã sáng l p MySQL Monty Program AB Ngư i dùng kh p m i nơi th gi i có th truy c p vào đ a ch http://mariadb.org/ đ tìm hi u, h c h i t i v b cài ñ t mã ngu n c a MariaDB v i t t c phiên b n ñư c phát hành 13 Ngoài ch c h tr download gói cài đ t khác mơi trư ng khác nhau, http://mariadb.org/ cịn có nhi u h tr khác cho ngư i dùng q trình cài đ t ti p c n v i vi c s d ng, khai thác mã ngu n MariaDB Hình 3.7 Trang download mariadb đây, ngư i dùng có th l a ch n phiên b n phát tri n phù h p v i yêu c u c a h , h ñi u hành h tr Generic Linux, Linux Package, Solaris, Source code, Windows Các gói h tr g m source tar.gz file, gzipped tar file, MSI Package, Zip file RPM Package; CPU 64-bit ho c 32-bit Khi l a ch n gói download v i h ñi u hành phù h p, ti n hành cài đ t MariaDB, có th tham kh o mã ngu n ñ phát tri n Các phiên b n t ñư c phát tri n t 5.1 đ n 5.3 có s h tr tương ng Cách cài ñ t tương t s d ng MySQL, ngư i dùng có th tham kh o t i file Install-source ho c install-winsource gói đư c l a ch n t i v Hình 3.8 File Install-Source Install-Win-Source 14 3.4.1.2 Cài ñ t th c thi Phiên b n MariaDB m i nh t 5.3 hi n ñã có b n beta phát hành vào tháng 7/2011, nhiên ch y n đ nh nhi u tính ưu vi t, ngư i dùng có th t i b n m i nh t t i http://downloads.askmonty.org/mariadb/5.3/ ho c t i phiên b n cũ MariaDB 5.2 t i http://downloads.askmonty.org/mariadb/5.2/ hay phiên b n ñ u tiên 5.1 t i http://downloads.askmonty.org/mariadb/5.1/ Hình 3.9 Các gói cài đ t c a phiên b n MariaDB 5.2 Trong m i phiên b n đ u có nhi u gói đ cài đ t, b n c n ch n l a gói cài đ t phù h p v i yêu c u c a MariaDB ch y u đư c khai thác h ñi u hành mã ngu n m , b n thân mã ngu n m nên khơng đư c cài đ t theo ki u Wizard Cài Mariadb Ubuntu có th dùng nhóm l nh sau: shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf shell> ln -s full-path-to-mysql-VERSION-OS mysql shell> cd mysql 15 shell> chown -R mysql shell> chgrp -R mysql shell> scripts/mysql_install_db user=mysql shell> chown -R root shell> chown -R mysql data shell> bin/mysqld_safe user=mysql & Và ti n hành thay th phiên b n Mariadb b n ñang s d ng câu l nh cho phù h p Sau hoàn t t vi c cài ñ t, có th can thi p vào mã ngu n đê nghiên c u, trích l c phát tri n chương trình riêng V i c u trúc d li u ñư c t ch c s d ng, ngư i dùng s ñ c trích l c đ l a ch n nh ng đo n mã c n cho q trình làm vi c c a Chúng ta s ti n hành vi c download cài ñ t th ngi m ñ i v i phiên b n MariaDB 5.2 S d ng máy o ch y h ñi u hành Ubuntu phiên b n 10.10 ñ download cài ñ t sau: - Dùng l nh ch y l y khóa c n thi t (apt –key) - Thêm l nh yêu c u c a h th ng vào file Source.list - C p nh p gói - Ti n hành cài đ t MariaDB ubuntu - Cài gói h tr khai thác 16 Hình 3.10 Mã ngu n đư c m b ng Dev-C 3.4.2 Th nghi m Đ th ngh m, ti n hành cài ñ t h ñi u hành Ubuntu 10.10, mariaDB 5.2 C u trúc d li u Trie ñây ñư c s d ng m t Trie index tích h p ch c Full-Text-Search Sau cài ñ t, kh i đ ng: sudo /etc/init.d/mysql restart, Màn hình thành cơng n u có l nh báo Hình 3.11 Kh i ñ ng MariaDB Trong ph m vi lu n văn, ch d ng l i th nghi m tìm ki m m t chu i Trie MariaDB, c u trúc Trie ñư c xây d ng lưu tr b ng m t danh sách nút liên k t v i nhau, ti n hành tìm ki m m t chu i danh sách nút 17 Hình 3.12 Mã ngu n MariaDB đư c s d ng sau cài ñ t thành cơng Sau cài đ t thành cơng can thi p vào mã ngu n c a MariaDB, ta ti n hành tìm hi u vi c ng d ng c u trúc d li u Trie MariaDB Trong h qu n tr s d li u MariaDB, c u trúc d li u Trie ñư c s d ng tích h p ch c full-text-search Vi c ng d ng Trie b n mô t sau: C u trúc c a node Kh i t o Trie Phân b m t m ng tr s s d ng 18 Phân b nút m i đánh d u nút g c c a Trie So sánh, ñ i chi u chu i ñang truy v n chu i t i nút, tr v n u tìm th y, ngư c l i tr v V i c u trúc ñư c xây d ng b n trình bày trên, Trie h tr ch c fulltext-search MariaDB, phát huy tên tu i MySQL đư c đơng đ o ngư i s d ng th gi i s d ng K t qu th nghi m MariaDB, v i d li u c th T o s d li u “vidu” v i b ng “staff” Staff bao g m trư ng: pk_id, firstname, lastname, age, details Hình 3.13 T o s d li u b ng d li u 19 Đánh ch m c, nh p d li u cho b ng D li u s đư c dùng làm m u tìm ki m Hình 3.14 Nh p d li u cho b ng Sau hoàn t t vi c nh p d li u ta ti n hành thao tác truy v n b ng d li u v a nh p Hình 3.15 K t qu truy v n 3.5 ĐÁNH GIÁ 3.5.1 K t qu ñ t ñư c MariaDB m t h qu n tr s d li u mã ngu n m có nhi u phiên b n, h tr nhi u h ñi u hành v i nhi u gói cài đ t khác nên phù h p cho nhi u ñ i tư ng s d ng 20 MariaDB có hi u su t cao s d ng, v n đ ngư i đ c có th tham kh o ý ki n c a c ng ñ ng MySQL MariaDB toàn th gi i Chương ñã hư ng d n sơ lư c cách t i cài ñ t MariaDB ñ nghiên c u ng d ng c a c u trúc d li u Trie h qu n tr s d li u Ngư i đ c có th d a vào thơng tin t i đ l y môi trư ng, công c phát tri n làm n n nghiên c u cho ng d ng th c t c a c u trúc d li u Trie 3.5.2 Ưu ñi m h n ch MariaDB m t h qu n tr mã ngu n m nên t t c phiên b n cài đ t mã c a đ u mi n phí, v i MySQL, MariaDB có nh hư ng l n th gi i Vi c MariaDB ñưa vào s d ng k t h p c u trúc d li u Trie v i c u trúc d li u khác dùng phương pháp l p ch m c cũ m i k t h p m t d u hi u ñánh d u vi c kh ng ñ nh c u trúc d li u th i gian s p t i th trư ng cơng ngh Tuy nhiên, s m i l mà c MariaDB c u trúc d li u Trie đ u có nh ng h n ch nh t ñ nh MariaDb Trie h u xa l tài li u h tr nh ng công c , c u trúc khác Trong MariaDB ch m i đưa Trie vào s d ng s d ng k t h p v i c u trúc khác nên ngư i dùng mu n nghiên c u c u trúc Trie d a MariaDB ph i trích l c xây d ng l i h u ph n l n 3.5.3 K t lu n N i dung chương ñã cài ñ t ñư c MariaDB ño n chương trình đư c rút trích hồn thi n đ mơ t c th cho c u trúc Trie ñư c s d ng MariaDB M t c u trúc d li u cịn m i chưa đư c s d ng ñ i trà hi n nay; Ngồi vi c ch n MariaDB đ minh h a cho vi c s d ng câu trúc m i MariaDB m t l a ch n ti p theo cho MySQL tr tu i (phiên b n beta m i nh t v a ñư c phát hành vào tháng 7/2011) V i s m i m th i gian ph m vi h n ch , hy v ng th i gian t i tác gi s phát tri n nghiên c u sâu v c u trúc Trie phát tri n ng d ng th c t cho c u trúc 21 K T LU N VÀ KI N NGH Trong lu n văn, tơi tìm hi u nghiên c u ñư c c u trúc d li u Trie, m t s thao tác b n Trie ñ c bi t cách nén Trie nh m tăng hi u qu s d ng c u trúc v i thao tác Trie đư c nén như: tìm ki m, chèn, xóa, s a,…Bên c nh đó, lu n văn cịn tìm hi u v ki n th c liên quan đ n tìm ki m thơng tin văn b n, phương pháp l p ch m c c u trúc d li u ñã t ng ñư c s d ng trư c ñây, so sánh c u trúc v i nhau, tìm nh ng m t tích c c nh ng h n ch Trong trình th c hi n, tơi hi u b n v c u trúc d li u này; hi n nay, c u trúc chưa ñư c ph bi n Vi t nam có m t s tính th t s hi u qu không th ph nh n, th , lu n văn s tài li u b ích cho b n sinh viên nói riêng nh ng ngư i nghiên c u v cơng ngh thơng tin nói chung có thêm tài li u ñ tham kh o bư c ban ñ u ti n hành nghiên c u, h c t p tri n khai xây d ng ng d ng th c t trư ng h p mu n ti p c n ñi sâu khai thác Trie Do th i gian, ph m vi c a lu n văn ki n th c cá nhân gi i h n c ng thêm c u trúc d li u m i tu i c a MariaDB tr nên lu n văn ch d ng l i m c tìm hi u k v m t lý thuy t liên quan ñ n c u trúc TRIE thao tác Trie; Tìm hi u cách s d ng TRIE h qu n tr s d li u mã ngu n m MariaDB ñ ch ng minh r ng c u trúc hi n ñang ñư c s d ng ngày ph bi n nhi u qu c gia th gi i Tuy nhiên, lu n văn chưa th th c nghi m tr c ti p ñ so sánh Trie v i câu trúc khác MariaDB, ñây m t ñi m h n ch hư ng phát tri n th i gian s p ñ n v i mong mu n có ñư c m t tài li u hoàn ch nh v Trie ñ cung c p cho ngư i s d ng T nh ng h n ch thi u sót trên, ñ lu n văn ñư c ti p t c phát tri n theo ñ nh hư ng r t mong nh n đư c s đóng góp c a nhà phát tri n lĩnh v c tìm ki m thơng tin, s tr giúp v ngu n thơng tin đ hồn thi n ph n ng d ng h th ng vào th c t s d ng ph c v cho nhu c u hàng tri u ngư i s d ng nư c ... tri n nghiên c u sâu v c u trúc Trie phát tri n ng d ng th c t cho c u trúc 21 K T LU N VÀ KI N NGH Trong lu n văn, tơi tìm hi u nghiên c u đư c c u trúc d li u Trie, m t s thao tác b n Trie. .. Btree Index nghiên c u c u trúc d li u Trie, bi n th c a Trie, thao tác b n c u trúc d li u D a nghiên c u lý thuy t đó, đ tài đưa đư c tài li u Ti ng vi t v c u trúc d li u Trie ph c v cho vi c... này, s tìm hi u v m t c u trúc d li u m i: Trie C u trúc ñư c s d ng k t h p v i c u trúc ñã ñư c l p ch m c trư c ñây nh m kh c ph c nh ng h n ch ñã nêu 2.1 C U TRÚC D LI U TRIE [5], [6] TRIE,

Ngày đăng: 30/12/2013, 22:21

Từ khóa liên quan

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

Tài liệu liên quan