ĐẠ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
Đạ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
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
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.
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
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.
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 dữ liệu còn
phải dựa trên độ chính xác của dự đoán.
Phƣơng pháp tìm kiếm: phương pháp tìm kiếm bao gồm hai thành phần: tìm
kiếm tham số và tìm kiếm mô hình. Trong tìm kiếm tham số, giải thuật cần phải tìm kiếm
các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được
và với một mô tả mô hình đã định. Việc tìm kiếm là không cần thiết đối với một số bài
toán trong đó các đánh giá tham số tối ưu có thể đạt được bằng các cách đơn giản hơn.
Đối với các mô hình chung, giải thuật “tham lam” thường được sử dụng lặp đi lặp lại.
Tìm kiếm mô hình xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số:
mô tả mô hình bị thay đổi tạo nên một họ các mô hình. Với mỗi mô hình, phương pháp
tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình. Các phương pháp tìm
kiếm mô hình thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không
gian các mô hình có thể thường ngăn cản các tìm kiếm tổng thể.
Hai phương pháp khai phá dữ liệu phổ biến được trình bày ở phần sau là Cây quyết
định và Phát hiện luật kết hợp.
2.3. Cây quyết định
Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các
đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được gán nhãn là tên các
thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớp
khác nhau. Các đối tượng được phân lớp theo các đường đi trên cây, qua các cạnh tương
ứng với các giá trị của thuộc tính trong đối tượng ở lá. Hình 4 mô tả một mẫu đầu ra có
Chương 2 – Phương pháp khai phá dữ liệu
9
thể của quá trình khai phá dữ liệu dùng phương pháp cây quyết định với tập dữ liệu khách
hàng xin vay vốn. Hai nút của cây được gán nhãn là “Nợ” và “Thu nhập”, các cạnh được
được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành
phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B
trong cùng bản ghi đó: A ⇒ B.
Cho một lược đồ R={A1, …, Ap} các thuộc tính với miền giá trị {0,1}, và một quan
hệ r trên R. Một luật kết hợp trên r được mô tả dưới dạng X⇒B với X⊆R và B∈R\X. Về
mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau: nếu một bản ghi của bảng r có
giá trị 1 tại mỗi thuộc tính thuộc X thì giá trị của thuộc tính B cũng là 1 trong cùng bản
ghi đó.
Cho W ⊆R, đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ của các
hàng trong r có giá trị 1 tại mỗi cột thuộc W. Tần số xuất hiện của luật X⇒B trong r được
định nghĩa là s(X∪{B}, r) còn gọi là độ hỗ trợ của luật, độ tin cậy của luật là s(X∪{B},
r)/s(X, r). Ở đây X có thể gồm nhiều thuộc tính, B là giá trị không cố định. Nhờ vậy mà
không xảy ra việc tạo ra các luật không mong muốn trước khi quá trình tìm kiếm bắt đầu.
Điều đó cũng cho thấy không gian tìm kiếm có kích thước tăng theo hàm mũ của số lượng
các thuộc tính ở đầu vào. Do vậy cần phải chú ý khi thiết kế dữ liệu cho việc tìm kiếm các
luật kết hợp.
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X⇒B sao
cho tần số của luật không nhỏ hơn ngưỡng σ cho trước và độ tin cậy của luật không nhỏ
hơn ngưỡng θ cho trước. Từ một cơ sở dữ liệu ta có thể tìm được hàng nghìn và thậm chí
hàng trăm nghìn các luật kết hợp.
Ta gọi một tập con X⊆R là thường xuyên trong r nếu thỏa mãn điều kiện s(X, r)≥σ.
Nếu biết tất cả các tập thường xuyên trong r thì việc tìm kiếm các luật rất dễ dàng. Vì
vậy, giải thuật tìm kiếm các luật kết hợp trước tiên đi tìm tất cả các tập thường xuyên
Chương 2 – Phương pháp khai phá dữ liệu
11
này, sau đó tạo dựng dần các luật kết hợp bằng cách ghép dần các tập thuộc tính dựa trên
mức độ thường xuyên.
Các luật kết hợp có thể là một cách hình thức hóa đơn giản. Chúng rất thích hợp cho
13
Các thành phần cơ bản của hệ thống Business Intelligence được mô tả như trong
hình 5.
Data Warehouse (Kho dữ liệu): Chứa dữ liệu tổng hợp về hoạt động kinh doanh,
khách hàng, nhân sự …của doanh nghiệp.
Data Mining (Khai phá dữ liệu): Các kỹ thuật dùng để khai phá dữ liệu và phát hiện
tri thức như phân lớp, phân nhóm, phát hiện luật kết hợp, dự đoán,…nhằm tổng hợp thông
tin hữu ích cung cấp cho việc phân tích ra quyết định.
Business Analyst (Phân tích kinh doanh) : Các nhà lãnh đạo doanh nghiệp đưa ra
những quyết định chiến lược đối với hoạt động kinh doanh của doanh nghiệp.
3.1.3. Lợi ích của Business Intelligence đối với doanh nghiệp
Tiết kiệm chi phí : Thông thường để biết được lí do vì sao kết quả kinh doanh tháng
này giảm so với tháng trước, nhà quản lý thường phải tìm hiểu qua nhiều kênh thông tin
khác nhau từ phòng kế toán tới phòng kinh doanh , nhiều khi tiêu tốn khá nhiều thời gian,
nguồn lực. Còn với giải pháp BI, tận dụng ưu thế có thể phân tích sâu theo nhiều chiều,
nhà quản lý có thể tìm ngay được nguyên nhân bị giảm doanh thu là do đâu, cụ thể vùng
miền nào mà hầu như không cần nhờ đến bất cứ ai. Trong bối cảnh hiện nay, việc giúp
doanh nghiệp truy xuất nhanh gọn thông tin được coi như một giải pháp giúp tiết kiệm chi
phí, nâng cao hiệu quả hoạt động.
Chọn lọc mặt hàng kinh doanh : Bằng cách đo lường các chỉ số đánh giá hiệu quả
hoạt động chủ chốt về số lần bảo hành, các mặt hàng bán chậm nhất hay số khách hàng
mua và tổng doanh thu bán được từ những mặt hàng đó, BI giúp nhà quản lý biết được
những mặt hàng kém hiệu quả, làm tiêu tốn nhiều chi phí cho các hoạt động hỗ trợ, tồn
kho để từ đó ra quyết định loại bỏ hay cải tiến thành một sản phẩm mới.
Phân tích hiệu quả của các chƣơng trình khuyến mãi, quảng cáo : Thông qua
việc thu thập thông tin về số lượng hàng bán, doanh thu, chi phí, số khách hàng mới, số
sản phẩm bán được của các chương trình khuyến mãi, quảng cáo hệ thống BI sẽ đưa ra
báo cáo phân tích về mức độ hiệu quả của chương trình, từ đó nhà quản lý sẽ biết được
chương trình dạng nào mang lại hiệu quả cao nhất để áp dụng lại cho những lần sau.
vẫn không giảm nhiều chứng tỏ chương trình của đối thủ chỉ thu hút những khách hàng có
giá trị thấp, và ngược lại là chương trình thành công. Từ đó doanh nghiệp có thể học được
ở đối thủ và có những hành động để kéo những khách hàng có giá trị cao về phía mình.
Chương 3 – Bộ công cụ Business Intelligence
15
3.1.4. Các công cụ Business Intelligence
Các công cụ Business Intelligence là các phần mềm ứng dụng được thiết kế để báo
cáo, phân tích và trình bày dữ liệu. Các công cụ này sẽ đọc dữ liệu đã được lưu trữ từ
trước trong các kho dữ liệu hoặc chợ dữ liệu. Các công cụ Business Intelligence rất đa
dạng và có mặt trên hầu hết các hệ điều hành. Nhờ tính tiện dụng và khả năng tạo báo
cáo, phân tích dữ liệu chuyên nghiệp nên các công cụ Business Intelligence thường được
áp dụng trong các tổ chức kinh doanh, thống kê.
Các công cụ Business Intelligence được chia thành những loại chính sau :
- Bảng tính
- Phần mềm truy vấn, báo cáo (công cụ trích chọn, sắp xếp, tổng kết, trình diễn dữ
liệu)
- OLAP (xử lý phân tích trực tuyến)
- Bảng điều khiển kỹ thuật số
- Khai phá dữ liệu
- Khai phá xử lý
- Hệ quản lý hoạt động kinh doanh
- Hệ thống thông tin cục bộ
Một số công cụ Business Intelligence miễn phí,mã nguồn mở tiêu biểu : InetSoft,
InfoZoom, JasperSoft, MicroStrategy, Pentaho, Openl,…
3.1.5. Kết hợp Business Intelligence và MySQL
Hiện nay trên thị trường giải pháp BI đã xuất hiện nhiều bộ sản phẩm của các hãng
lớn như : Oracle Enterprise BI Server (Oracle), SAP Business Objects Enterprise (SAP),
QL Server Analysis Service (Microsoft)…Các sản phẩm này đều đã tập trung giải quyết
(kho dữ liệu chủ đề) sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong
một kho dữ liệu đa chiều. Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều
của dữ liệu chi tiết và tổng thể. Một khối bao gồm một bảng sự kiện (Fact), một hoặc
nhiều bảng chiều (Dimensions), các đơn vị đo (Measures) và các phân hoạch (Partitions).
Những ứng dụng tiêu biểu của OLAP : báo cáo bán hàng, báo cáo marketing, báo cáo