Chương I KHÁI NIỆM VỀ KHO DỮ LIỆU Ngày nay, thông tin trở thành một nguồn tài nguyên cực kỳ quan trọng cần được quản lý và khai thác hiệu quả. Hơn bao giờ hết, tất cả các tổ chức kinh doanh trên thế giới đều tập trung phát triển hệ thống thông tin như một nguồn lực chủ chốt trong việc tạo ra ưu thế cạnh tranh cũng như tăng khả năng đáp ứng đối với thị trường biến động không ngừng. Chính vì vậy, yêu cầu về một phương tiện có khả năng lưu trữ dữ liệu khối lượng lớn, xử lý thông tin nhanh đã dẫn đến sự ra đời của kho dữ liệu. Những dự án đầu tiên về kho dữ liệu được xây dựng từ những năm 1984- 1988.
Cho đến những năm 1994, ở các nước phát triển, các dự án xây dựng kho dữ liệu phát triển mạnh mẽ. Lúc đầu, các dự án này chỉ được phát triển ở những tổ chức lớn. Cùng với nhu cầu phát triển của kho dữ liệu, nhiều công cụ trợ giúp cho việc phát triển kho dữ liệu cũng ra đời và không ngừng hoàn thiện: Nhiều hệ quản trị cơ sở dữ liệu (CSDL) được bổ sung thêm các công nghệ và công cụ cho việc phát triển và khai thác kho dữ liệu. Trong số các hãng phát triển hệ quản trị CSDL truyền thống như Oracle, DB2, Microsoft SQL server,…Oracle là hãng hàng đầu thế giới trong lĩnh vực hệ quản trị CSDL có công nghệ xây dựng kho dữ liệu tiên tiến (theo báo cáo của Gartner về thị phần của các hệ quản trị CSDL, Oracle chiếm tới 47,1% thị phần năm 2006).
Đặc biệt Oracle 11g có rất nhiều tính năng tiên tiến cho việc xây dựng và khai thác các CSDL lớn như: khả năng nén và phân vùng dữ liệu hiệu quả, tự động hóa nhiều hoạt động phân vùng và mở rộng các phương pháp phân vùng khác nhau, hoàn thiện các bộ công cụ phân vùng, nén và xử lý cả dữ liệu có cấu trúc và phi cấu trúc, … [16] 1.1 Khái niệm về kho dữ liệu 1.1 Định nghĩa Kho dữ liệu (Data Warehouse – DWH) không phải là một khái niệm mới và đã được định nghĩa theo rất nhiều cách khác nhau, vì vậy khó có thể định nghĩa chuẩn xác được. Theo một nghĩa nào đó thì kho dữ liệu được xem như là một CSDL lớn tập trung dữ liệu từ nhiều nguồn trong doanh nghiệp. Việc sử dụng DWH sẽ tạo ra một sự đồng nhất về thông tin doanh nghiệp và từ kho dữ liệu này doanh nghiệp có thể nhận được các chỉ tiêu phân tích hay dùng các công cụ hỗ trợ để theo dõi các chỉ tiêu cần quan tâm. Vì thế, kho dữ liệu có thể được xem là một môi trường có cấu trúc các hệ thống thông tin, cung cấp cho LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 người dùng những thông tin khó có thể truy nhập hoặc biểu diễn trong cơ sở dữ liệu (CSDL) tác nghiệp truyền thống, nhằm mục đích hỗ trợ việc ra quyết định mang tính lịch sử hoặc hiện tại [1].
Bill Inmon, người được xem là kiến trúc sư đầu tiên xây dựng kho dữ liệu đã định nghĩa: “Kho dữ liệu là tập hợp dữ liệu hướng chủ đề, được tích hợp, gắn với thời gian và ổn định được thiết kế cho việc hỗ trợ quá trình ra quyết định của người quản lý”[10]. Về bản chất, kho dữ liệu hướng vào việc cung cấp một kiến trúc, công cụ để phát triển dữ liệu của các hệ thống hỗ trợ quyết định. Dữ liệu phát sinh từ trong các hoạt động hàng ngày và được thu thập, xử lý để phục vụ công việc nghiệp vụ cụ thể của một tổ chức thường được gọi là dữ liệu tác nghiệp. Các hoạt động thu thập xử lý dữ liệu tác nghiệp được gọi là xử lý giao dịch trực tuyến (Online Transaction Processing - OLTP).
Trái lại, kho dữ liệu phục vụ cho việc phân tích các kết quả mang thông tin mức cao. Các hệ thống thông tin thu thập xử lý dữ liệu loại này được gọi là xử lý phân tích trực tuyến (Online Analytical Processing - OLAP). Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte. Nó đượ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.
DWH là một kho dữ liệu quan hệ đa chiều được thiết kế cho việc truy vấn dữ liệu và phân tích hơn là cho việc xử lý giao dịch. Một DWH thường chứa dữ liệu lịch sử mong muốn từ dữ liệu giao dịch. Nó phân tích riêng rẽ khối dữ liệu từ dữ liệu giao dịch và cho phép lấy dữ liệu từ nhiều nguồn. Có ba kiểu kho dữ liệu thường gặp: − Kho dữ liệu doanh nghiệp (Enterprise Data Warehouse - EDW): kho dữ liệu loại này cung cấp một tập dữ liệu trung tâm được tổ chức hỗ trợ cho việc ra quyết định của cả công ty (xí nghiệp).
− Kho dữ liệu tác nghiệp (Operational Data Store - ODS): kho dữ liệu loại này dùng cho các công ty có phạm vi rộng, nhưng nó không giống với kho dữ liệu doanh nghiệp. Ở đây dữ liệu được làm tươi ngay tức thì và được sử dụng cho những hoạt động thường nhật. Theo định nghĩa của Inmon, ODS khác EDW ở chỗ, nó bị giới hạn về tính lịch sử của dữ liệu và được cập nhật dữ liệu thường xuyên hơn. − Kho dữ liệu chuyên đề (Data Mart - DM): kho dữ liệu chuyên đề là một DWH cỡ nhỏ và nó hỗ trợ cho những nghiệp vụ chuyên biệt hoặc cho những chức năng nghiệp vụ cụ thể.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 Trong ba loại kho dữ liệu trên, thì ODS là sự nâng cấp từ CSDL vốn tồn tại trong doanh nghiệp nếu doanh nghiệp có tổ chức các CSDL phục vụ cho hoạt động của mình. DWH và DM cần được phát triển dựa trên việc mô hình hoá dữ liệu theo các chiều, trong đó các bảng sự kiện (Fact table) được kết nối với các bảng chiều (Dimension table). Mục tiêu của việc xây dựng các kho dữ liệu này là nhằm phục vụ cho các hoạt động nghiệp vụ ở mức cao hơn với hiệu quả cao.2 Các tính chất của Data Warehouse Một kho dữ liệu được xác định là một CSDL trong đó có chứa bốn đặc tính sau: hướng chủ đề, tính ổn định, được tích hợp, gắn với thời gian.1 Hướng chủ đề Hướng chủ đề có nghĩa là tất cả các dữ liệu được tổ chức xung quanh một chủ đề được tập trung lại và lưu trữ trong cùng một tập có cấu trúc đơn giản, dễ sử dụng. Thông thường, các ứng dụng tác nghiệp được thiết kế nhằm giải quyết một số giao dịch, công việc hàng ngày và dữ liệu được thiết kế cũng nhằm phục vụ các giao dịch đó.
Trong khi đó, dữ liệu lưu trữ trong kho dữ liệu được dùng để phục vụ mục đích phân tích và hỗ trợ quyết định. Đây là một trong những chức năng phức tạp.2 Tính ổn định Hệ tác trích lọc, kho dữ liệu nghiệp chuyển đổi và nạp dữ liệu Thêm Sửa Xóa Truy vấn Hình 1. Tính ổn định của dữ liệu trong Data Warehouse Dữ liệu trong kho dữ liệu là dữ liệu hướng chủ đề, không được hiệu chỉnh, sửa đổi mà nó chỉ nhằm mục đích phục vụ truy vấn thông tin. Nhờ yếu tố này mà tốc độ tổng hợp dữ liệu tăng lên một cách đáng kể.
Hơn nữa kết quả trả lại khi thực hiện công việc phân tích trong những thời gian gần nhau thì hầu như là giống nhau. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3 Được tích hợp Một kho dữ liệu được xây dựng bằng việc tích hợp nhiều nguồn dữ liệu, lưu trữ trong một cấu trúc đồng nhất, toàn vẹn. Ví dụ như là dữ liệu về ngày tháng phải luôn được chứa ở cùng một dạng chuẩn. Tích hợp dữ liệu là một vấn đề luôn được đặt ra của hầu hết các cách tổ chức, đặc biệt là việc tích hợp dữ liệu đòi hỏi phải sử dụng đến nhiều công nghệ chuyên dụng đang được biết đến.
Sự khác biệt là ở các quy tắc cơ bản ví dụ như là tập ký tự. Hệ ký tự được dùng chủ yếu trong các hệ thống là ASCII (American Standard Code for Informaiton Interchange). Tuy nhiên có một số hệ thống không dùng hệ ký tự này. Ngoài ra còn có một số nguyên nhân không dễ thấy được như là trong cùng một kiểu dữ liệu nhưng với các hệ quản trị CSDL khác nhau là khác nhau.
Vì vậy, việc truy nhập theo các phương thức tuần tự là không hiệu quả. Hơn nữa, trước khi dữ liệu được đưa vào kho dữ liệu thì nó phải được tích hợp. Sự tích hợp này là một tiến trình xuyên suốt trong thời gian khi dữ liệu được chuyển vào kho dữ liệu và sau khi nó được đưa vào CSDL ứng dụng và trước khi được đưa vào CSDL của kho dữ liệu.4 Gắn với thời gian Đối với kho dữ liệu, yếu tố thời gian được gắn liền với các dữ liệu. Điều này nghĩa là dữ liệu được ghi lại theo thời gian lưu trữ các dữ liệu.
Tuy nhiên, hầu hết các truy vấn đều được xử lý ngược lại với việc có một vài thuộc tính về thời gian được lưu trữ trong kho dữ liệu. Chúng ta đã xác định rằng, hầu hết các hệ tác nghiệp đều không chứa các thông tin về lịch sử của nó. Sẽ không thể đoán trước được chuyện gì sẽ xảy ra trong tương lai nếu chúng ta không quan sát được chuyện gì đã xảy ra trong quá khứ. Một kho dữ liệu sẽ giúp chúng ta lấy ra các thông tin cơ bản này bằng cách thêm trường lịch sử thời gian vào dữ liệu được lấy từ hệ tác nghiệp.
Như vậy, đối với một doanh nghiệp thì bản thân DWH là một “ảnh chụp nhanh” trạng thái của doanh nghiệp tại các thời điểm khác nhau. Nó hỗ trợ việc định ra phương hướng và công tác dự báo cho tương lai. Vì thế thuộc tính thời gian được ngầm hiểu trong DWH như là một thuộc tính bắt buộc. Thời gian đóng vai trò như một phần để đảm bảo tính đơn nhất của các bản ghi và cung cấp đặc trưng về thời gian cho dữ liệu.3 Cơ sở dữ liệu tác nghiệp và kho dữ liệu Thông thường, khi tin học hóa hoạt động quản lý một tổ chức, người ta thường xây dựng CSDL cho các hoạt động quản lý nghiệp vụ thường xuyên của LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 tổ chức và ta có được CSDL tác nghiêp.