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

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ữ đó.

pdf61 trang | Chia sẻ: lylyngoc | Lượt xem: 4775 | Lượt tải: 3download
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:

  • pdfkhoaluantotngiep_484.pdf