DSpace at VNU: Đánh giá hiệu năng các hệ thống Inverted Index cho bài toán khai thác thông tin nhật kí giao dịch dựa trê...
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRỊNH HỒNG ĐIỆP
ĐÁNH GIÁ HIỆU NĂNG CÁC HỆ THỐNG INVERTED INDEX CHO BÀI TOÁN KHAI THÁC THÔNG TIN NHẬT KÍ GIAO DỊCH DỰA TRÊN
BỘ CÔNG CỤ XỬ LÝ DỮ LIỆU LỚN HADOOP
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRỊNH HỒNG ĐIỆP
ĐÁNH GIÁ HIỆU NĂNG CÁC HỆ THỐNG INVERTED INDEX CHO BÀI TOÁN KHAI THÁC THÔNG TIN NHẬT KÍ GIAO DỊCH DỰA TRÊN
BỘ CÔNG CỤ XỬ LÝ DỮ LIỆU LỚN HADOOP
Ngành: Công nghệ Thông tin
Chuyên ngành: Truyền dữ liệu và Mạng máy tính
Mã số:
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: Tiến sĩ Hoàng Xuân Tùng
Hà Nội – 2015
Trang 3LỜI CẢM ƠN
Tôi xin chân thành cảm ơn TS Hoàng Xuân Tùng, người đã tận tình hướng dẫn chỉ bảo tôi trong suốt thời gian dài thực hiện đề tài Những ý kiến đóng góp và chỉ bảo không mệt mỏi của thầy chính là động lực để tôi hoàn thành mục tiêu nghiên cứu của luận văn
Tôi xin chân thành cảm ơn các thầy cô trong trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã giảng dạy, truyền đạt và tạo điều kiện học tập tốt nhất cho tôi trong suốt thời gian học tập cũng như trong quá trình thực hiện luận văn
Tôi gửi lời cảm ơn tới tập thể lớp K17 chuyên ngành Truyền dữ liệu và Mạng máy tính Sự đoàn kết và tương trợ mà các thành viên trong lớp mang đến cho nhau thật nhiều ý nghĩa
Cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè của tôi, những người đã luôn ở bên động viên và khích lệ tôi trong suốt khóa học
Trang 4Lời cam đoan
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng
cá nhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Hà Nội, ngày 22 tháng 05 năm 2015
Trịnh Hồng Điệp
Trang 5TỔNG QUAN
Trong báo cáo này, tôi đã thực hiện đánh giá hiệu năng cho các hệ thống inverted index được xây dựng dựa trên bộ công cụ xử lí dữ liệu nguồn mở Hadoop cho mục đích khai thác thông tin nhật kí giao dịch Ứng với các yêu cầu khai thác thông tin khác nhau có thể cần xây dựng các hệ thống inverted index khác nhau Các hệ thống inverted index này được đánh giá hiệu năng dựa trên các hoạt động tạo lập, cập nhật và truy vấn thông tin index trên hệ thống tập tin phân tán HDFS và HBase một mô hình
dữ liệu hướng cột NoSQL trong hệ sinh thái của Hadoop
Mặc dù có sự giới hạn về môi trường thử nghiệm, cũng như giới hạn về khả năng thiết kế các công cụ phục vụ cho đánh giá hiệu năng trên HDFS so với các công cụ được xây dựng sẵn trên HBase trong một số thử nghiệm, nhưng các kết quả thử nghiệm cũng đã chỉ ra rằng: HDFS nhanh vượt trội về thời gian tạo lập index và kích thước dữ liệu index nhỏ hơn so với cùng mục đích trên HBase Nhưng HBase lại bảo đảm thời gian tra cứu thông tin nhanh mà không phụ thuộc vào vị trí bản ghi và kích thước dữ liệu Tính chất này của HBase đáp ứng được yêu cầu thời gian thực cho các ứng dụng cần đến nó
Muốn có được đánh giá toàn diện, đòi hỏi phải tiến hành những thử nghiệm kỹ lưỡng nhất là môi trường thử nghiệm phải phù hợp với tầm vóc của Hadoop, để có được cái nhìn rõ ràng hơn về lợi ích trong việc xây dựng inverted index trên HDFS và HBase Tuy nhiên, từ các kết quả thử nghiệm và đánh giá, tôi đưa ra khuyến nghị như sau:
Với những bài toán khai thác thông tin tổng quát thì nên lựa chọn HBase Vì HBase bảo đảm cho thời gian truy vấn thông tin thỏa mãn thời gian thực mà không phục thuộc vào vị trí bản ghi và kích thước dữ liệu
Khi cần tối ưu về thời gian tạo lập và kích thước index thì nên lựa chọn HDFS Khi đó cần thiết kế tốt các công cụ truy vấn thông tin sao cho kết quả truy vấn được nhanh hơn
Trang 6MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 10
DANH SÁCH HÌNH VẼ Error! Bookmark not defined DANH SÁCH BẢNG Error! Bookmark not defined Chương 1: GIỚI THIỆU Error! Bookmark not defined Chương 2: NHỮNG KIẾN THỨC NỀN TẢNG Error! Bookmark not defined 2.1 Khái quát về nhật kí giao dịch Error! Bookmark not defined 2.2 Inverted index Error! Bookmark not defined 2.2.1 Giới thiệu inverted index Error! Bookmark not defined 2.2.2 Tạo lập inverted index Error! Bookmark not defined 2.2.3 Kích thước của inverted index Error! Bookmark not defined 2.2.4 Truy vấn thông tin inverted index Error! Bookmark not defined 2.2.5 Cập nhật inverted index Error! Bookmark not defined 2.3 MapReduce Error! Bookmark not defined 2.3.1 Giới thiệu về MapReduce Error! Bookmark not defined 2.3.2 Mô hình lập trình Error! Bookmark not defined 2.3.3 Những lợi ích của MapReduce Error! Bookmark not defined 2.4 Hadoop Error! Bookmark not defined 2.4.1 Hadoop là gì Error! Bookmark not defined 2.4.2 Kiến trúc của Hadoop Error! Bookmark not defined 2.4.3 Hadoop làm việc như thế nào Error! Bookmark not defined 2.4.4 Ưu điểm của Hadoop Error! Bookmark not defined 2.4.5 Ứng dụng của Hadoop Error! Bookmark not defined 2.5 HDFS Error! Bookmark not defined 2.5.1 Giới thiệu về HDFS Error! Bookmark not defined 2.5.2 Tính năng của HDFS Error! Bookmark not defined 2.5.3 Kiến trúc của HDFS Error! Bookmark not defined.
2.5.3.1 NameNode Error! Bookmark not defined.
2.5.3.2 DataNode Error! Bookmark not defined.
Trang 72.5.3.3 Không gian tên hệ thống tập tin HDFS Error! Bookmark not
defined.
2.5.3.4 Sao chép dữ liệu Error! Bookmark not defined 2.5.3.5 Các giao thức truyền thông Error! Bookmark not defined 2.6 HBase Error! Bookmark not defined 2.6.1 Giới thiệu về HBase Error! Bookmark not defined 2.6.2 Mô hình dữ liệu Error! Bookmark not defined 2.6.2.1 Bảng (Table) Error! Bookmark not defined 2.6.2.2 Hàng (Row) Error! Bookmark not defined 2.6.2.3 Cột (Column) Error! Bookmark not defined 2.6.2.4 Column Family Error! Bookmark not defined 2.6.2.5 Column Qualifier Error! Bookmark not defined 2.6.2.6 Cell (ô) Error! Bookmark not defined 2.6.2.7 Nhãn thời gian (Timestamp) Error! Bookmark not defined 2.6.3 Các hoạt động trên mô hình dữ liệu Error! Bookmark not defined 2.6.3.1 Get Error! Bookmark not defined 2.6.3.2 Put Error! Bookmark not defined 2.6.3.3 Scan Error! Bookmark not defined 2.6.3.4 Delete Error! Bookmark not defined 2.6.4 Thiết kế bảng trong HBase Error! Bookmark not defined 2.6.5 Kiến trúc của HBase Error! Bookmark not defined 2.6.5.1 HBase Master (HMaster) Error! Bookmark not defined 2.6.5.2 HRegionServer Error! Bookmark not defined 2.6.5.3 Region Error! Bookmark not defined 2.6.5.4 HBase client Error! Bookmark not defined.
Chương 3: XÂY DỰNG CÁC HỆ THỐNG INVERTED INDEX VÀ NHỮNG CÔNG CỤ PHỤC VỤ CHO VIỆC ĐÁNH GIÁ HIỆU NĂNG TRÊN HADOOP
Error! Bookmark not defined 3.1 Xây dựng các hệ thống inverted index trên Hadoop Error! Bookmark not
defined.
Trang 83.1.1 Triển khai hệ thống inverted index trên HDFS Error! Bookmark not
defined.
3.1.2 Triển khai hệ thống inverted index trên HBase Error! Bookmark not
defined.
3.2 Xây dựng những công cụ phục vụ cho việc đánh giá hiệu năng trên
Hadoop Error! Bookmark not defined.
3.2.1 Xây dựng công cụ phục vụ đánh giá hiệu năng thời gian được dùng để
tạo lập inverted index Error! Bookmark not defined.
3.2.2 Xây dựng các công cụ phục vụ đánh giá hiệu năng thời gian được
dùng truy vấn thông tin từ inverted index Error! Bookmark not defined.
3.2.2.1 Xây dựng các công cụ phục vụ đánh giá hiệu năng thời gian được
dùng truy vấn thông tin từ inverted index trên HBase Error! Bookmark
not defined.
3.2.2.2 Xây dựng các công cụ phục vụ đánh giá hiệu năng thời gian được
dùng truy vấn thông tin từ inverted index trên HDFS Error! Bookmark
not defined.
3.2.3 Xây dựng công cụ phục vụ đánh giá hiệu năng cập nhật inverted
index Error! Bookmark not defined 3.2.3.1 Xây dựng công cụ cập nhật index trên HBase Error! Bookmark
not defined.
3.2.3.2 Xây dựng công cụ cập nhật index trên HDFS Error! Bookmark
not defined.
3.2.3.3 Xây dựng công cụ đánh giá hiệu năng độ trễ cập nhật Error!
Bookmark not defined.
3.2.3.4 Xây dựng công cụ đánh giá hiệu năng tốc độ tìm kiếm Error!
Bookmark not defined.
3.2.4 Những công cụ bổ trợ khác phục vụ quá trình đánh giá hiệu năng
Error! Bookmark not defined Chương 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ Error! Bookmark not defined 4.1 Chuẩn bị môi trường cho thử nghiệm Error! Bookmark not defined 4.2 Thử nghiệm tạo lập inverted index Error! Bookmark not defined 4.3 Thử nghiệm truy vấn thông tin inverted index Error! Bookmark not
defined.
4.3.1 Thử nghiệm 1 - Tra cứu bản ghi Error! Bookmark not defined.
Trang 94.3.2 Thử nghiệm 2:Quét toàn bộ nội dung inverted index Error!
Bookmark not defined.
4.4 Thử nghiệm cập nhật inverted index Error! Bookmark not defined.
4.4.1 Thử nghiệm thời gian được sử dụng để xây dựng phần index mới
Error! Bookmark not defined 4.4.2 Thử nghiệm độ trễ cập nhật Error! Bookmark not defined 4.4.3 Thử nghiệm tốc độ tìm kiếm Error! Bookmark not defined 4.4.4 Đánh giá khả năng hỗ trợ tìm kiếm trong khi cập nhật Error!
Bookmark not defined.
4.4.5 Đánh giá khả năng phục hồi dữ liệu Error! Bookmark not defined 4.5 Tổng quan đánh giá hiệu năng Error! Bookmark not defined 4.5.1 Đánh giá hiệu năng tạo lập inverted index Error! Bookmark not
defined.
4.5.2 Đánh giá hiệu năng truy vấn inverted index Error! Bookmark not
defined.
4.5.2.1 Đánh giá hiệu năng truy vấn bản ghi Error! Bookmark not
defined.
4.5.2.2 Đánh giá hiệu năng quét toàn bộ index Error! Bookmark not
defined.
4.5.3 Đánh giá hiệu năng cập nhật inverted index Error! Bookmark not
defined.
4.6 Những nghiên cứu liên quan Error! Bookmark not defined Chương 5: KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU Error! Bookmark not
defined.
5.1 Kết luận Error! Bookmark not defined 5.2 Hướng nghiên cứu Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO 11
PHỤ LỤC Error! Bookmark not defined.
Trang 10DANH MỤC CÁC TỪ VIẾT TẮT
API Application Programming Interface
CPU Central Processing Unit
GFS Google File System
HDFS Hadoop Distributed File System
I/O Input/Output
ID Identification
IIS Internet Information Services
IP Internet Protocol
IR Information Retrieval
RDBMS Relational Database Management System RPC Remote Procedure Call
SQL Structured Query Language
TCP Transmission Control Protocol
WALs Write Ahead Logs
XML Extensible Markup Language
Trang 11TÀI LIỆU THAM KHẢO
Tiếng Anh
1 Ajit Kumar MAHAPATRA and Sitanath BISWAS, 2011, "Inverted indexes: Types and techniques", vol 8
2 Alex HOLMES, 2012, Hadoop in practice.: Manning Publications Co
3 Amandeep Khurana, "Introduction to hbase Schema Design"
4 Apache Hadoop HDFS Architecture [Online]
http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
5 Cloudera, Ten Common Hadoopable Problems Real-World Hadoop Use Cases.:
White Paper
6 Denis, et al SHESTAKOV, 2013, "Scalable high-dimensional indexing with Hadoop"
7 Fay, et al CHANG, 2008, "Bigtable: A distributed storage system for structured data"
8 Jeffrey DEAN and Sanjay GHEMAWAT, 2008, "MapReduce: simplified data processing on large clusters"
9 Jeffrey SHAFER, Scott RIXNER, and Alan L COX, 2010, "The Hadoop
distributed filesystem: Balancing portability and performance"
10 Justin ZOBEL and Alistair MOFFAT, 2006, "Inverted files for text search engines"
11 Konstantin, et al SHVACHKO, 2010, "The hadoop distributed file system"
12 Linthala SRINITHYA and G Venkata Rami REDDY, 2012, "Performance Evaluation of Hadoop Distributed File System and Local File System"
13 Madhavi VAIDYA, 2011, "Survey of Parallel Data Processing in Context with MapReduce"
14 Microsoft W3C Extended Log File Format (IIS 6.0) [Online]
https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/II
Trang 12S/676400bc-8969-4aa7-851a-9319490a9bbb.mspx?mfr=true
15 Ms Vibhavari CHAVAN and Rajesh N PHURSULE, 2014, "Survey Paper On Big Data", Vol 5 (6)
16 Prof R.L.Paikra Dhomse Kanchan, 2014, "Survey paper on Generalized Inverted Index for Keyword Search", vol 10, no 4
17 Ronald C TAYLOR, 2010, "An overview of the Hadoop/MapReduce/HBase framework and its current applications in bioinformatics"
18 Sanjay GHEMAWAT, Howard GOBIOFF, and Shun-Tak LEUNG, 2003, "The Google file system"
19 Stefan BÜTTCHER, Charles LA CLARKE, and Gordon V CORMACK, 2010,
Information retrieval: Implementing and evaluating search engines.: Mit Press
20 Sunita, et al SURALKAR, 2013, "Review of Distributed File Systems: Case Studies"
21 Tom WHITE, 2012, Hadoop: The definitive guide.: O'Reilly Media, Inc
22 Wang LIANG and Zhao KAIYONG, 2013, "A new DNA alignment method based on inverted index"
23 Xiaoming GAO and Judy QIU, 2010, "Scalable inverted indexing on NoSQL table storage"
Trang 13a class