Qua việc tìm hiểu công cụ Pentaho và áp dụng vào trong bài báo cáo này, em đã
thấy được tầm quan trọng khi áp dụ ng kho dữ liệu và kĩ thuật OLAP sẽ là xu thế và tất
yếu trong tương lai củ a các nhà doanh nghi ệp. Vấn đề về dữ liệu lớn hay phức tạp giờ
đây không phải là khó khăn để giải quyết khi chúng ta biết xây dựng kho dữ liệu và xử
lý chúng bằng công cụ Pentaho.
Khóa luận đã giúp em đạt được những kết quả.
Tìm hiểu được cấu trúc kho dữ liệu lớn data warehouse và ứng dụ ng củ a nó
trong vi ệc phân tích thống kê báo cáo.
Tìm hiểu được kĩ thu ật phân tích OLAP, các mô hình lưu trữ hỗ trợ OLAP và
ưu nhược điểm của các mô hình lưu trữ đó.
61 trang |
Chia sẻ: lylyngoc | Lượt xem: 4992 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Phân tích dữ liệu hệ thống cảnh báo lỗi thiết bị mạng dựa trên bộ công cụ pentaho, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Analysis Processing
HOLAP Hybird Online Analysis Processing
PDI Pentaho Data Integration
9
LỜI MỞ ĐẦU
Cùng với việc áp dụng rộng rãi công nghệ thông tin vào trong hầu hết các lĩnh
vực trong đời sống, kinh tế, xã hội đó là việc dữ liệu thu nhận được qua thời gian ngày
càng nhiều.Vì vậy, yêu cầu thiết yếu đặt ra đối với các doanh nghiệp đó là việc khai
thác các dữ liệu này một các hiệu quả để phục vụ cho việc kinh doanh ngày càng tốt
hơn.
Khóa luận này với đề tài “Áp dụng kỹ thuật OLAP và kho dữ liệu trong báo cáo
viễn thông” giới thiệu về kho dữ liệu, phương pháp OLAP và ứng dụng trong phân
tích các cảnh báo lỗi của nhà mạng Vinaphone bằng công cụ Pentaho.
Khóa luận gồm bốn chương:
Chương 1. Giới thiệu tổng quan hệ thống và lý do chọn đề tài. Giới thiệu kho
dữ liệu, tổng quan về OLAP, các mô hình lưu trữ hỗ trợ kỹ thuật OLAP, ưu điểm và
nhược điểm của các mô hình.
Chương 2. Giới thiệu bộ công cụ Pentaho, tìm hiểu cụ thể một số công cụ
Pentaho để xây dựng bài toán thực tế.
Chương 3. Giới thiệu bài toán triển khai trên Pentaho và kết quả đạt được triển
khai Pentaho trên một bài toán thực.
Chương 4. Phần kết luận tổng kết và tóm lược những kết quả, đóng góp chính
của khóa luận.
10
Chƣơng 1: Giới thiệu hệ thống và lý do chọn đề tài, tìm hiểu kho
dữ liệu, tổng quan về OLAP
Tóm lược nội dung :
Mục tiêu của chương này nhằm trình bày lý do lựa chọn đề tài, tổng quan về dữ
liệu của hệ thống cung cấp các dịch vụ giá trị gia tăng trên điện thoại, mục tiêu và
phạm vi của đồ án, công cụ và phương pháp xây dựng kho dữ liệu.
1.1. Hệ thống xử lý lỗi trong thiết bị mạng Vinaphone
Tập đoàn viễn thông VNPT là đơn vị đi đầu về lĩnh vực viễn thông của đất
nước. Tập đoàn ra đời với một sứ mệnh to lớn là xã hội hóa, phổ cập hóa các dịch vụ
thông di động. Dựa trên tiềm lực và chiến lược phát triển đúng đắn của Tập đoàn
VNPT, mạng di động VinaPhone được đầu tư và phát triển đi thẳng vào công nghệ
hiện đại nhất. Trước sự phát triển công nghệ thông tin viễn thông đó, mạng di động
này cũng gặp phải nhiều sự cố, lỗi do các thiết bị phần cứng gây ra cũng như lưu
lượng người truy cập quá lớn làm hệ thống quá tải và sinh ra các cảnh báo lỗi. Để có
thể biết trước được khả năng phát sinh ra lỗi của thiết bị, nhà mạng cần phải lưu lại dữ
liệu phân tích và xử lý để có kế hoạch khắc phục được sự cố trong tương lại. Sau một
thời gian dài hoạt động do dữ liệu hệ thống ngày một gia tăng cùng với nhu cầu cao
hơn trong phân tích số liệu hệ thống đã không đáp ứng được một số vấn đề sau đây.
- Do dữ liệu ngày càng gia tăng vì thế tốc độ xử lý các truy vấn để tạo báo cáo
sản lượng chậm.
- Tổ chức dữ liệu theo mô hình cơ sở dữ liệu quan hệ khiến cho việc truy vấn
dữ liệu không linh hoạt. Với những câu hỏi nghiệp vụ phức tạp việc truy vấn
là rất khó khăn và thời gian xử lý chậm.
- Dữ liệu dùng cho hệ thống báo cáo sản lượng là dữ liệu nghiệp vụ chưa qua
xử lý, còn dư thừa nhiều, không phù hợp với một hệ thống báo cáo và phân
tích số liệu
Để giải quyết vấn đề này, hệ thống Data warehouse (kho dữ liệu) ra đời cùng
với các kỹ thuật OLAP, Data mining (khai phá dữ liệu) để có thể giúp được người
quản trị cấp cao trả lời các câu hỏi mà họ yêu cầu.
11
1.2. Kho dữ liệu (Data warehouse)
1.2.1. Kho dữ liệu
Data warehouse - kho dữ liệu là một tập hợp thông tin cơ bản trên máy vi tính
mà chúng có tính quyết định đến việc thực hiện thành công bước đầu trong công việc
kinh doanh[1].
Một kho dữ liệu, gọi một cách chính xác hơn là kho thông tin (information
warehouse), là một cơ sở dữ liệu hướng đối tượng được thiết kế với việc tiếp cận các ý
kiến trong mọi lĩnh vực kinh doanh. Nó cung cấp các công cụ để đáp ứng thông tin cần
thiết cho các nhà quản trị kinh doanh tại mọi cấp độ tổ chức - không những chỉ là
những yêu cầu dữ liệu phức hợp, mà còn là điều kiện thuận tiện nhất để đạt được việc
lấy thông tin nhanh, chính xác. Một kho dữ liệu được thiết kế để người sử dụng có thể
nhận ra thông tin mà họ muốn có và truy cập đến bằng những công cụ đơn giản[9].
Một kho dữ liệu là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ
liệu đa chiều và mối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ
họa và nhiều nữa. Dữ liệu trong kho dữ liệu không giống dữ liệu của hệ điều hành là
loại chỉ có thể đọc nhưng không chỉnh sửa được. Hệ điều hành tạo ra, chỉnh sửa và xóa
những dữ liệu sản xuất mà những dữ liệu này cung cấp cho kho dữ liệu. Nguyên nhân
chính cho sự phát triển một kho dữ liệu là hoạt động tích hợp dữ liệu từ nhiền nguồn
khác nhau vào một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân
tích và ra quyết định trong công việc kinh doanh.
1.2.2. Đặc tính 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 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.
12
Ổ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.2.3. Ích lợi của kho dữ liệu
Tạo ra những quyết định có ảnh hưởng lớn. Một kho dữ liệu cho phép trích rút
tài nguyên nhân lực và máy tính theo yêu cầu để cung cấp các câu truy vấn và các báo
cáo dựa vào cơ sở dữ liệu hoạt động và sản xuất. Điều này tạo ra sự tiết kiệm đáng kể.
Có kho dữ liệu cũng trích rút tài nguyên khan hiếm của hệ thống sản xuất khi thực thi
một chương trình quá lâu hoặc các báo cáo và các câu truy vấn phức hợp.
Công việc kinh doanh trở nên thông minh hơn. Tăng thêm chất lượng và tính
linh hoạt của việc phân tích kinh doanh do phát sinh từ cấu trúc dữ liệu đa tầng của
kho dữ liệu, đó là nơi cung cấp dữ liệu được sắp xếp từ mức độ chi tiết của công việc
kinh doanh cho đến mức độ cao hơn - mức độ tổng quát. Đảm bảo được dữ liệu chính
xác và đáng tin cậy do đảm bảo được là trong kho dữ liệu chỉ chứa duy nhất dữ liệu có
chất lượng cao và ổn định (trusted Data).
Dịch vụ khách hàng được nâng cao. Một doanh nghiệp có thể giữ gìn mối quan
hệ với khách hàng tốt hơn do có mối tương quan với dữ liệu của tất cả khách hàng qua
một kho dữ liệu riêng.
Tái sáng tạo những tiến trình kinh doanh. Sự cho phép phân tích không ngừng
thông tin kinh doanh thường cung cấp sự hiểu biết mọi mặt của phương thức kinh
doanh do đó có thể làm nảy sinh ra những ý kiến cho sự sáng tạo ra những tiến trình
này lại. Chỉ khi xác định chính xác các nhu cầu từ kho dữ liệu thì mới giúp em đánh
giá được những hạn chế và mục tiêu kinh doanh một cách chính xác hơn.
Tái sáng tạo hệ thống thông tin. Một kho dữ liệu là nền tảng cho các yêu cầu dữ
liệu trong mọi lĩnh vực kinh doanh, nó cung cấp một chi phí ảnh hưởng nghĩa là đưa ra
thói quen cho cho cả hai sự chuẩn hóa dữ liệu và sự chuẩn hóa hoạt động của hệ điều
hành theo chuẩn quốc tế.
1.2.4. 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
13
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.
Hình 1: Cấu trúc hệ thống kho dữ liệu
14
1.2.5. Ứng dụng của kho dữ liệu (Data warehouse)
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.
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 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.
15
Hình 2: Ứng dụng kho dữ liệu trong Business Intelligence
1.3. Tổng quan về OLAP, các mô hình lƣu trữ hỗ trợ kỹ thuật OLAP, ƣu
điểm và nhƣợc điểm của các mô hình.
1.3.1. Giới thiệu OLAP
OLAP là một kỹ thuật sử dụng các thể hiện dữ liệu đa chiều gọi là các khối
(cube) nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu. Tạo khối
(cube) cho dữ liệu trong các bảng chiều (dimension table) và bảng sự kiện (fact table)
trong kho dữ liệu và cung cấp khả năng thực hiện các truy vấn tinh vi và phân tích cho
các ứng dụng client – theo Hari Mailvaganam [5].
Trong khi kho dữ liệu và Data mart lưu trữ dữ liệu cho phân tích, thì OLAP là
kỹ thuật cho phép các ứng dụng client truy xuất hiệu quả dữ liệu này. OLAP cung cấp
nhiều lợi ích cho người phân tích, cho ví dụ như
- Cung cấp mô hình dữ liệu đa chiều trực quan cho phép dễ dàng lựa chọn,
định hướng và khám phá dữ liệu.
- Cung cấp một ngôn ngữ truy vấn phân tích, cung cấp sức mạnh để khám phá
các mối quan hệ trong dữ liệu kinh doanh phức tạp.
- Dữ liệu được tính toán trước đối với các truy vấn thường xuyên nhằm làm
cho thời gian trả lời rất nhanh đối với các truy vấn đặc biệt.
- Cung cấp các công cụ mạnh giúp người dùng tạo các khung nhìn mới của dữ
liệu dựa trên một tập các hàm tính toán đặc biệt. OLAP được đặt ra để xử lý
16
các truy vấn liên quan đến lượng dữ liệu rất lớn mà nếu cho thực thi các truy
vấn này trong hệ thống OLTP sẽ không thể cho kết quả hoặc sẽ mất rất
nhiều thời gian.
Hình 3: Mô hình cấu trúc OLAP
1.3.2. Cấu trúc OLAP
Khối (Cube) : Khối là phần tử chính trong xử lý phân tích trực tuyến, là tập
con dữ liệu từ kho dữ liệu, được tổ chức và tổng hợp trong các cấu trúc đa chiều. Để
xác định một khối, em chọn một bảng Fact và các đơn vị đo lường đồng nhất (các cột
số theo sự quan tâm của người dùng khối) trong bảng Fact. Sau đó chọn các chiều,
mỗi chiều gồm một hay nhiều cột từ bảng liên quan khác. Các chiều cung cấp mô tả rõ
ràng bởi các đơn vị đo lường được chia ra của người dùng khối.
Chiều (Dimension): Các chiều là cách mô tả chủng loại mà theo đó các dữ liệu
số trong khối được phân chia để phân tích. Khi xác định một chiều, chọn mộthoặc
nhiều cột của một trong các bảng liên kết (bảng chiều). Nếu em chọn cáccột phức tạp
thì tất cả cần có quan hệ với nhau, chẳng hạn các giá trị của chúng có thể được tổ chức
theo hệ thống phân cấp đơn. Để xác định hệ thống phân cấp, sắp xếp các cột từ chung
nhất tới cụ thểnhất. Ví dụ: một chiều thời gian (Time) được tạo ra từ các cột Năm,
Qúy, Tháng, Ngày (Year, Quarter, Month và Day). Mỗi cột trong chiều góp phần vào
một cấp độ cho chiều. Các cấp độ được sắp đặt theo nét riêng biệt và được tổ chức
trong hệ thống cấp bậc mà nó thừa nhận các con đường hợp logic cho việc đào sâu
(drill_down).
17
Chiều có phân cấp: Phân cấp là cột sống của việc gộp dữ liệu hay nói một
cách khác là dựa vào các phân cấp mà việc gộp dữ liệu mới có thể thực hiện được.
Phần lớn các chiều đều có một cấu trúc đa mức hay phân cấp. Nếu chúng em làm
những quyết định về giá sản phẩm để tối đa doanh thu thì chúng em cần quan sát ở
những dữ liệu về doanh thu sản phẩm được gộp theo giá sản phẩm, tức là chúng em đã
thực hiện một cách gộp. Khi cần làm những quyết định khác thì chúng em cần thực
hiện những phép gộp tương ứng khác. Như vậy có thể có quá nhiều tiến trình gộp. Thế
nên các tiến trình gộp này cần phải được thực hiện một cách rất dễ dàng, linh hoạt để
có thể hỗ trợ những phân tích không hoạch định trước. Điều này có thể được giải
quyết trên cơ sở có sự trợ giúp của những phân cấp rộng và sâu.
Roll_up và Drill_down: Dựa trên phân cấp theo chiều, từ một mức dưới,
chúng em có thể cuộn lên (Roll_up) các mức trên, thực hiện một phép gộp, để có được
kết qủa tổng hợp hơn. Và từ một mức trên, có thể khoan sâu xuống (Drill_down) các
mức dưới, để có các kết quả chi tiết hơn.
Các đơn vị đo lƣờng (Measures): Các đơn vị đo của khối là các cột trong bảng
Fact. Các đơn vị đo lường xác định những giá trị số từ bảng Fact mà được tổng hợp
phân tích như định giá, trị giá, hoặc số lượng bán.
1.3.3. Đơn vị lƣu trữ OLAP
Những thành phần mà OLAP sử dụng để thực hiện các dịch vụ bao gồm.
Nguồn dữ liệu: Các cơ sở dữ liệu OLTP và các nguồn dữ liệu hợp lệ khác chứa
các dữ liệu có thể chuyển đổi thành dữ liệu OLAP trong kho lưu trữ.
Kho trung gian: là nơi lưu trữ và xử lý dữ liệu được tập hợp, sau đó được sắp
xếp, sàng lọc, chuyển đổi thành dữ liệu OLAP hữu ích.
Máy chủ lưu trữ: Các máy tính chạy cơ sở dữ liệu liên kết chứa các kho dữ liệu
cho kho lưu trữ, và các máy chủ quản lý dữ liệu OLAP (warehouse server).
Ứng dụng thông minh: Các bộ công cụ và ứng dụng thực hiện truy vấn dữ liệu
OLAP và cung cấp các báo cáo và thông tin cho người ra quyết định của doanh nghiệp
(Business Intelligence).
Siêu dữ liệu: Các đối tượng như các bảng biểu trong cơ sở dữ liệu OLTP, các
khối trong kho lưu trữ dữ liệu, và các bản ghi mà ứng dụng tham chiếu tới các đoạn dữ
liệu khác nhau.
18
1.3.4. Một số mô hình hỗ trợ OLAP
Dịch vụ OLAP hỗ trợ nhiều mô hình lưu trữ dữ liệu khác nhau, mỗi mô hình có
các ưu và khuyết điểm riêng, chúng được sử dụng tuỳ theo mục đích khai thác. Một số
mô hình lưu trữ dữ liệu (Molap, Rolap, Holap).
1.3.4.1. Mô hình Multidimentional OLAP (MOLAP)
Dữ liệu cơ bản của khối được lưu trữ cùng với dữ liệu kết hợp (Aggregation) trong
cấu trúc đa chiều hiệu suất cao. Cách tiếp cận này kết hợp kho dữ liệu đa chiều và các dịch
vụ của OLAP trên cùng một Server. MOLAP là một cấu trúc tối ưu cho việc lưu trữ các sự
kiện đã phân loại và cùng với nó là các chiều. Dữ liệu được tổ chức theo khung nhìn dữ liệu
và được lưu trữ trong một biểu mẫu được kết hợp và tổng hợp. Tệp Index nhỏ hơn khiến cho
việc trả lời những truy vấn phức tạp rất nhanh. Vì dữ liệu được lưu trữ trong các mảng, việc
cập nhật các giá trị không ảnh hưởng nhiều tới tệp chỉ số. Điều này khiến cho việc cài đặt
những ứng dụng cập nhật hoặc đọc-ghi như dự báo và điều chỉnh trở nên dễ dàng. [6]
MOLAP là sự lựa chọn tốt nhất cho những ứng dụng có đặc điểm.
- Yêu cầu tốc độ truy vấn cao.
- Có khả năng phân tích dữ liệu phức hợp. MOLAP cung cấp môi trường phân tích
mạnh hơn ROLAP.
- Dễ sử dụng: bởi dữ liệu đã được tổng hợp từ trước và được lưu trong kho dữ liệu
đa chiều. Tất cả những gì người sử dụng cần làm là xác định các chiều và các
nhóm nằm trong các chiều đó. Trong khi đó ROLAP lại yêu cầu người sử dụng
phải hiểu được sự ánh xạ tới các CSDL tác nghiệp.
Hình 4: Mô hình dữ liệu MOLAP
19
1.3.4.2. Mô hình Relational OLAP (ROLAP)
Dữ liệu cơ bản của khối được lưu trữ cùng với dữ liệu kết hợp (Aggregation) trong cơ
sở dữ liệu quan hệ. Phương pháp tiếp cận này bao gồm các dịch vụ của OLAP và cơ sở dữ
liệu quan hệ. Các dữ liệu được lưu trữ trong những bảng quan hệ và có thể có kích thước hàng
trăm Gigabyte. Những hệ ROLAP cung cấp các Engine truy vấn cực kỳ linh động bằng việc
“chuẩn bị sẵn sàng” tất cả dữ liệu tác nghiệp cho người sử dụng đầu cuối, dễ dàng trích và
tổng hợp dữ liệu theo yêu cầu. Những công cụ ROLAP có thể trích dữ liệu từ rất nhiều nguồn
CSDL quan hệ khác nhau.
Hình 5: Mô hình dữ liệu ROLAP
ROLAP là sự lựa chọn cho kho dữ liệu có những đặc điểm sau.
- Dữ liệu thường xuyên thay đổi: trong một kho dữ liệu hay biến động và người sử
dụng lại đòi hỏi những tổng hợp gần như tức thời, ROLAP sẽ là sự lựa chọn duy
nhất. MOLAP phải trích lấy và tổng hợp dữ liệu ngoại tuyến (Offline), hơn nữa
hầu hết các cơ sở dữ liệu đa chiều đều yêu cầu tính toán lại toàn bộ CSDL khi một
chiều được thêm vào, khi một lược đồ tổng hợp thay đổi hoặc khi dữ liệu mới
được thêm vào. Những đặc điểm này khiến cho MOLAP không thích hợp với
những hệ hỗ trợ quyết định mà nguồn dữ liệu thường xuyên biến động.
- Khối lượng dữ liệu lớn: Đối với những kho dữ liệu có độ lớn cỡ Terabyte,
MOLAP đòi hỏi việc tính toán trước dữ liệu với hàng trăm Terabyte không gian
lưu trữ.
- Các dạng truy vấn không được biết trước: ROLAP cho phép truy vấn và tổng hợp
từ bất kỳ nguồn dữ liệu tác nghiệp nào. Tuy nhiên khả năng này lại dẫn tới sự phức
tạp khi sử dụng, trong việc ánh xạ tới các nguồn dữ liệu tác nghiệp.
1.3.4.3. Mô hình Hybrid OLAP (HOLAP)
Là kết hợp hai phương pháp MOLAP và ROLAP. Dữ liệu cơ bản của khối
được lưu trữ trong cơ sở dữ liệu quan hệ và dữ liệu kết hợp (Aggregation) được lưu
20
trữ trong cấu trúc đa chiều hiệu suất cao. Lưu trữ HOLAP đưa ra những lợi ích của
MOLAP cho việc liên kết mà không cần thiết một bản sao chính xác từ dữ liệu chi tiết.
Lợi ích của việc lưu trữ trong cấu trúc HOLAP là:
- Lấy dữ liệu trong khối (cube) nhanh hơn bằng cách sử dụng xử lý truy vấn
tốc độ cao của MOLAP.
- Tiêu thụ ít không gian lưu trữ hơn MOLAP.
- Tránh trùng lặp dữ liệu.
1.3.5. So sánh mô hình dữ liệu
Bảng sau so sánh tổng hợp ba mô hình lưu trữ hỗ trợ OLAP.
Điểm khác biệt MOLAP ROLAP HOLAP
Lưu trữ dữ liệu cơ sở Khối Bảng quan hệ Bảng quan hệ
Lưu trữ thông tin tổng hợp Khối Bảng quan hệ Khối
Hiệu suất thực hiện truy vấn Nhanh nhất Chậm nhất Nhanh
Tiêu thụ không gian lưu trữ Nhiều Thấp Trung bình
Chi phí bảo trì Cao Thấp Trung bình
21
Chƣơng 2: Giới thiệu bộ công cụ Pentaho
2.1. Tổng quan BI (Pentaho)
Pentaho là phần mềm mã nguồn mỡ được sáng lập vào năm 2004 bởi Pioneer. Home
page: www.Pentaho.com. Bộ công cụ Pentaho open BI cung cấp một cái nhìn toàn cảnh về
khả năng kinh doanh thông minh (BI) của doanh nghiệp bao gồm: lập biểu báo, phân tích,
biểu đồ, tích hợp dữ liệu, và là một hệ BI mã nguồn mở phổ biến nhất thế giới. Sản phẩm của
Pentaho được các doanh nghiệp hàng đầu sử dụng như: MySql Motorola, Terra Industries,
Divx.[7]
Version Pentaho hiện tại là Pentaho Analytics Suite 4.5 (2012, Apr, 24). Pentaho có 2
phiên bản Pentaho EE (Enterprise Edition) tính phí và Pentaho CE (Community Editor) miễn
phí. Mọi người có thể download bản Pentaho CE tại home page của Pentaho. Cả 2 phiên bản
này về các tool ko có khác biệt nhiều, EE thì sẽ được support nhiều hơn.
Hình 6: Kiến trúc Pentaho BI
Pentaho được gọi lại thành 1 package là BI suite trong đó có 5 module chính.[7]
- Pentaho Reporting: Tạo các report, trong đó chúng em có thể tạo report trực
tiếp trên Browser bằng cách kéo thả các column hay row hay measure từ
22
metaData hay cube. Với cách này chúng em chỉ có thể tạo những report đơn
giản (Interactive Report). Đối với những report phức tạp thì chúng em phải
dùng một tool khác như Report Designer hay Design Studio. Những người
có kiến thức vững về Java thì nên sử dụng Design Studio.
- Pentaho Dashboard: Tạo các dashboard. Một dashboard có thể chứa các
report, cross emb, chart…Đặc biệt là cho nhúng google Map vào để phân
tích theo từ vùng địa lý.
- Pentaho Data Intergration: Đây là một ETL (Extraction Transformation
Loading) tool. Dùng để tổng hợp, chuyển đổi, xử lý dữ liệu. Đây là một tool
khá mạnh của Pentaho.
- Pentaho OLAP: Phân tích dữ liệu dựa trên multi-dimension. Với tool
Schema Workbench chúng em có thể tạo các cube theo kiểu R-OLAP.
- Data Mining:
Dưới đây là 7 công cụ trên Client.
- Pentaho Report Designer: Là tool tạo các report.
- Pentaho Design Studio: Là tool để tạo report, flashchart. giống như một
framwork của Java. Nếu bạn là một người giỏi về Java thì nên tận dụng
công cụ này. Bạn có thể add các plugin hay các component vào.
- Pentaho MetaData Editor: Là tool để tạo metaData. MetaData là kiểu dữ liệu
gói được tạo từ semr schema. Sau khi tạo xong chúng em có thể public để
user có thể để dàng tạo report từ browser bằng việc kéo thả.
- Pentaho Schema Workbench: Là công cụ tạo cube theo kiểu OLAP. Sau đó
Public lên server để user dễ dàng sử dụng để phân tích.
- Pentaho Aggregate Designer: Là cộng cụ hỗ trợ cho Schema Workbench để
tạo cube.
- Pentaho Data Intergration: Là tool ETL để thực hiện kĩ thuật phân tích
OLAP.
- Pentaho Data Mining: Sử dụng WEKA để xử lý dữ liệu.
Ngoài ra chúng em còn có 2 console quản lý chạy trên browser.
- Pentaho Enterprise Console: Là console để quản lý user, Datasource, Biserve.
- Pentaho User Console: Là interface của user, tại đây user có thể tạo report, chart,
crossemb, dashboard, Datasoure, cube, metaData.
23
2.2. Các tính năng mà BI Pentaho hỗ trợ
Báo cáo: Các tổ chức sử dụng báo cáo từ nhiều nguồn nên báo cáo là cốt lõi và được
khai thác đầu tiên trong kinh doanh thông minh. Báo cáo Pentaho cho phép các doanh nghiệp
truy cập, định dạng và phân phối thông tin dễ dàng đến nhân viên, khách hàng và các đối tác.
- Linh hoạt trong triển khai từ những báo cáo đơn đến các báo cáo dạng web tích
hợp trong kinh doanh thông minh của doanh nghiệp.
- Hỗ trợ nhiều nguồn dữ liệu như OLAP, hay nguồn dữ liệu dựa trên XML.
- Xuất dữ liệu linh hoạt ra PDF, HTML, Microsoft Excel, Rich Text Format, hay
text thuần túy.
- Wizard hỗ trợ thiết kế báo cáo dễ dàng và nhanh chóng.
- Phiên bản chuyên nghiệp với nhiều chức năng như phân nhóm, đăng ký, tích hợp
thư mục, kiểm duyệt.
Hình 7: Báo cáo đồ thị
Phân tích: Pentaho Analysis là một công cụ phân tích đắc lực giúp người dùng đưa ra
những quyết định có hiệu quả nhất. Ví dụ: Báo cáo cho biết tình hình bán có khuynh hướng
giảm hơn so với mong đợi thì các tri thức dễ dàng phát hiện ra nguyên nhân vấn đề bằng cách
đặt các câu hỏi sau:
- Vấn đề ảnh hưởng đến một dòng sản phẩm hay một khu vực nào đó?
24
- Sự khác nhau giữa sự phối hợp này với những phối hợp khác mà không có vấn đề
là gì?
- Vấn đề liên quan với những hàng bán ở đó là gì? Những chiến dịch tiếp thị? Hay
cái gì khác?
Pentaho Analysis giúp trả lời những câu hỏi kinh doanh bằng cách.
- Giúp người dùng dễ dàng khai thác thông tin kinh doanh bằng cách kéo, thả, xem
chi tiết hay lập bảng kiểm tra chéo dữ liệu.
- Trả lời nhanh các truy vấn phân tích phức tạp.
- Giải quyết các câu hỏi phức tạp nhanh chóng.
- Hỗ trợ các khả năng tiên tiến bao gồm báo cáo tích hợp, siêu dữ liệu, biểu đồ
thông qua việc tích hợp với các sản phẩm khác trong bộ Pentaho.
Hình 8: Phân tích lược đồ
Biểu đồ: Pentaho Dashboards giúp người quản trị hiểu tường tận sự việc bên trong
ngay lập tức từ sự thực hiện cá nhân, phòng ban, hay doanh nghiệp. Bằng phép đo trên giao
diện trực quan, Pentaho Dashboards cung cấp cho nhà doanh nghiệp thông tin thực giúp họ
hiểu biết và cải thiện công việc.
Pentaho Dashboards hỗ trợ tính trực quan bằng cách cung cấp:
- Khả năng quản lý các phép đo toàn diện cho phép định nghĩa và theo dõi những đo
đạc đáng chú ý ở mức độ cá nhân, phòng ban hay doanh nghiệp.
25
- Hiển thị trực quan phong phú giúp nhà kinh doanh có thể thấy ngay những cái nào
đang đi đúng hướng và cái nào cần chú ý.
- Tích hợp báo cáo và phân tích để người sử dụng có thể khai thác tận gốc các báo
cáo và phân tích để hiểu những nhân tố đưa đến thành công hay thất bại. Cổng tích
hợp dễ dàng chuyển các phép đo đạc trong kinh doanh liên quan với số lượng lớn
người sử dụng, tích hợp thẳng vào trong ứng dụng của họ.
- Tích hợp báo động để liên tục theo dõi những ngoại lệ và thông báo cho người sử
dụng biết.
Khai phá dữ liệu: Những mối quan hệ tìm ẩn trong dữ liệu có thể được dùng để tối
ưu hóa những qui trình nghiệp vụ và dự đoán những kết quả tương lai. Cung cấp một phạm vi
tiên tiến đầy đủ các giải thuật khai thác dữ liệu. Hiển thị kết quả cho người dùng với định
dạng dễ hiểu.
2.3. Lợi ích công cụ BI Pentaho mang lại
Cung cấp hiểu biết tƣờng tận giữa các mẫu và mối quan hệ ẩn trong dữ liệu của bạn
Một ví dụ điển hình của việc khai thác dữ liệu là một người bán lẻ phát hiện ra mối
quan hệ giữa việc bán tả lót và bia vào những chiều chủ nhật – Hai sản phẩm này chẳng có
quan hệ gì với nhau. Nhưng nếu tình cờ nhữnhg ông chồng phát hiện trong kho hàng có bia
thì họ sẽ nhặt bia lên thay vì tả lót – điều này sẽ không được phát hiện trước khi khai thác dữ
liệu.
Cho phép bạn khai thác những tƣơng quan để cải thiện công việc
Tiếp tục ví dụ trên, những người bán lẻ thường hoạt động trong những mối quan hệ họ
có bằng cách dùng chiến thuật liên kết các hạn mục với nhau để kích thích sự mua hàng. Các
doanh nghiệp có thể thu lợi từ theo cách làm giống nhau – sử dụng những kiểu mẫu được
khám phá mới nhất và những tương quan như cơ sở để thi hành cải thiện hiệu quả và hiệu lực.
Hình 9: Ứng dụng data warehouse
26
Đúc kết các bí quyết cho tƣơng lai
“Không học từ quá khứ chắc chắn sẽ bị vấp lại” là một lời trích nổi tiếng từ nhà triết
học George Santayana. Việc khai thác dữ liệu có khả năng dự đoán những hậu quả dựa vào dữ
liệu đã có để cải thiện đáng kể chất lượng và những hậu quả trước khi đưa ra quyết định. Lấy
ví dụ đơn giản, là người quyết định tốt nên kết hợp các giai đọan mà khách hàng thanh toán
đúng hẹn và lợi dụng những thông tin hữu ích này để đưa ra những quyết định.
Có thể áp dụng cho bất cứ BI hoặc tiến trình kinh doanh nào
Tích hợp với các thành phần khác của hệ Pentaho BI cho phép bạn dễ dàng áp dụng
khai thác dữ liệu cho bất kỳ tiến trình nào trong hệ thống (chẳn hạng như quay vòng tiền mặt)
và qui trình kinh doanh thông minh (như phát sinh báo cáo, hóa đơn, và những hành động trái
quy luật). Việc ứng dụng này rất linh họat tùy theo dữ kiện của tiến trình BI được thực hiện.
Trích dẫn, tạo, khai thác để có cái nhìn sâu sắc hơn trong phân tích của bạn Điều này xảy ra
khi dữ liệu được sinh ra hoặc một phần trong tiến trình chuẩn bị dữ liệu. Ví dụ khi làm báo
cáo bán hàng bạn có thể hiện vùng đồ họa mà bạn dùng cho khai thác dữ liệu sau này. Ngòai
ra bạn cũng có thể thêm dữ liệu trong quá trình chuẩn bị khai thác dữ liệu – như các biến tính
toán hay đơn vị đo lường khác.
Cách khai thác dữ liệu
Chọn một mô hình: Các nhà phân tích có thể làm việc trên phạm vi mô hình trực quan
bao gồm các hình thức tiên tiến của khai thác dữ liệu như là xếp nhóm, phân đoạn, các quyết
định hình cây, kiểu ngẫu nhiên, kiểu hình mạng, và phân tích nhân tố thiết yếu.
Thêm dữ liệu: Có thể thêm các tính năng khác cho dữ liệu. Ví dụ, bạn có thể định
nghĩa các biến để hệ thống có thể tự động lấy dữ liệu tạo thêm các cột mới để phân tích.
Phù hợp: Mỗi mô hình làm việc có những tham số riêng để phù hợp với dữ liệu mẫu.
Những người phân tích có thể dùng tham số này một cách tự động hay điều chỉnh bằng tay
(phụ thuộc vào mô hình) .
Đánh giá: Kết quả có thể được đánh giá theo mô hình dùng dữ liệu đã có để so với kết
quả thực tế.
Tính hoàn hảo: Áp dụng mô hình huấn luyện trong qui trình. Sau khi được huấn luyện
chắc chắn sẽ đưa ra kết quả tốt nhất cho mục đích kinh doanh cụ thể cần áp dụng.
Dữ liệu đầu ra: Áp dụng mô hình huấn luyện trong qui trình. Sau khi được huấn luyện
chắc chắn sẽ đưa ra kết quả tốt nhất cho mục đích kinh doanh cụ thể cần áp dụng.
Kỹ thuật
Công cụ khai thác dữ liệu mạnh: Cung cấp một công cụ học giải thuật toàn diện từ
dự án Weka bao gồm xếp nhóm, chia đoạn, quyết định hình cây, kiểu ngẫu nhiên, kiểu hình
mạng, và phân tích nhân tố thiết yếu.
Pentaho tích hợp với hệ Pentaho BI xử lý chuyển đổi định dạng dữ liệu tự động thành
các định dạng mà công cụ khai thác dữ liệu cần [8].
Giải thuật có thể áp dụng trực tiếp vào dữ liệu hoặc gọi từ Java.
27
Đầu ra có thể xem dạng đồ thị tương tác với chương trình hoặc dùng nguồn dữ liệu để
tạo báo cáo, phân tích sâu hơn hay các xử lý khác nữa.
Bộ lọc hỗ trợ việc phân rời hoá, bình thường hóa, mẫu sử dùng lại, chọn lọc thuộc
tính, thay đổi và kết hợp thuộc tính.
Công cụ phân loại cung cấp các mô hình để dự đoán những số lựơng ảo và thực. Sơ đồ
học bao gồm những cây quyết định và danh sách, những máy véc tơ hỗ trợ, perceptrons nhiều
lớp, hồi quy logic, mạng Baye và các kỹ thuật tiên tiến khác[8].
Tính mềm dẻo và tính thực thi: Được thiết kế để triển khai trong các doanh nghiệp,
ứng dụng với chức năng phong phú chạy trên nền J2EE bao gồm JBoss™ , ngoài ra còn có
tính năng mềm dẻo như là phân nhóm.
2.4. Tìm hiểu một số công cụ BI áp dụng vào bài toán thực tế
2.4.1. Giới thiệu và sử dụng công cụ PDI (Pentaho Data Integration)
2.4.1.1. Giới thiệu công cụ PDI
Pentaho Data Integration là một công cụ linh hoạt và thân thiện , cung cấp một giao
diện đồ họa trực quan (Spoon) để thay đổi và tạo ra các biến đổi trên cơ sở dữ liệu. Người
dùng có thể sử dụng dễ dàng và nó không yêu cầu bất kì kỹ năng lập trình đặc biệt nào. Và
hơn hết nó là mã nguồn mở nên được hỗ trợ mở cả một cộng đồng khắp thế giới.[3]
Hình 10: Công cụ Spoon
Pentaho Data Integration bao gồm các ứng dụng sau đây.
Spoon: Là thành phần được sử dụng nhiều nhất của Pentaho. Nó là một công cụ đồ
họa xây dựng trên nền tảng Eclipse, cho phép cấu hình một cách trực quan các công việc của
ETL.
28
Carte: Là một Web Server đơn giản cho phép bạn truy câp từ xa các kho dữ liệu của
Pentaho Data Integration, thực thi, theo dõi, Bắt đầu và kết thúc các công việc, các chuyển đổi
được chạy trên server.
Quartz: Bộ lập lịch.
Pan: Cho phép bạn thực thi các chuyển đổi được thiết kế bởi Spoon, do đó cho phép
các công việc của ETL có thể chạy từ dòng lệnh.
Kitchen: Là một chương trình của thể thực thi các công việc được thiết kế, tạo ra bởi
Spoon, Cho phép lập lịch và chạy tự động hàng loạt.
2.4.1.2. Sử dụng công cụ PDI
Đầu tiên tôi sẽ nhắc lại về Spoon, công cụ mà bạn phải nắm vững.
Spoon: là công cụ tích hợp mà chúng ta sẽ sử dụng để chạy các chuyển đổi
(Transformation) và công việc (Job). Spoon cũng là công cụ đồ họa mà bạn có thể thiết kế và
kiểm tra mọi qua trình của Pentaho Data Intergration. Các thành phần khác của Pentaho sẽ
thực thi các tiến trình được thiết kế bới Spoon.
Để khởi động Spoon trên windows chạy file spoon.bat (hoặc file Kettle.exe đối với
một số phiên bản cũ hơn). Để khởi động Spoon trong Linux hoặc hệ điều hành khác Unix, bạn
sử dụng các dòng lệnh sau:
cd data-integration
chmod +x spoon.sh
sh spoon.sh
Ngay sau khi Spoon được start, một hộp thoại xuất hiện yêu cầu kết nối dữ liệu. Ở đây
chúng ta chỉ cần sử dụng PDI cho nên bạn có thể bỏ qua bước này.
Phần trên cùng của màn màn hình Spoon chứa menu các tùy chọn cho phép bạn thực
hiện một host lưu trữ toàn bộ các tùy biến và hoạt động của ứng dụng. Panel phía bên trái có 2
tab.
View: Mô tả tất cả các yếu tố (steps, hops, jobs, database connection...) được sử dụng.
Design: Các hoạt động được sử dụng trong Pentaho Data Integration.
Trong khu vực chính: transformations hoặc các job được mở ra theo dạng tab. Mỗi file
có một menu cho phép thực hiện các hoạt động như: Run, Debug, explore database.
29
Hình 11: Giao diện đồ họa Spoon
2.4.2. Giới thiệu và sử dụng công cụ Schema workbench
2.4.2.1. Giới thiệu Schema workbench
Schema Workbench là một công cụ thiết kế giao diện cho phép bạn tạo và kiểm tra
Mondrian OLAP cube lược đồ trực quan. Mục đích Mondrian là xử lý yêu cầu MDX với
(quan hệ OLAP) lược đồ ROLAP. Những cấu trúc file đơn giản là các mô hình dữ liệu XML
được tạo ra trong một cấu trúc cụ thể được sử dụng bởi các công cụ Mondrian. Các mô hình
XML có thể được coi là cấu trúc khối giống như mà sử dụng FACT và bảng DIMENSION
tìm thấy trong RDBMS của bạn. Nó không đòi hỏi một khối vật lý thực tế được xây dựng
hoặc duy trì, chỉ là mô hình siêu dữ liệu được tạo ra.
Nó cung cấp các chức năng sau
- Biên tập sơ đồ tích hợp với các nguồn dữ liệu cơ bản để xác nhận.
- Kiểm tra MDX truy vấn đối với giản đồ và cơ sở dữ liệu
- Duyệt cấu trúc cơ sở dữ liệu cơ bản.
30
Hình 12: Giao diện thiết kế schema workben
2.4.2.2. Sử dụng Schema workbench
Để bắt đầu chạy Schema chúng ta mở file “workbench.bat” (Windows) hoặc
“workbench.sh” (for Unix/Linux). Sau đó cần tạo một thuộc tính để kết nối với cơ sở dữ liệu
Cube thông qua Tools > Preferences.
Hình 13: Tạo thuộc tính kết nối Cube
Bắt đầu làm việc với Schema đầu tiên chúng ta phải lựa chọn kết nối tới cơ sở dữ liệu.
Trong tab option > connection lựa chọn các thông số như sau:
31
Hình 14: Chọn kết nối tới cơ sở dữ liệu
Tạo mới một Schema hoặc mở một file đã tồn tại trước đó. Nếu bạn mở một schema
đã tồn tại thì Workbench xác nhận rằng các bảng và cột là cơ sở để định nghĩa khối thực sự
tồn tại trong cơ sở dữ liệu. Thông thường khi mới bắt đầu làm việc với công cụ chúng ta phải
tạo mới một cấu trúc schema
Hình 15: Tạo mới schema cube
Chi tiết cấu trúc của một Cube ứng dụng thực tế em sẽ trình bày trong chương 3.
32
Chƣơng 3: Xây dựng bài toán dữ liệu trên công cụ Pentaho và kết
quả đạt đƣợc
3.1. Xây dựng bài toán triển khai trên công cụ Pentaho
Trọng tâm của khóa luận này, em xin xây dựng bài toán phân tích thống kê dữ
liệu bằng công cụ Pentaho để xuất ra báo cáo phục vụ mục đích cho việc kinh doanh
và định hướng phát triển trong tương lai. Thông qua nguồn dữ liệu thô sinh ra trong
các thiết bị mạng Vinaphone, em tinh lọc và xử lý thành một nguồn dữ liệu chuẩn để
có thể xây dựng bài toán.
Môi trường thực hiện:
Hệ điều hành window.
Hệ quản trị Oracle, mysql.
Bộ công cụ Pentaho.
Data Intergation
Schema workbench
Biserver ce
Administration console
3.2. Thu thập xây dựng dữ liệu thô từ hệ quản trị Oracle
Dữ liệu dưới đây, em lấy từ hệ thống FM tool core của công ty cổ phần viễn
thông Telsoft. Nguồn dữ liệu đã được import và lưu trữ trên database Oracle. Do số
lượng các cảnh báo thường xuyên xẩy ra và chèn vào cơ sở dữ liệu nên nguồn dữ liệu
trong database là vô cùng lớn và đơn phức tạp.
33
Hình 16: Dữ liệu thô các cảnh báo lỗi
Dữ liệu trong khi thu thập có đầy đủ các thông tin về một cảnh báo lỗi như thời gian
xẩy ra cảnh báo lỗi, mã lỗi, tên thiết bị, mã thiết bị, tên nhà cung cấp, nguyên nhân lỗi, mức
độ nguy hiểm của cảnh báo. Ví dụ thông tin về một cảnh báo thì có dạng như sau.
Mã
lỗi
Thờ
i
gian
xẩy
ra
lỗi
Mã
thi
ết
bị
Tên
thiết
bị
Nguyên
nhân lỗi
Chi tiết lỗi Cấp
độ
lỗi
Nhà
cung
cấp
thiết
bị
Trạn
g
thái
khắc
phục
12
3
11-
Jul-
201
3
17
1
MSC
G
SYNCHR
ONOUS
DIGIEML
PATH
QUALITY
SUPERVIS
ION
SYNCHRONOUS DIGIEML
PATH QUALITY
SUPERVISION,BBER,SDIP
LAYER BBEL QSV DATE
TIME,4E1551 MS-1 16000
21466 120710 204132,Not
Attended,SWITCHING
DEVICES,APT,A3,21,SWIT
CHING
DEVICES,SYNCHRONOUS
DIGIEML PATH QUALITY
SUPERVISION,40958044,62
8
3 nokia N
34
3.3. Xây dựng Data Warehouse sử dụng công cụ Pentaho
Áp dụng công cụ Data Intergation phiên bản 4.2.0 trong bộ công cụ của
Pentaho đó là Spoon, em tạo kho dữ liệu như sau: Kho dữ liệu có 5 bảng dữ liệu trong
đó có 4 bảng chiều và 1 bảng chính.
Bốn bảng chiều đó là:
Bảng dim_time: Đưa ra các dữ liệu về giờ, ngày, tháng, quý, năm.
Bảng dim_node: Tên loại thiết bị.
Bảng dim_level: Cấp lỗi xẩy ra.
Bảng dim_cause: Nguyên nhân lỗi xẩy ra trên thiết bị.
Bảng chính đó là:
Bảng fact_alarm: Đưa ra các dữ liệu của từng cảnh báo để xử lý.
Cấu trúc bảng và sơ đồ quan hệ được mô tả trong hình sau:
Hình 17: Mô hình mối quan hệ giữa các bảng dữ liệu
35
Mở công cụ Spoon, em chọn File -> New -> Transformation. Dữ liệu đầu vào
được lưu trữ trong cơ sở dữ liệu Oracle chứa toàn bộ dữ liệu đã được chuẩn hóa do đó
trong mục Design -> Step em chọn phần Table Input kéo và thả biểu tượng này
vào trong vùng thao tác em được:
Hình 18: Dữ liệu vào từ Oracle
36
Click đúp vào đối tượng này sổ ra một bảng thông tin để lựa chọn cơ sở dữ
liệu. Đây là bước để lấy và thu thập dữ liệu từ nhiều ngồn khác nhau để xử lý thông
qua công cụ PDI.
Hình 19: Lựa chọn cơ sở dữ liệu
Trong ô “Step name” em đặt tên cho bước kết nối tới dữ liệu. Trong mục
“Connection” chọn “New” khi đó hệ thống tiếp tục mở ra một cửa sổ mới
37
Hình 20: Lựa chọn kết nối
Trong mục này em cần lựa chọn các thông số như sau: Do dữ liệu là nguồn
Oracle nên mục “Connection Type” chọn Oracle, mục “Access” chọn Native (JDBC),
thông tin “setting” em điền tên host, tên database, port (thường là cổng 1521 của
Oracle ), username, password. Click “test” nếu thành công thì ấn Ok, nếu không kết
nối được em phải kiểm tra lại thư viện “mysql-connector-java-5.1.20-bin.jar” hoặc
điền lại thông tin cho đúng.
Sau khi chọn xong kết nối và đã test thành công tiết theo em viết câu lệnh truy
vấn SQL trong mục SQL ở “Hình 9” và ấn OK.
Công việc tiếp theo em phải tạo một database trống trên hệ quản trị Mysql, với
mục đích là để lưu trữ dữ liệu data warehouse. Để thao tác dễ dàng em có thể dùng
phpMyadmin hoặc một công cụ hỗ trợ giao diện như Navicat, myslq Workpen. Ở đây
em dùng phpMyadmin, em đăng nhập root create một database có tên là warehouse.
38
Trở lại Spoon trong phần step ta chọn trong tab Data Warehouse kéo thả
“Combination lookup/update” vào khung làm việc. Sau đó kéo di chuột trái + shift từ
bước Table input sang bước “Combination lookup/update”.
Hình 21: Step Combination lookup/update
Click đúp vào bước Combination lookup/update để thay đổi các thuộc tính.
Trong ô “step name” đặt tên theo tên bảng chiều của dữ liệu. Ở đây ta tạo chiều
“Dim_time” đầu tiên.
39
Hình 22: Connection dim_time
Trong mục “Connection” do chưa có kết nối nào nên em click vào New, hệ
thống sẽ hiển thị ra một cửa sổ.
Hình 23: Kết nối dim_time
40
Em chọn các thông số như hình 13. Để kiểm tra kết nối đã hợp lệ hay chưa, em
click vào test nếu connect thành công sẽ hiện ra thông báo như sau.
Hình 24: Kiểm tra kết nối tới database
Sau đó em ấn hai lần Ok và trở lại giao diện “Combination lookup/update”.
Trong cửa sổ này có một số trường mà em cần phải quan tâm đó là: Trường
“Technical key field” để tạo id cho bảng.
Em ấn nút “Get Fields” để load các trường trong input table ban đầu. Em loại
bỏ nhưng trường không xuất hiện trong bảng dim_time, tick vào ô “Remove lookup
fields? “ để các trường này không xuất hiện trong các bảng sau. Ấn nút SQL để xem
các câu lệnh sql tạo bảng sau đó ấn nút Execute để tạo bảng Dim_time ( time_id,
start_datetime).
41
Hình 25: Tạo dim_time
Sau đó em ấn Ok trở lại giao diện Design, trong mục Data Warehouse tiếp tục
em thực hiện kéo thả “Combination lookup/update” để tạo ra các bảng dữ liệu
dim_node(node_id, node_code), dim_level (level_id, alarm_level_description),
dim_cause(cause_id, alarm_cause_description).
Có thể tạo thêm các “Combination lookup/update” mới mà không cần kéo thả
và đổ đầy lại thông tin cho các trường trong mỗi cửa sổ. Bạn copy lại “Combination
lookup/update” của Dim_time và sau đó chỉnh sửa lại những thông tin theo tên bảng
mới, ấn “Get Fields” và loại bỏ đi những trường không cần thiết của bảng đó. Quá
trình trên nếu hoàn thành đúng thì sẽ có giao diện mới như em đã làm.
42
Hình 26: Hiển thị các bảng dim
Tiếp đến em xây dựng bảng dữ liệu fact_alarm, đây là bảng dữ liệu quan trọng
nhất nó chứa các thông thi được tham chiếu đến từ các bảng chiều. Bảng này em chỉ
cần chứa thông tin trường Id của mỗi bảng chiều và Id của nó, chi tiết fact_alarm (id,
time_id, level_id, cause_id, node_id).
Trong phần Design > Output kéo thả biểu tượng vào trong cửa sổ
làm việc. Click đúp chuột vào biểu tượng và chỉnh sửa các thông tin phù hợp với dữ
liệu bảng fact. Check vào checkbox “return auto generated key“ để tạo trường id tự
động cho bảng. Do dữ liệu lớn nên em sử dụng Partition data over tables để làm tăng
khả năng truy vấn dữ liệu. Bởi khi dùng dữ liệu patition dữ liệu sẽ được chia ra làm
nhiều bảng nhỏ theo ngày, tháng cụ thể khi truy vấn không phải duyệt từ đầu. Ở đây
Patition data per month (phân chia dữ liệu theo tháng) với trường Partition field
“my_patition”.
43
Hình 27: Tạo bảng dữ liệu fact_alarm
Sau khi đã điền đầy đủ thông tin, em ấn nút SQL ở bên phải khi đó chương
trình sẽ hiển thị một giao diện cửa sổ chứa lệnh mysql, em ấn execute để thực thi dòng
lệnh mysql. Ấn Ok trở lại giao diện chính, lúc này em click vào biểu tượng và ấn
Launch để thực hiện việc đổ đầy dữ liệu vào các bảng đã được tạo trước đó. Chờ đợi
một vài phút để chương trình xử lý, thời gian lâu hay chậm tùy thuộc vào khối lượng
lớn dữ liệu.
Hệ thống chạy xong sẽ hiển thị cho người dùng thông tin về log và dấu hiệu
dấu tick trên mỗi step.
44
Hình 28: Hiển thị log
Một vấn đề cần xử lý sau khi tạo được cơ sở dữ liệu data warehouse, em cần
phải phân tích lại bảng dữ liệu dim_time sao cho dữ liệu là chi tiết nhất. Dữ liệu thời
gian ban đầu có dạng “2012-07-10 21:54:00” em sẽ chia ra thành giờ ngày tháng năm.
Để làm được điều này em phải viết một thủ tục tên “procedure_time” với nội dung:
45
Hình 29: Tạo một thủ tục
Trước khi chạy thủ tục em thêm vào bảng dim_time một số trường cần thiết:
Alter table dim_time add dayofmonth int(11) default NULL;
Alter table dim_time add dayofyear int(11) default NULL;
Alter table dim_time add dayofweek int(11) default NULL;
Alter table dim_time add dayname varchar(10) collate utf8_unicode_ci default
NULL;
Alter table dim_time add monthnumber int(11) default NULL;
Alter table dim_time add monthname varchar(10) collate utf8_unicode_ci default
NULL;
46
Alter table dim_time add year int(11) default NULL;
Alter table dim_time add quarter tinyint(4) default NULL;
Alter table dim_time add hour int(11) default NULL;
Alter table dim_time add minute int(11) default NULL;
Alter table dim_time add second int(11) default NULL;
Rồi sau đó chạy thủ tục và chờ dữ liệu được xử lý (Hình vẽ)
Hình 30: Dữ liệu sau khi xử lý
Đến bước này là em đã hoàn thành công việc xây dựng data warehouse cho hệ
thống bằng công cụ Spoon.
47
3.4. Xử lý bằng kĩ thuật OLAP sử dụng công cụ Schema-workbench
3.4.1. Tạo cube và publish lên server
Đầu tiên em xây dựng một cube bằng công cụ Schema workbench, mở file
workben.bat sau vài giây chờ đợi sẽ hiển thi ra màn hình một cửa sổ. Lựa chọn kết nối
tới database (Ở đây em sử dụng database Mysql). Tạo mới một Schema, em vào File >
New > Schema. Trong Schema add thêm một Cube và các chiều trong cube đó.
Hình 31: Tạo cube
Sau khi tạo xong cube công việc tiếp theo là khởi động server của
“administration-console” (gói này nằm trong biserver-ce-4.5.0-stable - ở đây em dùng
phiên bản ce 4.5). Em mở thư mục administration-console Click vào file start-pac.bat,
bật trình duyệt gõ vào địa chỉ với user: admin, password:
password. Trong Administration > database connections em thêm một kết nối “tamnv”
với thông tin như sau:
48
Hình 32: Tạo kết nối tới Admintor
Sau đó trở lại công cụ schema workben để public cube lên server, em vào File >
publish. Trong cửa sổ login em đăng nhập với tài khoản joe/password
Hình 33: Đăng nhập server
49
3.4.2. Thiết kế biểu đồ, báo cáo
Bước tiếp theo em mở folder “biserver-ce” chạy file “start-pentaho.bat” sau đó
vào địa chỉ để vào “Pentaho User Console”. Hiện ra khung đăng
nhập, em điền user: joe/ password: password. Khi đăng nhập thành công hệ thống sẽ
hiển thị ra giao diện
Hình 34: Giao diện thiết kế báo cáo
Tiếp đến em chọn New Analysis, trong mục schema lựa chọn tên schema mà
em vừa publish thành công lúc trước và ấn OK.
Hình 35: Lựa chọn schema
Sau khi ấn Ok hệ thống sẽ chuyển đến một giao diện làm việc “New Analysis
Views”. Trong cửa sổ này là nơi em bắt đầu công việc phân tích và thiết kế biểu đồ.
50
Hình 36: Thiết kế biểu đồ
Em click vào nút trên thanh công cụ hệ thống để em lựa chọn độ đo,
columns, rows và filter cho việc lựa chọn hiển thị nội dung các phân tích.
Hình 37: Lựa chọn thước đo
Đầu tiên em lựa chọn thước đo sum_node – tính toán mức độ xẩy ra các cảnh
báo lỗi của từng thiết bị trong các năm. Sau khi ấn Ok em tiếp tục lựa chọn Rows,
trong mục Rows em chọn chiều dim_time để phân tích.
51
Hình 38: Lựa chọn chiều thời gian
Sau khi em click vào lọc theo chiều Dim_time (Như trên hình) hệ thống chuyển
sang chi tiết thông tin về chiều Dim_time. Em click vào nút ở giữa check box và
All Dim_time để hiển thị ra chi tiết các năm. Ở đây em lựa chọn năm (2012) để phân
tích dữ liệu.
Hình 39: Lựa chọn thời gian theo năm
52
Vào chi tiết trong các năm em có thể chọn được các tháng, ngày, giờ sau đó ấn
Ok để lưu lại.
Hình 40: Lựa chọn thời gian tháng, ngày, giờ
Sau đó em ấn Ok trong mục Filter để lọc lại dữ liệu đã lựa chọn ở trên. Tiếp đến
em ấn nút trên thanh công cụ để chỉnh sửa lại kích thước biểu đồ và lựa chọn kiểu
biểu đồ thiết kế như mình mong muốn.
53
Hình 41: Chỉnh sửa cấu trúc biểu đồ.
Chọn xong biểu đồ em ấn Ok và ấn nút để hiển thị ra màn hình hình dạng
của dữ liệu đã được phân tích.
Hình 42: Biểu đồ đường thể hiện tổng số lỗi trong năm 2012
54
Hình 43: Biểu đồ cột thể hiện tổng số lỗi trong năm 2012
Để có nhiều màu sắc hơn cho biểu đồ và làm cho người đọc dễ hình dung thì
em click vào trên thanh công cụ thì tự khắc sẽ chuyển cho em từ biểu đồ hình cột
đơn sắc sang biểu đồ hình cột đa màu sắc.
55
Hình 44: Biểu đồ cột nhiều mầu sắc thể hiện tổng số lỗi trong năm 2012
So sánh biểu đồ với bảng dữ liệu tương ứng
Hình 45: Bảng dữ liệu về tổng lỗi năm 2012
Tiếp theo em sẽ phân tích tổng số lỗi dựa trên mức độ nguy hiểm của lỗi trên
mỗi thiết bị trong năm 2012. Vẫn trên giao diện làm việc “New Analysis View” em
click vào nút để bắt đầu với phiên làm việc mới. Click vào “Measures” lựa chọn
thước đo sum_level (Nếu chưa tồn tại thước đo này thì em có thể tạo lại với công cụ
56
schema workben). Tiếp đó trong hàng “Rows” của chiều Dim_time em click vào biểu
tượng để chuyển chiều này sang Columns cùng với thước đo measeres. Tương tự
em làm với chiều dim_cause, dim_node.
Hình 46: Xử lý các chiều dữ liệu để phân tích
Trong mục Rows em click vào Dim_level để lựa chọn mức lỗi cần phân tích.
Hình 47: Lựa chọn mức lỗi
57
Tương tự như phần trên em cấu hình lại hình dạng biểu đồ và lựa chọn kiểu
hiển thị biểu đồ khác nhau em được.
Hình 48: Biểu đồ đường hiển thị mức lỗi
Hình 49: Biểu đồ cột hiển thị mức lỗi
58
Chƣơng 4: Kết luận
Qua việc tìm hiểu công cụ Pentaho và áp dụng vào trong bài báo cáo này, em đã
thấy được tầm quan trọng khi áp dụng kho dữ liệu và kĩ thuật OLAP sẽ là xu thế và tất
yếu trong tương lai của các nhà doanh nghiệp. Vấn đề về dữ liệu lớn hay phức tạp giờ
đây không phải là khó khăn để giải quyết khi chúng ta biết xây dựng kho dữ liệu và xử
lý chúng bằng công cụ Pentaho.
Khóa luận đã giúp em đạt được những kết quả.
Tìm hiểu được cấu trúc kho dữ liệu lớn data warehouse và ứng dụng của nó
trong việc phân tích thống kê báo cáo.
Tìm hiểu được kĩ thuật phân tích OLAP, các mô hình lưu trữ hỗ trợ OLAP và
ưu nhược điểm của các mô hình lưu trữ đó.
Làm quen với bộ công cụ Pentaho, học cách sử dụng chức năng của các tool và
áp dụng vào bài toán thực tế. Xây dựng được các biểu đồ thể hiện sự thay đổi biến
động của các cảnh báo lỗi trên thiết bị mạng Vinaphone.
*********************************
59
Tài liệu kham khảo
Tài liệu tiếng việt
[1] Nguyễn Văn Chức. Business Intelligence là gì ?. 7/4/2012.
[2] William H. Inmon. Building the Data Warehouse Fourth Edition. Wiley,
2005.
[3] Minh` Blog. Pentaho Data Integration. 2012.
[4] Nguyễn Thành Đạt, Nguyễn Ngọc Anh. Advances Topics in Database
Systems. 2009.
[5] Trịnh Minh Giang. Dữ liệu và xử lý chuyển giao dữ liệu trực tuyến.
26/02/2004.
[6] Trần Đình Chiến. Luận văn thạc sĩ. Phương pháp xử lý phân tích trực tuyến
áp dụng trong xây dựng hệ trợ giúp quyết định dựa vào dữ liệu. 2006.
[7] Bi for Everyone. Phần mềm Bi mã nguồn mở Pentaho. 2012.
Tài liệu tiếng anh
[8] Pentaho Corporation. Pentaho Analysis Viewer User Guide. Pentaho
Corporation, 2007. Tr 1-23.
[9] Julian Hyde, Lance Walter. OLAP for MySQL using Pentaho’s Mondrian.
Các file đính kèm theo tài liệu này:
- khoaluantotngiep_484.pdf