ỨNG DỤNG CÔNG NGHỆ OLAP TRONG KHAI THÁC SỐ LIỆU DỊCH HẠI TRÊN LÚA TẠI TRÀ VINH ABSTRACT Online Analytical Processing is used in wide variety of business applications to analyze the data and this helps[.]
Trang 1ỨNG DỤNG CÔNG NGHỆ OLAP TRONG KHAI THÁC SỐ LIỆU DỊCH HẠI TRÊN LÚA TẠI TRÀ VINH
ABSTRACT
Online Analytical Processing is used in wide variety of business applications to analyze the data and this helps in querying multidimensional data This thesis describes the design and the implementation of OLAP Reporting Application in rice diseases Data Warehouse by using the architecture of Data Warehouse, OLAP technology and web structure It helps to build and to exploit a Data Warehouse of rice diseases To get this goal, some modern tools to build and to organize many parts of the system needed are used in its practice such as SQL Server
2005 for Analysis Services 2005 for an OLAP database and Microsoft Office Web Components for a web based OLAP Reporting Applications The user can analyze directly and flexibly the rice disease data on the Web pages
Keywords: Data Warehouse, Online Analytical Processing (OLAP), web structure,
OLAP database, web based OLAP Reporting
TÓM TẮT
Kỹ thuật phân tích dữ liệu trực tuyến OLAP (Online Analytical Processing) được sử dụng rộng rãi trong nhiều ứng dụng kinh doanh để phân tích dữ liệu và giúp truy vấn trên dữ liệu đa chiều nhằm hỗ trợ việc ra quyết định của các nhà quản lý Bài báo này mô tả và xây dựng một ứng dụng thống kê trực tuyến trên kho dữ liệu dịch hại trên lúa bằng cách sử dụng kiến trúc kho dữ liệu (Data Warehouse), kỹ thuật phân tích trực tuyến OLAP và cấu trúc web Ứng dụng này hỗ trợ khai thác hiệu quả kho dữ liệu dịch hại trên lúa đã được ngành Trồng trọt và Bảo vệ Thực vật Trà Vinh tích tụ trong nhiều năm qua Để đạt được mục đích này, một vài công cụ được sử dụng để xây dựng thành công ứng dụng như: SQL Server 2005 cho kho dữ liệu, Analysis Services 2005 cho CSDL đa chiều OLAP và Microsoft Office Web Components cho các báo cáo dựa trên web Với kết quả đạt được, ứng dụng cho phép người sử dụng phân tích trực tuyến và linh hoạt dữ liệu dịch hại trên lúa trực tiếp trang web, điều này cho thấy rằng công nghệ OLAP không những là công cụ được áp dụng hiệu quả trong các ứng dụng hỗ trợ kinh doanh mà còn cần được áp dụng mạnh mẽ trong các hệ thống tin học hỗ trợ lĩnh vực nông nghiệp
Từ khóa: kho dữ liệu, kỹ thuật phân tích trực tuyến, cấu trúc web, CSDL đa chiều
OLAP, báo cáo dựa trên web
Trang 21 GIỚI THIỆU
Nông nghiệp là một ngành kinh tế quan trọng trong nền kinh tế của mỗi quốc gia, đặc biệt là trong giai đoạn hiện nay, khi mà vấn đề an ninh lương thực được đặt lên hàng đầu
Ở nước ta, do nền kinh tế phát triển lên từ một nước nông nghiệp nên kinh tế nông nghiệp càng có vai trò quan trọng hơn trong sự phát triển kinh tế của đất nước Điều này đã được chứng minh thực tế trong cuộc khủng hoảng giá lương thực năm 2008, đã làm ảnh hưởng nghiêm trọng đến nhiều thành phần kinh tế khác và đời sống của hàng triệu người Đồng bằng Sông Cửu Long (ĐBSCL) là vựa lúa lớn nhất nước ta, trong những năm gần đây, với việc thâm canh tăng vụ và áp dụng các tiến bộ khoa học kỹ thuật vào sản xuất lúa đã làm cho năng suất và sản lượng lúa ngày một nâng lên Hơn mười năm qua, ĐBSCL được xem
là vùng kinh tế trọng điểm của quốc gia sản xuất lương thực phục vụ xuất khẩu và bảo đảm
an ninh lương thực quốc gia
Tuy nhiên, với việc thâm canh cây lúa trong nhiều năm liền đã tạo nguy cơ cho sự bộc phát dịch hại trên lúa, đặc biệt trong năm 2006 dịch rầy nâu xuất hiện ở tất cả các tỉnh thuộc vùng ĐBSCL Để chống lại sự bộc phát dịch hại, nâng cao năng suất và sản lượng lúa Các nhà khoa học đã nghiên cứu và đưa ra nhiều biện pháp hữu hiệu như: lai tạo ra các giống lúa mới
có khả năng kháng dịch hại, thực hiện phương pháp quảng canh, gieo trồng né tránh dịch hại, phun thuốc phòng trị dịch hại và nhiều phương pháp khác Dù là áp dụng phương pháp nào đi nữa thì nhu cầu tìm kiếm thông tin về dịch hại của nhà nông, nhà quản lý nông nghiệp và nhà khoa học cũng hết sức cần thiết
Tại Chi cục Trồng trọt và Bảo vệ thực vật Trà Vinh, nhu cầu phân tích số liệu dựa trên khối lượng dữ liệu khổng lồ để hỗ trợ thông tin nhanh về dịch hại trên lúa cho nông dân, cán
bộ quản lý nông nghiệp, cán bộ nghiên cứu là mục tiêu được đặt ra Các kết quả phân tích này
có ý nghĩa quan trọng trong công tác phòng trị dịch hại Để đạt được mục tiêu này, việc xây dụng ứng dụng thống kê trực tuyến sử dụng kỹ thuật phân tích trực tuyến (OLAP – OnLine Analytical Processing) là một giải pháp tốt
Để thể hiện các báo cáo dựa trên nhiều chỉ tiêu, theo yêu cầu của người sử dụng, người
ta thường mất rất nhiều thời gian cho việc thu thập dữ liệu, tích hợp số liệu, thực hiện một số công thức tính toán, thiết kế mẫu báo cáo mới, thậm chí sửa đổi lại cấu trúc cơ sở dữ liệu (CSDL) và thay đổi mã nguồn của phần mềm Chính các bước phức tạp này đã làm chậm đi quá trình cung cấp thông tin nhanh để đáp ứng kịp thời cho công tác phòng chống dịch hại Vì vậy, việc thay thế bằng một phương pháp mới là cần thiết
Từ yêu cầu thực tế, bài toán xây dựng ứng dụng thống kê trực tuyến trên nền web phục
vụ công tác phân tích trực tuyến trên dữ liệu về dịch hại trên lúa là thật sự thiết thực Ứng dụng được thiết kế sao cho có thể cung cấp thông tin chính xác, đáp ứng yêu cầu phân tích số liệu trên nhiều chỉ tiêu, theo yêu cầu của người dùng khi phân tích dữ liệu Để đáp ứng các yêu cầu này thì việc áp dụng công nghệ mới như: kho dữ liệu (Data Warehouse), kỹ thuật phân tích
Trang 3trực tuyến (OLAP) và các công nghệ liên quan đến web vào việc xây dựng ứng dụng là giải pháp khả thi
Bài báo tiến hành mô tả và xây dựng một ứng dụng thống kê số liệu dịch hại trên lúa tại Trà Vinh sử dụng kiến trúc kho dữ liệu, kỹ thuật phân tích trực tuyến OLAP và kiến trúc web Bài báo cũng nghiên cứu các tiêu chí mà người dùng sử dụng khi phân tích dữ liệu dịch hại trên lúa trực tuyến trên web
2 CÔNG NGHỆ OLAP
2.1 OLAP là gì?
Thuật ngữ OLAP được E F Codd đưa ra trong một bài báo có tên “Providing On-Line Analytical Processing to User Analysts” được công bố vào tháng 8 năm 1993 Trong bài báo
này ông cũng đưa ra 12 quy tắc mà một hệ thống OLAP phải tuân theo Từ đó OLAP được biết
đến như một kỹ thuật phân tích dữ liệu sử dụng các thể hiện dữ liệu đa chiều gọi là các khối
(cube) OLAP cung cấp khả năng tạo ra các khối dữ liệu và thực hiện các truy vấn tinh vi trên các ứng dụng người dùng
12 tiêu chuẩn để đánh giá một hệ thống OLAP của E F Codd:
1 Khung nhìn khái niệm đa chiều (Multidimensional Conceptual View): Dữ liệu sẽ được trình bày cho người dùng trên khuân mẫu đa chiều
2 Trong suốt (Transparency): Người dùng không cần biết họ đang sử dụng CSDL đa chiều OLAP
3 Tính truy cập (Accessibility): Các công cụ OLAP nên chọn dữ liệu nguồn tốt nhất để
hỗ trợ truy vấn
4 Nhất quán trong thực thi báo cáo (Consistent Reporting Performance): Sự thực thi báo cáo phải như nhau không phụ thuộc vào dung lượng CSDL và số chiều được sử dụng
5 Có kiến trúc khách – chủ (Client-Server Architecture): Các công cụ OLAP được triển khai trên mô hình khách hàng – phục vụ
6 Phân chiều tổng quát (Generic Dimensionality): Đảm bảo các chiều dữ liệu là như nhau trong cấu trúc và tính toán Không thiên vị trong việc truy cập bất cứ chiều nào
7 Xử lý động Ma trận dữ liệu thừa (Dynamic Sparse Matrix Handling): Các giá trị null được tổ chức lưu trữ hiệu quả trên ma trận động
8 Hỗ trợ đa người dùng (Multi-User Support): Công cụ OLAP phải hỗ trợ nhiều người dùng đồng thời
9 Các toán tử qua các chiều không giới hạn (Unrestricted Cross-Dimensional Operations): Quy tắc kết hợp được áp dụng trên tất cả các chiều
10 Thao tác dữ liệu bằng trực giác (Intuitive Data Manipulation): Người dùng nhìn thấy mọi dữ liệu cần thiết trên giao diện, tránh phải sử dụng qua menu hoặc qua nhiều thao tác
Trang 4mới mở được giao diện
11 Lập báo cáo động (Flexible Reporting): Cho phép người dùng trình bày báo cáo dữ liệu theo bất kỳ cách nào mà họ thích
12 Mức độ kết hợp và số chiều không hạn chế (Unlimited Dimensions and Aggregation Levels): Sẽ không có giới hạn số chiều và mức kết hợp trong mô hình OLAP
2.2 Mô hình dữ liệu đa chiều
Trong thực tế người ta có khuynh hướng suy nghĩ theo “đa chiều” Ví dụ một nhà quản
lý nông nghiệp khi dự đoán dịch hại xảy ra anh ta mô tả như sau: “Có khả năng dịch rầy nâu
sẽ bùng phát trở lại tại các tỉnh Trà Vinh, Vĩnh Long, An Giang trong khoảng tháng 5 năm
2009 ” Dự đoán này được những người thiết kế khối dữ liệu mô tả lại như sau:
Hình 1: Mô phỏng các chiều trong mô tả dịch hại
Khối dữ liệu (cube): Khối là thành phần chính trong cấu trúc OLAP được sử dụng để
lưu trữ và liệt kê dữ liệu Nó tương tự như khái niệm bảng (table) trong hệ thống CSDL quan
hệ
Ví dụ: Để quản lý dịch hại trên lúa ta có thể tạo ra một khối dữ liệu DICHHAI nhằm
lưu lại các thông tin liên quan đến dịch hại trên lúa có xét đến chiều thời gian, loại dịch hại, thời tiết, giai đoạn sinh trưởng, địa điểm Những chiều này cho phép người dùng theo dõi những thông tin liên quan đến dịch hại như dịch hại xảy ra ở đâu, trong điều kiện thời tiết nào, trong khoảng thời gian nào và ở giai đoạn sinh trưởng nào của cây lúa
Hình Error! No text of specified style in document.: Lược đồ cấu trúc khối DICHHAI
Trang 5Chiều dữ liệu (Dimension): Chiều là thuộc tính cấu trúc tạo nên khối Một chiều có thể
nằm trong một khối duy nhất hoặc được chia sẻ cho nhiều khối Chiều được tạo ra khi tạo khối Mỗi chiều ánh xạ thông tin đến một bảng trong kho dữ liệu gọi là bảng chiều Ví dụ trong hình
2 gồm các chiều thời gian, loại dịch hại, thời tiết, giai đoạn sinh trưởng, địa điểm
Phân cấp (hierarchy): Phân cấp là cột sống của việc tổng hợp dữ liệu hay nói cách khác
là dựa vào các phân cấp mà việc tổng hợ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
Hình 3: Phân cấp của chiều địa điểm
Các độ đo (Measures): Các độ đo là dữ liệu dạng số được người dùng quan tâm khi liệt
kê khối Độ đo được lựa chọn dựa trên loại thông tin người dùng yêu cầu Độ đo được tạo ra khi tạo khối Một độ đo chỉ thuộc một khối duy nhất ngược lại một khối có thể có nhiều hơn
1024 độ đo Ví dụ trong khối hình 2 chứa bốn độ đo Dtnhiemnang, Dtnhiemtb, Dtnhiemnhe, Dtphongtri
2.3 Các lược đồ cho CSDL đa chiều
Lược đồ hình sao (star schema): Lược đồ hình sao bao gồm một bảng sự kiện (Fact
table) nằm ở trung tâm, và một số bảng chiều (dimension table) kết nối bao quanh bảng sự kiện tạo thành hình ngôi sao
Hình 4: Lược đồ hình sao
Lược đồ bông tuyết (Snowflake schema): Lược đồ bông tuyết là một biến thể của lược
đồ hình sao, trong đó một số bảng chiều được chuẩn hóa, từ đó có thể có tiếp tục chia dữ liệu thành nhiều bảng khác Lược đồ có hình dạng như một bông tuyết
Trang 6Hình 5: Lược đồ bông tuyết
Lược đồ chòm sao sự kiện (fact constellation): Các ứng dụng phức tạp có thể đòi hỏi
nhiều bảng sự kiện cùng chia sẻ các bảng chiều Loại lược đồ này có thể được xét như một tập hợp các lược đồ hình sao Vì thế, nó được gọi là lược đồ chòm sao sự kiện
Hình 6: Lược đồ chòm sao sự kiện
Trang 72.4 Các mô hình OLAP thông dụng
Hai mô hình OLAP thông dụng được nhiều nhà cung cấp dịch vụ OLAP hỗ trợ là MOLAP và ROLAP Sự phân biệt giữa hai mô hình này dựa trên cách thức lưu trữ dữ liệu ROLAP đại diện cho xử lý phân tích trực tuyến trên CSDL quan hệ MOLAP đại diện cho xử
lý phân tích trực tuyến trên CSDL đa chiều
2.4.1 Mô hình MOLAP
Trong mô hình MOLAP, dữ liệu phân tích được lưu trữ trong CSDL đa chiều chuyên dụng nhằm phục vụ tốt nhất cho các truy vấn tổng hợp dữ liệu thường xuyên mà cần thời gian truy xuất nhanh Số liệu tính toán trước và chiều của khối dữ liệu được lưu trong CSDL đa chiều Động cơ MOLAP trong tầng ứng dụng đẩy dữ liệu đa chiều từ CSDL đa chiều đến người dùng phân tích dữ liệu Hình 7 trình bày kiến trúc của mô hình MOLAP
Ưu điểm của MOLAP:
Hình 7: Mô hình MOLAP
- Thực thi nhanh câu truy vấn nhờ vào việc tối ưu hóa lưu trữ, lập chỉ mục đa chiều và cơ chế bộ nhớ cache
- Áp dụng tốt cho các hệ thống có yêu cầu tính toán phức tạp và thời gian truy xuất nhanh bởi vì tất cả các dữ liệu cần tính toán đã được thực hiện khi tạo khối dữ liệu
- Không sử dụng cơ chế khoá do dữ liệu là chỉ đọc
- Dữ liệu có thể dễ dàng sao chép đến người dùng cho phân tích offline
Trang 8Nhược điểm của MOLAP:
- Chi phí nhiều thời gian để xử lý dữ liệu (nạp dữ liệu), đặc biệt trong trường hợp khối dữ liệu có dung lượng lớn Để khắc phục nhược điểm này các công cụ MOLAP cho phép chỉ xử lý phần dữ liệu có sự thay đổi thay vì xử lý lại toàn bộ khối dữ liệu
- MOLAP lưu trữ nhiều dữ liệu dư thừa nhằm đáp ứng thời gian truy xuất nhanh
- Bị giới hạn bởi dung lượng dữ liệu của hệ thống do tất cả các dữ liệu tính toán trước đều được lưu trữ trong khối Điều này làm cho dữ liệu trong khối có phinh hướng tổng hợp hơn là chi tiết
- Tăng thêm chi phí do công nghệ đa chiều không có sẵn trong hệ thống nên phải đầu tư chi phí cho cả công nghệ và huấn luyện con người
2.4.2 Mô hình ROLAP
Trong mô hình ROLAP, dữ liệu được lưu trữ trên các bảng theo định dạng của CSDL quan hệ đáp ứng tốt nhất cho các truy vấn dữ liệu không thường xuyên Để giấu đi kiến trúc lưu trữ theo định dạng quan hệ và trình bày dữ liệu đa chiều, ROLAP tạo ra một lớp dữ liệu ngữ nghĩa gọi là Metadata Lớp Metadata này hỗ trợ việc ánh xạ của các chiều đến các bảng trong CSDL quan hệ đồng thời hỗ trợ việc tổng hợp và kết hợp dữ liệu Metadata được lưu trữ ngay trong CSDL quan hệ
Ưu điểm của ROLAP:
Hình 8: Mô hình ROLAP
- Có thể áp dụng với hệ thống có dung lượng lớn do kích cỡ của ROLAP chính là kích cỡ của CSDL quan hệ
- Tiết kiệm không gian lưu trữ do dữ liệu lưu trữ trong CSDL quan hệ truyền thống ít khi trùng lắp
Trang 9- ROLAP là kỹ thuật hiệu quả cho hệ quản trị CSDL quan hệ duy trì chức năng truyền thông của nó đồng thời thực thi được các phép toán của hệ thống OLAP
- Dữ liệu được chứa trong CSDL quan hệ chuẩn nên có thể được truy cập bằng bất kỳ công cụ SQL nào
Nhược điểm của ROLAP:
- ROLAP chạy chậm do mỗi ROLAP report là câu truy vấn nguyên thủy trong CSDL quan hệ
- Tất cả các tính toán của ROLAP dựa trên các hàm của SQL, vì thế chúng không thích hợp khi mô hình có nhiều tính toán như dự toán ngân sách, báo cáo tài chính
2.4.3 So sánh giữa MOLAP và ROLAP
Việc chọn lựa giữa mô hình ROLAP và MOLAP phụ thuộc vào độ phức tạp của câu truy vấn trên hệ thông và yêu cầu thời gian truy xuất dữ liệu MOLAP được lựa chọn khi hệ thống cần thời gian truy xuất nhanh và các câu truy vấn có yêu cầu tính toán phức tạp ROLAP được lựa chọn khi hệ thống có dung lượng dữ liệu quá lớn, không yêu cầu thời gian đáp ứng cao và tầng xuất truy cập dữ liệu không thường xuyên Tuy nhiên, việc quyết định chọn MOLAP hay ROLAP có thể dựa vào việc so sánh chi tiết trên các góc độ kỹ thuật lưu trữ, công nghệ được ứng dụng và các đặc trưng của mô hình
2.4.4 Mô hình HOLAP
Hình 9: So sánh giữa MOLAP và ROLAP
Mô hình HOLAP là sự kết hợp giữa MOLAP và ROLAP, lưu trữ các khối trong cấu trúc HOLAP là tốt nhất cho các truy vấn tổng hợp dữ liệu thường xuyên dựa trên một lượng lớn dữ liệu cơ sở Ví dụ, chúng ta sẽ lưu trữ dữ liệu bán hàng theo hàng quý, hàng năm trong cấu trong MOLAP và dữ liệu hàng tháng, hàng tuần và hàng ngày trong cấu trúc ROLAP
Trang 10Hình 10: Mô hình HOLAP 2.5 Các thao tác OLAP trong mô hình dữ liệu đa chiều
- Roll up: Thao tác này đi theo hướng cao hơn trong cấu trúc phân cấp, nhằm tổng hợp
số liệu ở mức cao hơn
- Drill-down: Thao tác ngược với Roll-up, theo hướng về cấp thấp hơn trong cấu trúc
phân cấp, nhằm trình bày dữ liệu ở mức chi tiết hơn
- Slice and Dice: Thao tác này thực hiện một phép chọn chiếu trên một hoặc nhiều
chiều của một khối dữ liệu đã cho, kết quả thu được sẽ là một khối dữ liệu con
- Pivot (hay rotate): Thao tác pivot là một thao tác minh họa, quay các trục dữ liệu trong
khung nhìn nhằm cung cấp một dạng biểu diễn khác của dữ liệu để chọn lựa cách biểu diễn
Hình 11: Minh họa các thao tác Roll up, Drill down