Xử lý phân tích số liệu trực tuyến (OLAP)

Ngày đăng: 2016-08-04 11:07:57 - Ngày cập nhật: 2017-01-24 13:49:35 - Số lần xem: 748
Điểm: 0/5 (0 phiếu)

Hệ thống OLAP (On Line Analysis Processing - Xử lý phân tích trực tuyến) là một hệ thống xử lý dữ liệu mạnh. Nó cho phép người sử dụng phân tích dữ liệu qua việc cắt lát (slice) dữ liệu theo nhiều khía cạnh khác nhau, khoan xuống (Drill-Down) mức chi tiết hơn hay cuộn lên (Roll-Up) mức tổng hợp hơn của dữ liệu. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ kho dữ liệu sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong một kho dữ liệu đa chiều.

Hiện nay, đã có rất nhiều phần mềm cung cấp cho người sử dụng những khả năng truy vấn và lập các báo cáo thông tin, đặc biệt là các hệ quản trị cơ sở dữ liệu (CSDL) quan hệ. Tuy nhiên, CSDL quan hệ, với cấu trúc hai chiều (dòng và cột), đã không được thiết kế để cung cấp các quan điểm đa chiều trên dữ liệu đầu vào của các phân tích phức tạp. Sử dụng các hệ thống này, chúng ta sẽ gặp rất nhiều khó khăn và bất tiện trong việc tổ chức dữ liệu đa chiều vào các bảng hai chiều, không thể triển khai dữ liệu phân tích với số lượng lớn, công cụ phân tích để tạo ra các dữ liệu quyết định không mạnh, thuận tiện, linh hoạt, nhanh chóng, và nhất là không dễ dàng để sử dụng đối với các nhà quản lý, những người ra quyết định.

Để có khả năng cung cấp những dữ liệu quyết định cho những người ra quyết định, cần sử dụng một cách lưu trữ dữ liệu cho phép họ quản lý, khai thác dữ liệu dễ dàng hơn. Cách lưu trữ dữ liệu này là Data Ware House (kho dữ liệu - KDL). Một KDL là một CSDL được thiết kế để trả lời các câu hỏi của doanh nghiệp. Nó là nơi chứa nhiều loại dữ liệu doanh nghiệp từ các nguồn khác nhau (các hệ thống xử lý tác vụ). Dữ liệu từ những nguồn này được chuyển dịch vào trong KDL, được đánh chỉ mục, và được kết nối lại để có thể được truy xuất nhanh chóng và dễ dàng hơn, phục vụ cho các ứng dụng trợ giúp ra quyết định. Và một khi dữ liệu đã được thu thập, người sử dụng còn cần có một phương cách tốt để dễ dàng khai thác chúng, nhằm truy xuất được các mẫu dữ liệu mà họ quan tâm. Hệ thống OLAP giúp cho họ làm điều này.

Hệ thống OLAP là một hệ thống quản lý dữ liệu giàu năng lực. Nó cho phép người sử dụng phân tích dữ liệu qua việc cắt lát (slice) dữ liệu theo nhiều khía cạnh khác nhau, khoan xuống (Drill-Down) mức chi tiết hơn hay cuộn lên (Roll-Up) mức tổng hợp hơn của dữ liệu. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ KDL hoặc từ DataMart (kho dữ liệu chủ đề - DM) sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong một kho dữ liệu đa chiều.

Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều của dữ liệu chi tiết và tổng thể. Một khối bao gồm một bảng sự kiện (Fact), một hoặc nhiều bảng chiều (Dimensions), các đơn vị đo (Measures) và các phân hoạch (Partitions).

Để mô tả dữ liệu hình khối, chúng ta thử tưởng tượng dữ liệu trong bảng Fact (Sale) được phân bố như sau:

Khối (Cube)

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 (subset) 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, ta 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.

Ví dụ: một khối cho phân tích bán hàng bao gồm các đơn vị đo lường: Sảnphẩm_Bánhàng_Giá (Item_Sale_Price) và Sảnphẩm_Chiphí (Item_Cost) từ bảng Bánhàng_chính (Sales_Fact), và các chiều Vịtrí_Kho (Store_Location), Dòng_sảnphẩm (Product_Line), và Năm_Tàichính (Fiscal_Year).

Khối này cho phép người dùng phân chia Sản phẩm_Bánhàng_Giá (Item_ Sale_Price) và Sảnphẩm_Chiphí (Item_Cost) thành các loại khác nhau bởi Vịtrí_Kho, Dòng_Sảnphẩm và Năm_Tàichính.

Mỗi chiều có thể chứa một hệ thống các cấp độ để chỉ sự phân chia rõ ràng của người dùng. Ví dụ: Chiều Vịtrí_Kho có thể gồm hệ thống các cấp độ: Châu lục, nước, vùng, tỉnh, thành phố (Continent, Country, Region, State_Province, City, Store_Number).

Mỗi cấp độ trong chiều lại chi tiết hơn mức cha của nó. Ví dụ: lục địa chứa các quốc gia, các bang hay các tỉnh chứa các thành phố. Tương tự, hệ thống chiều thời gian có thể gồm có các cấp độ năm, quý, tháng và ngày.

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ột hoặc nhiều cột của một trong các bảng liên kết (bảng chiều). Nếu ta chọn các cộ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). Ví dụ: chiều thời gian được miêu tả ở trên cho phép người dùng khối đào sâu (Drill-Down) từ Năm tới Quý, từ Quý tới Tháng và từ Tháng tới Ngày. Mỗi Drill-Down cung cấp nét đặc trưng hơn.

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 ta làm những quyết định về giá sản phẩm để tối đa doanh thu thì chúng ta 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 ta đã 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 ta 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 chiều

Dựa trên phân cấp theo chiều, từ một mức dưới, chúng ta 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.

Các phân hoạch (Partitions)

Tất cả các khối đều có tối thiểu một phân hoạch để chứa dữ liệu của nó; một phân hoạch đơn được tự động tạo ra khi khối được định nghĩa. Khi ta tạo một phân hoạch mới cho một khối, phân hoạch mới này được thêm vào trong tập hợp các phân hoạch đã tồn tại đối với khối. Khối phản ánh dữ liệu đã được kết nối có trong tất cả các phân hoạch của nó. Một bảng phân hoạch của khối là vô hình đối với người dùng.

Các phân hoạch tiêu biểu cho một công cụ mạnh, mềm dẻo cho việc quản trị các khối OLAP, đặc biệt các khối lớn.

Ví dụ: một khối chứa thông tin thương mại có thể chứa trong một hoặc nhiều phân hoạch cho dữ liệu của những năm trước và các phân hoạch cho mỗi quý của năm hiện tại. Cuối năm các bảng phân hoạch của bốn quý có thể được hợp nhất trong một phân hoạch đơn cho năm đó. Các bảng phân hoạch có thể được lưu trữ với các sự lựa chọn kết hợp khác nhau theo phương thức lưu trữ, định vị dữ liệu nguồn và thiết kế kết hợp. Tính mềm dẻo này cho phép ta thiết kế các chiến lược lưu trữ khối thích hợp với các yêu cầu của ta.

ThS. Nguyễn Thế Quyền, Tạp chí CNTT & TT

Tags: Fast OLAP,

Bài liên quan