Chương 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU NHIỀU CHIỀU 1.1 Tại sao phải xây dựng kho dữ liệu? Nhân loại đang sống trong thời đại của nền kinh tế tri thức. Mọi hoạt động của con người muốn đạt hiệu quả cao, giành được thắng lợi trong thế cạnh tranh gay gắt thì nhất thiết phải có những phương pháp để có được những thông tin, tri thức có chất lượng cần thiết một cách nhanh chóng và kịp thời. Thông tin có thể có được ở mọi nơi, mọi thời điểm và tồn tại ở nhiều dạng khác nhau: âm thanh, hình ảnh, văn bản. Việc áp dụng công nghệ thông tin vào thực tiễn sản xuất kinh doanh đã mang lại những hiệu quả và lợi ích to lớn.
Công nghệ ngày càng được phát triển, hoàn thiện hơn để đáp ứng những yêu cầu ngày càng cao của thực tế nghiên cứu, quản lý sản xuất và kinh doanh. Sự mở rộng qui mô áp dụng từ những ứng dụng đơn lẻ đến các hệ thống thông tin cỡ lớn đã dẫn đến những thành công vượt bậc trong kinh doanh. Các hệ thống thông tin từ chỗ chỉ giải quyết những xử lý công việc hàng ngày đã tiến tới đáp ứng được những yêu cầu ở mức độ cao hơn. Các nhà quản lý điều hành có thể biết được công việc đang diễn ra như thế nào.
Tuy nhiên việc xây dựng một hệ thống như thế vấp phải một số hạn chế về mặt kỹ thuật, đặc biệt là khi kích thước cũng như độ phức tạp của hệ thống thông tin tăng lên. Những hệ thống thông tin xây dựng theo phương pháp truyền thống chưa đáp ứng được yêu cầu của người sử dụng và các nhà quản lý hệ thống thông tin. Khắc phục những hạn chế nêu trên là công việc rất phức tạp bởi vì dữ liệu ngày một nhiều, lưu trữ phân tán ở nhiều dạng không tương thích với nhau, thậm chí còn ở những dạng phi cấu trúc. Nhiều hệ CSDL đã được xây dựng không tương thích với nhau và không tương thích với những hệ thông tin mới được xây dựng.
Một vấn đề đặt ra là làm thế nào để tổ chức, khai thác z 11 được những khối lượng dữ liệu khổng lồ và đa dạng từ những hệ thống thông tin đã được xây dựng ? Có một số vấn đề tồn tại chủ yếu của hệ thống thông tin: 1. Phát triển chương trình trên các Hệ thống thông tin khác nhau là không đơn giản Một chức năng có thể được thể hiện ở rất nhiều chương trình, nhưng việc tổ chức và sử dụng lại nó là rất khó khăn do hạn chế về kỹ thuật. Việc chuyển đổi dữ liệu từ các khuôn dạng tác nghiệp khác nhau để phù hợp với người sử dụng là phức tạp. Duy trì những chương trình này gặp rất nhiều vấn đề: Mỗi thay đổi ở một ứng dụng sẽ ảnh hưởng đến tất cả các ứng dụng khác có quan hệ với nó.
Nhưng thông thường sự phụ thuộc lẫn nhau giữa các chương trình không rõ ràng hoặc không xác định được. Khối lượng dữ liệu lưu trữ tăng rất nhanh: do không kiểm soát được khả năng chồng chéo dữ liệu trong các hệ thống thông tin. Quản trị dữ liệu phức tạp: do thiếu những định nghĩa chuẩn, thống nhất về dữ liệu dẫn đến việc mất khả năng kiểm soát đồng thời nhiều hệ thống thông tin và một thành phần dữ liệu có thể tồn tại ở nhiều nguồn khác nhau Giải pháp cho tất cả các vấn đề tồn tại nêu trên chính là xây dựng một kho dữ liệu (Data Warehouse).2 Khái niệm kho dữ liệu – Data Warehouse Định nghĩa: Kho dữ liệu (Data Warehouse - DW) được hiểu là bộ dữ liệu có giá trị lịch sử, theo chuỗi thời gian, được tích hợp và định hướng vào từng chủ đề nhằm hỗ trợ quá trình ra quyết định trong quản lý .[4] Kho dữ liệu thường rất lớn tới hàng trăm GigaByte hay thậm chí hàng Terabyte. z 12 Kho dữ liệu được xây dựng để thuận lợi cho việc truy cập dữ liệu theo nhiều nguồn được phát triển dựa trên nhiều hệ quản trị CSDL 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.
Dữ liệu phát sinh từ các hoạt động hàng ngày và được thu thập xử lí để phục vụ công việc kinh doanh cụ thể của một tổ chức thường được gọi là dữ liệu tác nghiệp (operational data) và hoạt động thu thập xử lí loại dữ liệu này được gọi là xử lí giao dịch trực tuyến (On_line Transaction Processing - OLPT). Ngược lại, kho dữ liệu phục vụ cho việc phân tích với kết quả mang tính thông tin cao. Các hệ thống thông tin thu thập xử lí dữ liệu loại này còn được gọi là hệ xử lí phân tích trực tuyến (On_Line Analytical Processing - OLAP). Nói cách khác, kho dữ liệu là một tập hợp các CSDL rất lớn tới hàng trăm Gigabyte hay thậm chí hàng Tera byte dữ liệu từ nhiều phân hệ của hệ thống, lưu trữ và phân tích phục vụ cho việc cung cấp các dịch vụ thông tin liên quan tới các hoạt động sản xuất, kinh doanh một tổ chức, cơ quan hay doanh nghiệp.
Dòng dữ liệu trong một tổ chức (cơ quan, doanh nghiệp, công ty, v.) có thể mô tả khái quát như sau: CSDL tác nghiệp Hệ thống Kho dữ liệu Kho dữ liệu cá thông tin (dữ liệu lịch sử) nhân cũ Dữ liệu chủ đề Siêu dữ liệu Hình 1: Luồng dữ liệu trong một tổ chức z 13 Dữ liệu cá nhân (Personal Data) không thuộc phạm vi quản lý của hệ quản trị kho dữ liệu. Nó chứa các thông tin được trích xuất từ các hệ thống dữ liệu tác nghiệp, kho dữ liệu và từ những kho dữ liệu chủ đề liên quan bằng các phép gộp, tổng hợp hay xử lý bằng một cách nào đó.3 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 tiêu chuẩn cơ bản: 1. Đáp ứng mọi yêu cầu về thông tin của người sử dụng. Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau.
Phục vụ phân tích phát hiện tri thức mới từ dữ liệu: a. Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của mình như: có những quyết định hợp lý, nhanh và chính xác. Hỗ trợ tổ chức xây dựng chiến lược, kế hoạch hoạt động sản xuất, kinh doanh hiệu quả. Để đạt được những yêu cầu trên, khi xây dựng DW cần chú ý: • 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 • Tổng hợp và kết hợp dữ liệu • Đồng bộ hoá các nguồn dữ liệu với DW • Phân định và đồng nhất các hệ quản trị cơ sở dữ liệu tác nghiệp như là các công cụ chuẩn để phục vụ cho DW.
• Quản lí siêu dữ liệu • Cung cấp thông tin được tích hợp, tóm tắt hoặc được liên kết, tổ chức theo các chủ đề z 14 • DW được sử dụng trong các hệ thống hỗ trợ quyết định (Decision suport system - DSS), hỗ trợ cho các truy vấn đặc biệt.4 Đặc điểm của kho dữ liệu Kho dữ liệu (DW) có những tính chất cơ bản sau [3],[4]: 1. Tính tích hợp (Integration) Dữ liệu trong DW được tổ chức theo nhiều cách khác nhau sao cho phù hợp với các qui ước đặt tên, thống nhất về số đo, cơ cấu mã hoá và cấu trúc vật lý của dữ liệu, v. Một DW là một khung nhìn thông tin mức toàn doanh nghiệp, thống nhất các khung nhìn khác nhau thành một khung nhìn theo một chủ điểm nào đó. Ví dụ hệ thống OLTP (xử lí giao dịch trực tuyến) truyền thống được xây dựng trên một vùng kinh doanh, một hệ thống bán hàng và một hệ thống marketing có thể có chung một dạng thông tin về khách hàng, nhưng các vấn đề về tài chính có thể cần một khung nhìn khác cho thông tin về khách hàng.
Một DW sẽ có một khung nhìn toàn thể về một khách hàng. Khung nhìn đó bao gồm các phần dữ liệu khác nhau từ tài chính và marketing. Tính tích hợp thể hiện ở chỗ: Dữ liệu tập hợp trong kho dữ liệu được thu thập từ nhiều nguồn và trộn ghép với nhau tạo thành một thể thống nhất. Ví dụ: Dữ liệu từ những chương trình ứng dụng thực hiện trên các CSDL tác nghiệp được tích hợp lại theo cách mã hoá và số đo thống nhất như sau: z 15 Sự tích hợp CSDL tác nghiệp Data Warehouse Appl.
C: male, female Appl. A: pipeline cm cm Appl. B: pipeline inch (2,54 cm) Appl.914 cm) Hình 2: Tích hợp dữ liệu Hệ thống dữ liệu tác nghiệp Hệ thống kiểm tra Tài khoản Lê Anh Tuấn Kho dữ liệu Nam Mở Tài khoản năm 1994 Hệ thống Tài khoản tiết kiệm Khách hàng Lê Anh Tuấn Tích hợp Lê Anh Tuấn M (Mã) Nam và biến đổi 132 - Cầu Giấy Mở Tài khoản năm 1992 Khách hàng từ năm 1992 Hệ thống Tài khoản đầu tư Lê Anh Tuấn 132 - Cầu Giấy Mở tài khoản năm 1995 Hình 3: Tích hợp dữ liệu 1.Hướng chủ đề Dữ liệu trong DW được tổ chức theo các chủ đề giúp thuận lợi, dễ dàng trong việc xác định những thông tin cần thiết trong từng hoạt động mỗi cơ quan, đơn vị. Ví dụ, trong hệ thống quản lý tài chính cũ có thể dữ liệu được tổ z 16 chức theo chức năng: cho vay, quản lý tín dụng, quản lý ngân sách, v.
Ngược lại, trong DW về tài chính, dữ liệu được tổ chức theo chủ điểm dựa chủ yếu theo các đối tượng: khách hàng, sản phẩm, các doanh nghiệp, v. Sự khác nhau của hai cách tiếp cận trên dẫn đến sự khác nhau về nội dung dữ liệu được lưu trữ trong hệ thống: DW 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 để trợ giúp quyết định. Các hệ thống ứng dụng tác nghiệp (Operational Application System- OAS), CSDL tác nghiệp 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 chi tiết hơn, có tính thời sự, v.
Dữ liệu gắn thời gian và có tính lịch sử Kho dữ liệu bao hàm một khối lượng lớn dữ liệu lịch sử.