Hiện nay, đã có nhiều bài viết về Data Warehouse. Tuy nhiên đa số đều ở dạng hàn lâm, để tiếp thu được các bạn mới tiếp cận sẽ cần một thời gian nghiên cứu thẩm thấu nhất định.

Với kinh nghiệm hơn nhiều năm tiếp cận thực tế hệ thống,  tôi viết bài này với mong muốn đem đến cho các bạn kiến thức cơ bản, dễ hiểu nhất về nhà kho dữ liệu (Data Warehouse – DW) và tiến trình xây dựng một nhà kho dữ liệu (Data Warehousing).

 

Xử lý phân tích trực tuyến (OLAP – Online Analytical Processing) và Nhà kho dữ liệu

Nghiệp vụ thông minh (BI – Business Intelligence)

Ngày nay, cạnh tranh trên thương trường ngày càng khốc liệt. Để doanh nghiệp tồn tại và phát triển, các nhà quản trị phải đưa ra quyết định chính xác. Và để trợ giúp/tham mưu các nhà quản trị, Phân tích kinh doanh thường muốn xem xét biến động kinh doanh/ các xu hướng dựa trên tổng hợp dữ liệu. Đó là lý do khía niệm BI ra đời.

BI là qui trình và công nghệ mà các doanh nghiệp dùng để kiểm soát khối lượng dữ liệu khổng lồ, khai phá tri thức giúp cho các doanh nghiệp có thể đưa các các quyết định hiệu quả hơn trong hoạt động kinh doanh của mình.

  • Công nghệ BI (BI technology) cung cấp một cách nhìn toàn cảnh hoạt động của doanh nghiệp từ quá khứ, hiện tại và các dự đoán tương lai. Mục đích của BI là hỗ trợ cho doanh nghiệp ra quyết định tốt hơn. Vì vậy một hệ thống BI (BI system) còn được gọi là hệ thống hỗ trợ quyết đinh (Decision Support System -DSS)
  • Qui trinh BI là quy trình trích xuất dữ liệu từ cơ sở dữ liệu OLAP và sau đó phân tích dữ liệu đó >> thông tin  có thể dùng để đưa ra quyết định.

OLAP

Trong công nghệ kho dữ liệu (Data Warehouse Technology), OLAP là kỹ thuật để truy xuất dữ liệu chủ yếu trong kho dữ liệu. Dữ liệu trong DW được tổ chức dưới dạng các khối dữ liệu đa chiều (Multi Dimensional Cube) và OLAP được dùng để phân tích trên dữ liệu khối (cube).

Nguyên lý thiết kế DW

Trước tiên, chúng ta cần nắm các nguyên lý thiết kế một hệ thống Data Warehouse:

Nguyên lý Mô tả
Subject Oriented

(Hướng chủ đề)

DW được xây dựng nhằm đáp ứng yêu cầu phân tích ở các cấp độ khác nhau của tiến trình ra quyết định, không tập trung vào xử lý giao dịch/hoạt động hàng ngày.

>> Cung cấp một khung nhìn đơn giản, súc tích về các chủ đề cần thiết như khách hàng, sản phẩm, bán hàng,.. loại bỏ các dữ liệu không hữu ích trong tiến trình ra quyết định.

Integrated

(Tính toàn vẹn)

Tích hợp dữ liệu từ nhiều nguồn khác nhau (bất kể sai khác về trường/ý nghĩa/định dạng dữ liệu) vào một định dạng thống nhất.
Nonvolatile

(Tính bất biến)

Dữ liệu phải thống nhất theo thời gian (Hạn chế tối đa sửa đổi/xoá dữ liệu) >> phân tích sự thay đổi theo thời gian.
Time-Varying

(Giá trị lịch sử)

Cung cấp dữ liệu tại các thời điểm khác nhau của môt thông tin và thời điểm thay đổi

>> Kết hợp dữ liệu sự kiện/giao dịch (fact) và dữ liệu tham chiếu (reference) chứa giá trị đại diện thời gian của sự kiện.

>> Thích ứng những thay đổi trong tương lai, báo cáo chính xác lịch sử thay đổi.

 

 

Kiến trúc Data Warehouse

Một nhà kho dữ liệu thường xây dựng theo kiến trúc như hình dưới.

data-warehouse-architecture-2

Mô tả:

  1. Trích xuất/tải dữ liệu (EXTRACT) từ nguồn (dimensions/facts) >> xử lý và lưu trữ vào Staging
  2. Chuyển đổi dữ liệu nguồn (TRANSFORM) vào định dạng thống nhất và tải (LOAD) vào nhà kho dữ liệu.
  3. Từ nhà kho dữ liệu, dữ liệu được tính toán (AGGREGATION) theo các yêu cầu (reports) để phục vụ cho các thao tác nghiệp vụ của tiến trình ra quyết định.
  4. Dữ liệu được chuyển (TRANSFER) sang các chợ dữ liệu (DATA MART). Từ đây các ứng dụng kết nối vào để phục vụ các nhu cầu người dùng.

Ba vấn đề chính khi xây dựng nhà kho dữ liệu

Hầu hết mọi hệ thống/dự án công nghệ thông tin, chúng ta đều xem xét dựa trên 3 khía cạnh:

  • Cấu trúc (Structure)
  • Dữ liệu (Data):
  • Tiến trình (Process)

Vì vậy khi xây dựng một hệ thống Data Warehouse chúng ta cũng phải cân nhắc 3 khía cạnh này. Chúng ta cần phải trả lời được 6 câu hỏi WHAT/WHO/WHERE/WHEN/WHY/HOW

1. Data

  • Cần thông tin gì để hỗ trợ ra quyết định? Ở cấp độ nào?
  • Dữ liệu được lấy  từ đâu? Định dạng như thế nào?
  • Độ lớn dữ liệu? Mức độ tăng tưởng dữ liệu như thế nào? Cần bao nhiêu không gian để chứa?

 

2. Structure

  • Dữ liệu cần xây dựng theo những chiều nào để phục vụ quá trình phân tích?
  • Cấu trúc dữ liệu nào phù hợp với nhu cầu?
    • Relational OLAP
    • Multi-Dimensional OLAP
    • Hybrid OLAP

 

3. Process

  • Tiến trình Extract-Load-Transform được thực hiện như thế nào? Đặt ở đâu? Lập lịch như thế nào?
  • Tiến trình Aggreation cần điều kiện gì để chạy? Entry-point?
  • Có những loại ngoại lệ (exception) nào cần xử lý? Ở cấp độ nào?

… by Dan Phan

Bài viết tham khảo:

 

Comments
Nhập môn Data Warehouse] Mô hì...→