Hình 1. Data Warehouse tổng hợp thông tin từ các nguồn dữ liệu khác nhau

Kinh tế khó khăn, đối thủ càng nhiều thì việc phân tích dữ liệu càng trở nên quan trọng đối với doanh nghiệp nhằm hỗ trợ ra quyết định, gia tăng lợi thế cạnh tranh. Tuy nhiên Database thông thường lại không thoả mãn các yêu cầu về phân tích dữ liệu, Database thông thường chỉ hỗ trợ tốt các nghiệp vụ hàng ngày và điểm mạnh nhất của nó là bảo đảm toàn vẹn dữ liệu, xử lý giao dịch, truy cập song song. Database thông thường đó được gọi là Database nghiệp vụ (Operational Database) hoặc hệ thống xử lý giao dịch thời gian thực (online transaction processing – OLTP). Thông thường các Database nghiệp vụ chỉ lưu trữ dữ liệu chi tiết cho thời điểm hiện tại, không lưu dữ liệu lịch sử, dữ liệu trong Database được thiết kế chuẩn hoá rất cao nên thường có hiệu năng kém khi truy vấn phức tạp (join nhiều bảng dữ liệu với nhau) hoặc khối lượng dữ liệu lớn. Thêm nữa, việc truy vấn dữ liệu từ nhiều nguồn khác nhau là gần như không thể nếu chỉ dùng Database nghiệp vụ.

Có cung thì tất có cầu, ngay từ những năm 70, nhiều công ty đã bán các hệ thống Database hỗ trợ phân tích, báo cáo như Teradata, MAPPER, nhưng thuật ngữ “Data Warehouse” chỉ được sử dụng vào năm 1988 trong một bài báo kỹ thuật của IBM có tiêu đề “Kiến trúc hệ thống thông tin và kinh doanh” (An architecture for a business and information system – http://altaplana.com/ibmsj2701G.pdf).

Theo Wikipedia (http://en.wikipedia.org/wiki/Data_warehouse), Data Warehouse – (Kho dữ liệu) là công cụ chuyên dùng cho tạo báo cáo và phân tích dữ liệu. Data Warehouse hỗ trợ các truy vấn phức tạp, vừa là điểm tập trung dữ liệu từ nhiều nguồn khác nhau để có được thông tin phân tích đầy đủ nhất. Theo đó Data Warehouse là một tập hợp dữ liệu hướng chủ đề, toàn vẹn, không bị rò rỉ mất mát và có giá trị lịch sử. Cụ thể các tính chất đó như sau:

Hình 2. Tính chất đặc trưng của Data Warehouse

  • Tính hướng chủ đề (Subject – oriented) nghĩa là Data Warehouse tập trung vào việc phân tích các yêu cầu quản lý ở nhiều cấp độ khác nhau trong quy trình ra quyết định. Các yêu cầu phân tích này thường rất cụ thể, và xoay quanh loại hình kinh doanh của doanh nghiệp, ví dụ các công ty phân phối sẽ quan tâm đến tình hình kinh doanh, doanh nghiệp viễn thông quan tâm đến lưu lượng dịch vụ… Tuy nhiên một doanh nghiệp thường quan tâm đến vài chủ đề khác nhau, như công ty phân phối còn phải quan tâm đến kho bãi, chuỗi cung ứng…
  • Tính toàn vẹn (Integrated). Data Warehouse giải quyết các khó khăn trong việc kết hợp dữ liệu từ nhiều nguồn dữ liệu khác nhau, giải quyết các sai khác về tên trường dữ liệu (dữ liệu khác nhau nhưng tên giống nhau), ý nghĩa dữ liệu (tên giống nhau nhưng dữ liệu khác nhau), định dạng dữ liệu (tên và ý nghĩa giống nhau nhưng kiểu dữ liệu khác nhau).
  • Tính bất biến (Nonvolatile) quy định rằng dữ liệu phải thống nhất theo thời gian (bằng cách hạn chế tối đa sửa đổi hoặc xoá dữ liệu), từ đó làm tăng quy mô dữ liệu lên đáng kể so với hệ thống nghiệp vụ (5-10 năm so với 2 đến 6 tháng như Database thông thường).
  • Giá trị lịch sử (time – varying). Data Warehouse có khả năng lấy các giá trị khác nhau của cùng một thông tin và thời điểm xảy ra thay đổi. Ví dụ thông tin địa chỉ, email, số điện thoại của khách hàng có thể thay đổi, nhưng việc thay đổi đó không được phép tác động đến giá trị báo cáo, phân tích thực hiện trước khi sự thay đổi xảy ra.

Data Warehouse cho phép người dùng ở mức quản lý ra quyết định thực hiện các phép phân tích tương tác với data bằng hệ thống xử lý phân tích trực tuyến (online analytical processing – OLAP). Ngoài ra Data Warehouse được dùng cho báo cáo, data mining và phân tích thống kê. Database và Data Warehouse, do đó chỉ khác nhau về mặt khái niệm, một Database nếu dùng riêng cho các mục đích trên cũng được coi là Data Warehouse.

Như vậy, nếu như Database được ví như cái tủ sách cá nhân, nơi người ta thường xuyên tra cứu, cập nhật, hiệu đính, ghi chú vào lề, thêm mới hoặc chuyển sách đi, thì Data Warehouse lại được so sánh với thư viện quốc gia, nơi các tài liệu kinh điển được đưa đến liên tục để lưu trữ và tham khảo, không ai sửa chữa hoặc chuyển chúng qua chỗ nào khác cả.

Data Warehouse có khả năng lưu trữ tới hàng trăm GB hay thậm chí hàng Terabyte. Data Warehouse được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những ứng dụng của các công nghệ hiện đại và kế thừa được từ những hệ thống đã có sẵn từ trước.

Kiến trúc cơ bản:

Hình 3. Kiến trúc cơ bản của Data Warehouse

Data Warehouse có kiến trúc cơ bản rất đơn giản. Nó dựa trên nguyên tắc là xây dựng một kho dữ liệu thống nhất từ nhiều nguồn dữ liệu khác nhau để phục vụ truy vấn. Gồm 3 líp chính:

  • Líp dữ liệu nguồn (Data Sources): Data Warehouse tổng hợp dữ liệu từ rất nhiều nguồn khác nhau. Điều này thể hiện đặc tính tích hợp của Data Warehouse. Dữ liệu nguồn có thể là dữ liệu có sẵn trong hệ thống tác nghiệp của doanh nghiệp và cũng có thể là dữ liệu lấy từ nguồn bên ngoài doanh nghiệp. Dữ liệu có thể là loại có cấu trúc chặt chẽ như dữ liệu quan hệ đã được chuẩn hoá hay có thể là loại phi cấu trúc như các văn bản thông thường.
  • Líp Warehouse: Líp này chứa đựng dữ liệu đã được tổng hợp cùng siêu dữ liệu mô tả chúng cũng như các tiến trình tổng hợp, phân bổ dữ liệu. Hai thành phần quan trọng nhất của líp Warehouse là dữ liệu và siêu dữ liệu. Chúng phải được lưu giữ và mô tả nhất quán về nội dung (ý nghĩa dữ liệu) cũng như hình thức (khuôn dạng dữ liệu). Để tăng tốc cho việc đáp ứng trả lời truy vấn thì dữ liệu trong Data Warehouse thường được để sẵn dưới dạng tổng kết.
  • Líp Users: có nhiệm vụ tương tác với người dùng cuối. Data Warehouse có đặc điểm quan trọng là cung cấp thông tin cho rất nhiều người sử dụng với những yêu cầu không thể dự đoán trước, vì vậy nhìn chung líp người dùng có cấu trúc phức tạp. Hơn nữa, người dùng ở đây có thể sử dụng nhiều công cụ khai thác và truy xuất dữ liệu khác nhau nên giao diện giữa líp Warehouse và người dùng cũng đa dạng.

Do tính đa dạng của líp ứng dụng và líp người dùng nên chúng không thể giao tiếp với Data Warehouse theo các giao diện chuẩn mà thường cần phải có những công cụ được thiết kế đặc biệt chuyên thực hiện công việc này. Dữ liệu khi được đưa vào hoặc đưa ra đòi hỏi phải có những tiến trình xử lý phức tạp. Các ứng dụng đảm nhiệm công việc này thường tạo ra các kho trung gian và phải thực thi nhiều bước chuyển tiếp.

Có hai tiến trình xử lý gồm:

  • Tập hợp dữ liệu đưa vào Warehouse: ngoài việc đọc hiểu các cấu trúc dữ liệu, tiến trình này còn phải thực hiện nhiều chức năng khác để bảo đảm tính nhất quán của dữ liệu trong Warehouse.
  • Phân bổ dữ liệu đến người dùng cuối: có nhiều công cụ để thực hiện việc này, nhưng nói chung dữ liệu thường được xử lý trước rồi mới hiển thị tới người dùng cuối.

(Nguồn: SlideShare; doan.edu.vn)