Đề tài Nghiên cứu ứng dụng bộ công cụ business intelligence trong việc xử lý số liệu của hệ quản trị cơ sở dữ liệu mysql

Ngày nay, việc lưu trữ, xử lý dữ liệu để tổng hợp thông tin, hỗ trợ ra quyết định đã trở nên phổ biến đối với nhiều tổ chức sản xuất, kinh doanh. Có nhiều phương pháp để đáp ứng yêu cầu này, trong đó Business Intelligence(BI- giải pháp quản trị doanh nghiệp thông minh) là một giải pháp tiêu biểu, được nhiều tổ chức lựa chọn. Khóa luận này giới thiệu một vài nét tổng quan về kho dữ liệu, hệ thống xử lý phân tích trực tuyến và bộ công cụ Business Intelligence. Tiếp đó là việc triển khai cài đặt, ứng dụng Business Intelligence, cụ thể là sử dụng bộ công cụ Pentaho trong việc xây dựng báo cáo và khai phá dữ liệu dựa trên hệ quản trị cơ sở dữ liệu MySQL kết hợp phần mềm Weka.

pdf50 trang | Chia sẻ: nhungnt | Lượt xem: 2951 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu ứng dụng bộ công cụ business intelligence trong việc xử lý số liệu của hệ quản trị cơ sở dữ liệu mysql, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Trƣơng Vĩnh Long NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Trƣơng Vĩnh Long NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hƣớng dẫn: TS. Nguyễn Hà Nam Cán bộ đồng hƣớng dẫn: ThS. Nguyễn Thu Trang HÀ NỘI - 2010 LỜI CẢM ƠN Trước tiên em xin gửi lời cảm ơn sâu sắc tới TS. Nguyễn Hà Nam và ThS. Nguyễn Thu Trang đã tận tình chỉ bảo, giúp đỡ em hoàn thành luận văn này. Em xin chân thành cảm ơn các thầy cô trong bộ môn Các hệ thống thông tin, trường Đại học Công nghệ - Đại học Quốc gia Hà nội đã tạo điều kiện cho em thực hiện đề tài. Đồng thời, em xin cảm ơn các thầy cô giáo trường Đại học Công nghệ đã dạy bảo, giúp đỡ em trong 4 năm học vừa qua. Cuối cùng em xin cảm ơn những người thân trong gia đình và bạn bè đã động viên, giúp đỡ em trong quá trình học tập và thực hiện hoàn luận văn. Xin chân thành cảm ơn! Sinh viên Trương Vĩnh Long. TÓM TẮT Ngày nay, việc lưu trữ, xử lý dữ liệu để tổng hợp thông tin, hỗ trợ ra quyết định đã trở nên phổ biến đối với nhiều tổ chức sản xuất, kinh doanh. Có nhiều phương pháp để đáp ứng yêu cầu này, trong đó Business Intelligence(BI- giải pháp quản trị doanh nghiệp thông minh) là một giải pháp tiêu biểu, được nhiều tổ chức lựa chọn. Khóa luận này giới thiệu một vài nét tổng quan về kho dữ liệu, hệ thống xử lý phân tích trực tuyến và bộ công cụ Business Intelligence. Tiếp đó là việc triển khai cài đặt, ứng dụng Business Intelligence, cụ thể là sử dụng bộ công cụ Pentaho trong việc xây dựng báo cáo và khai phá dữ liệu dựa trên hệ quản trị cơ sở dữ liệu MySQL kết hợp phần mềm Weka. Danh sách các hình Hình 1 – Cấu trúc hệ thống kho dữ liệu .. ................................. .............................. 3 Hình 2 – Dòng dữ liệu trong kho dữ liệu . ................................. .............................. 4 Hình 3 - Ứng dụng kho dữ liệu trong Business Intelligence ..... .............................. 5 Hình 4 – Ví dụ về cây quyết định . .......... ................................. .............................. 9 Hình 5 – Thành phần của hệ Business Intelligence ................... ............................ 12 Hình 6 – Cấu trúc của Pentaho Business Intelligence ............... ............................ 19 Hình 7 – Cơ sở dữ liệu về các thành phố ................................. ............................ 23 Hình 8 – Thiết lập Data Source .... .......... ................................. ............................ 24 Hình 9 – Thiết lập Constraint ....... .......... ................................. ............................ 25 Hình 10 – Mô tả báo cáo thu được sử dụng Pentaho ................ ............................ 26 Hình 11 – Mô tả bảng dữ liệu về khách hàng trong ngân hàng. ............................ 27 Hình 12 - Tải dữ liệu lên Weka từ MySQL ............................... ............................ 28 Hình 13 – Chọn bộ lọc MathExpression . ................................. ............................ 29 Hình 14 – Thay đổi thông số cho bộ lọc MathExpression ........ ............................ 30 Hình 15 – Sử dụng MathExpression để gán lại giá trị cho trường THU NHAP .... 30 Hình 16 – Chọn bộ lọc NumericToNominal ............................. ............................ 31 Hình 17 – Chọn bộ lọc AddValues .......... ................................. ............................ 32 Hình 18 – Thiết lập thông số cho bộ lọc AddValues ................ ............................ 32 Hình 19 – Sử dụng chức năng Replace Value trong phần Edit . ............................ 33 Hình 20 – Lựa chọn giá trị cần thay thế .. ................................. ............................ 34 Hình 21 – Lựa chọn giá trị thay thế ......... ................................. ............................ 34 Hình 22 – Lựa chọn xây dựng cây quyết định theo J48 ............ ............................ 35 Hình 23 - Cây quyết định thu được khi dùng Classifier J48 ..... ............................ 36 Hình 24 – Lựa chọn xây dựng luật kết hợp theo thuật toán Apriori ...................... 37 Hình 25 – Kết quả thu được khi tạo luật kết hợp sử dụng thuật toán Apriori ........ 38 Bảng từ khóa OLAP Online Analysis Processing MOLAP Multidimensional Online Analysis Processing ROLAP Relational Online Analysis Processing HOLAP Hybird Online Analysis Processing BI Business Intelligence Mục lục Chƣơng 1 : KHO DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL .... 1 1.1. Kho dữ liệu ................................................................................................... 1 1.1.1. Khái niệm kho dữ liệu ............................................................................. 1 1.1.2. Các đặc tính của kho dữ liệu ................................................................... 1 1.1.3. Cấu trúc hệ thống kho dữ liệu ................................................................. 2 1.1.4. Dòng dữ liệu trong kho dữ liệu ............................................................... 3 1.1.5. Ứng dụng của kho dữ liệu ....................................................................... 4 1.2. Hệ quản trị cơ sở dữ liệu MySQL................................................................. 6 1.2.1. Giới thiệu MySQL ................................................................................... 6 1.2.2. Ưu điểm và nhược điểm của MySQL ..................................................... 6 Chƣơng 2 : PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU ............................................ 7 2.1. Khái niệm khai phá dữ liệu ........................................................................... 7 2.2. Các thành phần của giải thuật khai phá dữ liệu ............................................ 7 2.3. Cây quyết định .............................................................................................. 8 2.4. Phát hiện các luật kết hợp ........................................................................... 10 Chƣơng 3 : BỘ CÔNG CỤ BUSINESS INTELLIGENCE ................................. 12 3.1. Business Intelligence .................................................................................. 12 3.1.1. Khái niệm Business Intelligence ........................................................... 12 3.1.2. Các thành phần chính của hệ Business Intelligence .............................. 12 3.1.3. Lợi ích của Business Intelligence đối với doanh nghiệp ....................... 13 3.1.4. Các công cụ Business Intelligence ........................................................ 15 3.1.5. Kết hợp Business Intelligence và MySQL ............................................ 15 3.2. Kỹ thuật OLAP ........................................................................................... 16 3.2.1. Khái niệm OLAP ................................................................................... 16 3.2.2. Các thành phần trong hệ thống OLAP .................................................. 17 3.3. Pentaho – Business Intelligence Server ...................................................... 18 3.3.1. Tổng quan về Pentaho ........................................................................... 18 3.3.2. Khả năng và lợi ích của Pentaho ........................................................... 19 3.4. Mondrian – OLAP Server ........................................................................... 20 3.4.1. Mondrian ............................................................................................... 20 3.4.2. Schema Workbench ............................................................................... 20 3.5. Weka – Khai phá dữ liệu ............................................................................ 21 Chƣơng 4 : ỨNG DỤNG BUSINESS INTELLIGENCE ..................................... 22 4.1. Tạo báo cáo sử dụng công cụ BI ................................................................. 22 4.1.1. Giới thiệu cơ sở dữ liệu ......................................................................... 22 4.1.2. Bài toán .................................................................................................. 23 4.1.3. Giải quyết bài toán ................................................................................ 23 4.2. Khai phá dữ liệu .......................................................................................... 26 4.2.1. Giới thiệu cơ sở dữ liệu ......................................................................... 26 4.2.2. Bài toán .................................................................................................. 27 4.2.3. Tiền xử lý .............................................................................................. 27 4.2.4. Thực hiện thuật toán phân lớp ............................................................... 35 4.2.5. Xây dựng luật kết hợp ........................................................................... 36 4.2.6. Nhận xét kết quả .................................................................................... 38 KẾT LUẬN ............................................................................................................... 40 Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL 1 Chƣơng 1 : KHO DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1.1. Kho dữ liệu 1.1.1. Khái niệm kho dữ liệu Theo William Inmon [12], kho dữ liệu là một bộ dữ liệu có các đặc tính : hướng chủ đề, có tính tích hợp, ổn định, dữ liệu gắn với thời gian, thường được sử dụng trong các hệ thống hỗ trợ quyết định. Kho dữ liệu thường bao gồm : - Một hoặc nhiều công cụ để chiết xuất dữ liệu từ các dạng cấu trúc dữ liệu khác nhau. - Cơ sở dữ liệu tích hợp hướng chủ đề, ổn định được tổng hợp thông qua việc lập các bảng dữ liệu. Một kho dữ liệu có thể được coi là một hệ thống thông tin với những thuộc tính sau: • Là một cơ sở dữ liệu được thiết kế dành cho nhiệm vụ phân tích, sử dụng các dữ liệu từ các ứng dụng khác nhau. • Hỗ trợ cho một số người dùng có liên quan, có sử dụng tới các thông tin liên quan. • Nội dung được cập nhật thường xuyên, chủ yếu theo hình thức bổ sung thông tin. • Chứa các dữ liệu trong lịch sử và hiện tại nhằm cung cấp các xu hướng thông tin. • Chứa các bảng dữ liệu có kích thước lớn. • Một câu hỏi thường trả về một tập kết quả liên quan đến toàn bộ bảng và các liên kết nhiều bảng. 1.1.2. Các đặc tính của kho dữ liệu Hƣớng chủ đề : Kho dữ liệu có thể chứa lượng dữ liệu lên tới hàng trăm Gigabyte, được tổ chức theo những chủ đề chính. Kho dữ liệu không chú trọng vào giao tác và việc xử lý giao tác. Thay vào đó, kho dữ liệu tập trung vào việc mô hình hóa, phân tích dữ liệu Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL 2 nhằm hỗ trợ cho nhà quản lý ra quyết định. Do đó, các kho dữ liệu thường cung cấp một khung nhìn tương đối đơn giản bằng cách loại bớt những dữ liệu không cần thiết trong quá trình ra quyết định. Tính tích hợp : Kho dữ liệu thường được xây dựng bằng cách tổng hợp dữ liệu từ nhiều nguồn khác nhau, ví dụ các cơ sở dữ liệu, những bản ghi giao tác trực tuyến hoặc thậm chí là từ những file dữ liệu độc lập. Những dữ liệu này tiếp tục được làm sạch, chuẩn hóa để đảm bảo sự nhất quán, sau đó đưa vào kho dữ liệu. Ổn định : Dữ liệu trong kho dữ liệu thường được lưu trữ lâu dài, ít bị sửa đổi, chủ yếu dùng cho việc truy xuất thông tin nên có độ ổn định cao. Hai thao tác chủ yếu tác động tới kho dữ liệu là : nhập dữ liệu vào và truy xuất. Dữ liệu gắn với thời gian : Do có tính ổn định, kho dữ liệu thường lưu trữ dữ liệu của hệ thống trong khoảng thời gian dài, cung cấp đủ số liệu cho các mô hình nghiệp vụ, dự báo, khảo sát những chỉ tiêu cần quan tâm. 1.1.3. Cấu trúc hệ thống kho dữ liệu Hệ thống kho dữ liệu thường bao gồm 3 tầng như trong hình 1: Tầng đáy : là nơi lấy dữ liệu từ nhiều nguồn khác nhau sau đó làm sạch, chuẩn hóa, lưu trữ tập trung. Tầng giữa : thực hiện các thao tác với kho dữ liệu thông qua dịch vụ OLAP (OLAP server). Có thể cài đặt bằng Relational OLAP, Multidimensional OLAP hay kết hợp cả hai mô hình trên thành mô hình Hybrid OLAP. Tầng trên : thực hiện việc truy vấn, khai phá thông tin. Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL 3 Hình 1 – Cấu trúc hệ thống kho dữ liệu [6]. 1.1.4. Dòng dữ liệu trong kho dữ liệu Do kho dữ liệu chứa lượng dữ liệu lớn, đồng thời hạn chế thao tác sửa đổi nên rất thích hợp cho việc phân tích dài hạn và báo cáo. Các thao tác với dữ liệu của kho dữ liệu chủ yếu dựa trên cơ sở là Mô hình dữ liệu đa chiều (multidimensional data model), thường áp dụng cho các khối dữ liệu (data cube). Khối dữ liệu là trung tâm của vấn đề cần phân tích, bao gồm một hay nhiều tập dữ kiện (fact) và các dữ kiện được tạo ra từ nhiều chiều (dimension) dữ kiện khác nhau. Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL 4 Hình 2 – Dòng dữ liệu trong kho dữ liệu [5]. 1.1.5. Ứng dụng của kho dữ liệu Kho dữ liệu được đưa vào ba mảng ứng dụng chính. Theo như cách khai thác truyền thống đối với cơ sở dữ liệu, kho dữ liệu được sử dụng để khai thác thông tin bằng các công cụ thực hiện truy vấn và báo cáo. Nhờ việc dữ liệu thô đã được chuyển sang thành các dữ liệu ổn định, có chất lượng nên kho dữ liệu đã giúp nâng cao kỹ thuật biểu diễn thông tin truyền thống. Dữ liệu đầu vào của các kỹ thuật này được đặt vào một nguồn duy nhất, giúp loại bỏ nhiều lỗi sinh ra do phải thu thập và biểu diễn thông tin từ nhiều nguồn khác nhau đồng thời giảm bớt sự chậm trễ do phải lấy dữ liệu từ những phân đoạn khác nhau, tránh cho người dùng phải viết những truy vấn SQL quá phức tạp. Với cách thứ hai, các kho dữ liệu được sử dụng để hỗ trợ cho phân tích trực tuyến(OLAP). Trong khi ngôn ngữ SQL và các công cụ xây dựng báo cáo truyền thống chỉ có thể mô tả những gì có trong cơ sở dữ liệu thì phân tích trực tuyến có khả năng phân tích dữ liệu, xác định xem giả thuyết đúng hay sai. Tuy nhiên, phân tích trực tuyến lại Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL 5 không có khả năng đưa ra được các giả thuyết. Ngoài ra, sử dụng OLAP còn giúp phân tích tổng hợp dữ liệu, đưa ra kết quả bằng các báo cáo hoặc bảng biểu trực quan. Cách thứ ba để khai thác kho dữ liệu là dựa trên các kỹ thuật khai phá dữ liệu. Đây là một phương pháp mới, đáp ứng được cả những yêu cầu trong nghiên cứu khoa học cũng như yêu cầu trong thực tiễn. Các kết quả thu được mang nhiều tính dự báo, dự đoán, dùng trong việc xây dựng kế hoạch, chiến lược. Các lĩnh vực hiện tại áp dụng kho dữ liệu - Thương mại điện tử. - Kế hoạch hoá nguồn lực doanh nghiệp (ERP - Enterprise Resource Planning). - Quản lý quan hệ khách hàng (CRM - Customer Relationship Management) - Chăm sóc sức khỏe. - Viễn thông. Hình 3 - Ứng dụng kho dữ liệu trong Business Intelligence [5]. Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL 6 1.2. Hệ quản trị cơ sở dữ liệu MySQL 1.2.1. Giới thiệu MySQL MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển ứng dụng rất ưa chuộng. MySQL có tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu thông qua Internet. Ta có thể tải MySQL qua Internet, có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS. MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL). 1.2.2. Ƣu điểm và nhƣợc điểm của MySQL Hệ quản trị cơ sở dữ liệu MySQL có những ƣu điểm nổi bật : + MySQL là hệ quản trị cơ sở dữ liệu có tốc độ nhanh, đáng tin cậy, có thể hoạt động trên nhiều hệ thống. + MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, kích thước nhỏ. + Nhờ đội ngũ phát triển năng động, tích cực, các phiên bản MySQL ngày càng hoản thiện, bổ sung nhiều chức năng mới. Tuy nhiên, MySQL vẫn còn một số hạn chế nhất định : + MySQL hoạt động tốt đối với những cơ sở dữ liệu vừa và nhỏ nhưng chưa hỗ trợ tốt cho các cơ sở dữ liệu có kích thước rất lớn. + Trong các phiên bản trước phiên bản 5.0, MySQL không hỗ trợ ROLE, COMMIT và Stored procedure. + Các giao tác (transaction) khi xử lý vẫn còn gặp sai sót. Chương 2 – Phương pháp khai phá dữ liệu 7 Chƣơng 2 : PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU 2.1. Khái niệm khai phá dữ liệu Theo Frawley, Piatetski-Shapiro và Matheus [2] : Khai phá dữ liệu là một bước trong quá trình Phát hiện tri thức trong cơ sở dữ liệu, thi hành một thuật toán khai phá dữ liệu để tìm ra các mẫu từ dữ liệu theo khuôn dạng thích hợp. Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu. 2.2. Các thành phần của giải thuật khai phá dữ liệu Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn mô hình, đánh giá mô hình, tìm kiếm mô hình. Biểu diễn mô hình: Mô hình được biểu diễn bằng một ngôn ngữ L để mô tả các mẫu có thể khai thác được. Nếu sự mô tả bị hạn chế quá mức thì sẽ không thể dùng các mô hình tạo ra để học hoặc sẽ không thể tạo ra được một mô hình chính xác cho dữ liệu. Việc quan trọng là người phân tích dữ liệu cần phải hiểu đầy đủ các giả thiết mô tả. Một điều cần thiết khác là người thiết kế giải thuật cần phải diễn tả được rằng các giả thiết mô tả nào được tạo ra bởi giải thuật nào. Khả năng mô tả mô hình càng lớn thì càng làm tăng nguy cơ quá trình học diễn ra vượt mức và làm giảm đi khả năng dự đoán các dữ liệu chưa biết. Hơn nữa, việc tìm kiếm sẽ càng trở nên phức tạp hơn và việc giải thích mô hình cũng khó khăn hơn. Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc) với các biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham số mà bài toán cần tập trung giải quyết. Việc tìm kiếm mô hình sẽ đưa ra được một mô hình phù hợp với các tham số được xác định dựa trên dữ liệu. Trong một số trường hợp, tập dữ liệu được chia thành tập dữ liệu học và tập dữ liệu thử. Tập dữ liệu học được sử dụng để làm cho các tham số của mô hình phù hợp với dữ liệu. Mô hình sau đó sẽ được đánh giá bằng cách đưa các dữ liệu thử vào mô hình và thay đổi lại các tham số cho phù hợp nếu cần. Mô hình lựa chọn có thể là phương pháp thống kê như SASS, v.v…, một số giải thuật học máy, mạng neuron, suy diễn hướng tình huống, các kỹ thuật phân lớp. Chương 2 – Phương pháp khai phá dữ liệu 8 Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn của quá trình phát hiện tri thức hay không. Việc đánh giá độ chính xác dự đoán dựa trên đánh giá chéo. Đánh giá chất lượng mô tả liên quan đến độ chính xác dự đoán, độ mới, khả năng sử dụng, khả năng hiểu được của mô hình. Cả hai chuẩn thống kê và chuẩn logic đều có thể được sử dụng để đánh giá mô hình. Việc đánh giá mô hình được thực hiện qua kiểm tra dữ liệu (trong một số trường hợp kiểm tra với tất cả các dữ liệu, trong một số trường hợp khác chỉ kiểm tra với dữ liệu thử). Ví dụ như đối với mạng neuron, việc đánh giá mô hình được thực hiện dựa trên việc kiểm tra dữ liệu (bao gồm cả dữ liệu học và dữ liệu thử), đối với nhiệm vụ dự đoán thì việc đánh giá mô hình ngoài kiểm tra