Chương 1. Tổng quan về kho dữ liệu, chương này trình bày một cách tổng thể về các khái niệm kho dữ liệu, cấu trúc kho dữ liệu, qui trình xây dựng kho dữ liệu, và cách thức khai thác kho dữ liệu. Tìm hiểu công nghệ kho dữ liệu trong SQL Server, chương này trình bày giải pháp công nghệ kho dữ liệu của Microsoft, mà đặc biệt là của SQL Server 2008. Ngoài ra cũng trình bày một số công cụ được sử dụng trong việc xây dựng kho dữ liệu như: SSIS dùng cho tích hợp, SSRS dùng cho báo cáo, SSAS dùng cho phân tích dữ liệu và SSMS dùng cho việc theo dõi và quản lý.
Xây dựng kho dữ liệu siêu thị, chương này chủ yếu tập trung trình bày những gì liên quan đến việc xây dựng kho dữ liệu siêu thị. Nội dung bao gồm phạm vi và yêu cầu bài toán, cấu trúc dữ liệu nguồn và đích, chi tiết các gói tích hợp dữ liệu cài z 7 đặt bởi SSIS, chi tiết khối dữ liệu cài đặt bởi SSAS và cuối cùng các mẫu các báo cáo và phân tích nhằm khai thác kho dữ liệu. Kết quả cài đặt thử nghiệm. Chương này tóm tắt các phần đã được cài đặt và chạy thử nghiệm như: dữ liệu nguồn và đích, thời gian chạy các gói tích hợp, thời gian cập nhật khối dữ liệu, thời gian đáp ứng khi phân tích, và các mẫu phân tích và báo cáo.
Phần kết luận trình bày tổng hợp các kết quả thực hiện luận văn cũng như các phần cần mở rộng khi áp dụng cho thực tế. TỔNG QUAN VỀ KHO DỮ LIỆU 1. Kho dữ liệu Định nghĩa: kho dữ liệu (Data Warehouse - DW) là tuyển tập các CSDL tích hợp, hướng chủ đề, được thiết kế để hỗ trợ cho chức năng trợ giúp quyết định, mà mỗi đơn vị dữ liệu đều liên quan tới một khoảng thời gian cụ thể. [1] Thực ra, cũng có nhiều định nghĩa về kho dữ liệu khác nhau, nhưng tất cả đều hướng đến mục đích là hỗ trợ cho chức năng trợ giúp quyết định.
Ngoài việc chứa đựng một CSDL quan hệ, kho dữ liệu còn bao gồm các bước tích hợp dữ liệu, công nghệ OLAP, các công cụ phân tích, và các ứng dụng cho việc thu thập và cung cấp dữ liệu tới người sử dụng 1. Mục đích của kho dữ liệu Mục tiêu chính của kho dữ liệu là nhằm đáp ứng các vấn đề cơ bản sau: Tích hợp dữ liệu từ nhiều nguồn khác nhau; Nâng cao chất lượng dữ liệu bằng các phương pháp làm sạch và tinh lọc dữ liệu theo những hướng chủ đề nhất định; Sử dụng cho các hệ thống hỗ trợ quyết định, các hệ thống thông tin tác nghiệp hoặc hỗ trợ cho các truy vấn đặc biệt. Đặc tính của kho dữ liệu Kho dữ liệu có các đặc tính như Hình 1.1, gồm bốn đặc tính sau: Hình 1. Đặc tính của kho dữ liệu z 9 Hướng chủ đề; Tính tích hợp; Tính ổn định; Tính lịch sử hay có biến thời gian.
Hướng chủ đề Kho dữ liệu được tổ chức xung quanh các chủ đề chính như khách hàng, tài chính, bán hàng, mua hàng. tập trung vào việc mô hình hóa và phân tích dữ liệu cho những người đưa ra quyết định, mà không tập trung vào các hoạt động xử lý tác nghiệp hàng ngày. Nội dung dữ liệu được lưu trữ trong kho dữ liệu và CSDL tác nghiệp cũng khác nhau: Kho dữ liệu không lưu trữ dữ liệu chi tiết, chỉ cần lưu trữ những dữ liệu có tính tổng hợp phục vụ chủ yếu cho quá trình phân tích nhằm trợ giúp ra quyết định. CSDL tác nghiệp lại cần những dữ liệu chi tiết, phục vụ trực tiếp cho những yêu cầu xử lý theo các chức năng của lĩnh vực ứng dụng hiện thời.
Do vậy mối quan hệ của dữ liệu trong những hệ thống này cũng khác, đòi hỏi phải có tính chính xác và có tính thời sự. Tính tích hợp Tính tích hợp được thể hiện bằng việc tích hợp dữ liệu từ các nguồn dữ liệu hỗn tạp khác nhau. Các kỹ thuật làm sạch và tích hợp dữ liệu được áp dụng để đảm bảo sự đồng nhất trong các quy ước tên, cấu trúc mã hóa, các đơn vị đo thuộc tính giữa các nguồn khác nhau. Kho dữ liệu phải đưa các dữ liệu từ các nguồn khác nhau về định dạng phù hợp.
Ngoài ra cũng cần phải giải quyết những vấn đề như xung đột tên và mâu thuẫn giữa các đơn vị đo. Tính ổn định Tính ổn định thể hiện ở chỗ dữ liệu trong kho dữ liệu chỉ đọc và khai thác, không được sửa đổi bởi người sử dụng đầu cuối. Nó chỉ cho phép thực hiện hai thao tác cơ bản: Nạp dữ liệu vào kho dữ liệu Truy cập dữ liệu từ kho dữ liệu Thông tin trong kho dữ liệu được nạp vào sau khi dữ liệu trong hệ thống tác nghiệp đã xong giao dịch. Tính không biến động thể hiện ở chỗ dữ liệu được lưu trữ lâu dài trong kho dữ liệu.
Mặc dù có thêm dữ liệu mới nhập vào nhưng dữ liệu cũ z 10 trong kho vẫn không bị xoá và sửa đổi, điều đó cho phép cung cấp thông tin về một khoảng thời gian dài, cung cấp đủ số liệu cần thiết cho các mô hình nghiệp vụ phân tích, dự báo. Tuy nhiên, trong thực tế nếu các bảng dữ liệu có kích thước quá lớn thì cũng phải có kế hoạch để lưu trữ bớt các dữ liệu trong quá khứ, thời gian có thể sau 5-10 năm tuỳ theo yêu cầu nghiệp vụ báo cáo liên quan. Sau khi lưu trữ dữ liệu cũ thì có thể xoá đi hoặc lưu trữ sang chỗ khác để giảm bớt dung lượng cần cho việc lưu trữ và tăng tốc độ truy cập. Tính lịch sử Tính lịch sử thể hiện rằng yếu tố thời gian luôn được lưu trữ trong kho dữ liệu.
Kho dữ liệu thường chứa một khối lượng lớn dữ liệu trong quá khứ, dữ liệu được lưu trữ thành hàng loạt các bản chụp ảnh, mỗi bản ghi phản ánh giá trị của dữ liệu tại một thời điểm nhất định. Điều này cho phép người sử dụng có thể lấy lại dữ liệu lịch sử và so sánh dữ liệu cho các giai đoạn khác nhau. Yếu tố thời gian đóng vai trò như một phần của khoá để đảm bảo tính duy nhất của một hàng và cung cấp đặc trưng về thời gian cho dữ liệu. Phân biệt kho dữ liệu với cơ sở dữ liệu tác nghiệp Trên cơ sở các đặc trưng của kho dữ liệu thì có thể phân biệt kho dữ liệu với những CSDL tác nghiệp như sau: Kho dữ liệu được xây dựng theo hướng chủ đề, nó được thực hiện theo ý đồ của người sử dụng đầu cuối.
Kho dữ liệu thường quản lý một khối lượng lớn thông tin hơn so với CSDL tác nghiệp. Kho dữ liệu có thể lưu trữ các thông tin tổng hợp theo một chủ đề nghiệp vụ nào đó sao cho tạo ra các thông tin phục vụ hiệu quả cho việc phân tích của người sử dụng. Kho dữ liệu thông thường chứa các dữ liệu lịch sử kết nối nhiều năm của các thông tin tác nghiệp, khác với dữ liệu trong CSDL tác nghiệp thường là mới, có tính thời sự trong khoảng thời gian ngắn. Kho dữ liệu chỉ chứa các dữ liệu của CSDL tác nghiệp mà đã được chắt lọc và tổng hợp, chỉ chứa những dữ liệu cần thiết cho công tác quản lý hay trợ giúp quyết định.
Kiến trúc kho dữ liệu Kiến trúc đầy đủ của kho dữ liệu bao gồm năm tầng như Hình 1. Nhưng thực tế không phải lúc nào cũng cần có đầy đủ cả năm tầng này. Tầng Staging Area và Data Mart có thể bỏ đi tùy theo yêu cầu cụ thể của từng dự án. Kiến trúc kho dữ liệu 1.
Nguồn dữ liệu Nguồn dữ liệu cho kho dữ liệu có thể một trong các dạng sau: CSDL của các phần mềm ứng dụng hoặc của các hệ thống tác nghiệp được lưu trữ bởi một hệ quản trị CSDL như Oracle, SQL Server, Access, DB2… Các tập tin phẳng, các tập tin nhật ký, bảng tính Excel… 1. Kho dữ liệu Kho dữ liệu hay còn gọi là kho dữ liệu mức doanh nghiệp là thành phần chứa dữ liệu lịch sử của nhiều chủ đề khác nhau, nó bao gồm cả dữ liệu thô và dữ liệu đã được tổng hợp ở một mức thấp. Cụ thể như sau: Dữ liệu thô: đây là phần chứa toàn bộ dữ liệu ở mức chi tiết nhất được lấy từ dữ liệu nguồn sau khi đã loại bỏ những dữ liệu không cần thiết và biến đổi chúng, trong phần này dữ liệu thường vẫn được tổ chức tuân theo chuẩn 3NF (Third Normal Form). Dữ liệu tổng hợp: đây là phần chứa dữ liệu ở mức tổng hợp hơn, được nhóm theo một số chiều nhất định, tùy theo mục đích cụ thể của từng tổ chức mà tạo ra các bảng tổng hợp khác nhau.
Các bảng dữ liệu tổng hợp z 12 này thường tổ chức phi chuẩn và được dùng cho mục đích phân tích báo cáo cũng như đầu vào dữ liệu cho việc xây dựng các kho dữ liệu chuyên biệt. Kho dữ liệu chuyên biệt Kho dữ liệu chuyên biệt là thành phần chứa dữ liệu tổng hợp theo một chủ đề nào đó như bán hàng, tồn kho, đặt hàng, thu nợ. nhằm phục vụ cho việc truy vấn, báo cáo và phân tích dữ liệu một cách dễ dàng và nhanh chóng có kết quả. Trong thành phần này mô hình dữ liệu thường được tổ chức dưới dạng lược đồ hình sao, bao gồm bảng dữ liệu thống kê nằm ở trung tâm gọi là bảng sự kiện và các chiều thống kê gọi là bảng chiều nằm ở xung quanh.
Ví dụ: lược đồ hình sao về bán hàng như Hình 1. Ví dụ về lược đồ hình sao 1. Kho siêu dữ liệu Kho siêu dữ liệu là thành phần chứa dữ liệu định nghĩa về cấu trúc kho dữ liệu, định nghĩa về các công việc (Job) cho quá trình tích hợp, chứa các dữ liệu về người sử dụng và quyền hạn. Nó có thể được lưu trữ trong một cơ sở dữ liệu quan hệ hoặc dưới dạng hệ thống tập tin có cấu trúc.
Vùng chứa tạm Vùng chứa tạm là thành phần chứa dữ liệu trung gian phục vụ cho quá trình tích hợp dữ liệu được hiệu quả hơn, nó không có ý nghĩa với người dùng đầu cuối. Vùng z 13 dữ liệu tạm có thể được lưu trữ trong một cơ sở dữ liệu quan hệ hoặc dưới dạng hệ thống tập tin phẳng. Người dùng Người dùng sẽ sử dụng các công cụ để khai thác kho dữ liệu, các công cụ này có thể chạy trên nền web hoặc desktop. Các công việc khai thác kho dữ liệu bao gồm: truy vấn, phân tích, báo cáo và khai phá dữ liệu.