CHƯƠNG I. TỔNG QUAN KHO DỮ LIỆU VÀ BÁO CÁO BI 1. Kho dữ liệu (Data warehouse) 1. Lịch sử hình thành Khái niệm Data Warehousing được xuất hiện vào những năm 80, khi mà các hệ thống quản lý cở sở dữ liệu quan hệ nổi lên như những sản phẩm thương mại.
Năm 1988, có một bài báo mô tả định nghĩa đầu tiên về kiến trúc kho dữ liệu. Bài báo mô tả những công việc đã thực hiện để thiết kế kho dữ liệu phục vụ chi nhánh IBM tại châu Âu. Đầu thập niên 90, cuộc cách mạng về xử lý dữ liệu không chỉ là phổ cập kho dữ liệu mà còn tạo điều kiện để mở rộng khái niệm kho dữ liệu Thế kỷ 20 – kỷ nguyên của quản lý dựa trên thông tin Ngày nay, chúng ta chờ đợi và dự đoán tương lai dựa trên những phác thảo quá khứ. Nhu cầu về lợi thế cạnh tranh tăng ca khiến nền tảng để hỗ trợ việc ra quyết định chuyển từ dữ liệu dạng số sang thông tin và việc này có thể được mô tả bởi thuật ngữ quản lý dựa trên thông tin Kho dữ liệu là tuyển tập các cơ sở dữ liệu tích hợp, hướng chủ đề, được thiết kế để hỗ trợ cho chức năng trợ giúp quyết định.
Theo John Ladley [9], Công nghệ kho dữ liệu (Data Warehouse Technology) là tập các phương pháp, kỹ thuật và các công cụ có thể kết hợp, hỗ trợ nhau để cung cấp thông tin cho người sử dụng trên cơ sở tích hợp từ nhiều nguồn dữ liệu, nhiều môi trường khác nhau. Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte. Kho dữ liệu đượ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. Data warehouse là gì? Data warehouse được sử dụng như là một nền tảng cho hệ thống hỗ trợ ra quyết định.
Nó gắn liền với khái niệm Business Inteligence (Kinh doanh thông minh). Nó được dùng để giải quyết các vấn đề gặp phải khi một tổ chức cố gắng phân tích chiến lược từ số liệu trong một hệ thống database được dùng chung với hệ thống xử lý dữ liệu trực tuyến (OLTP). Một hệ thống OLTP điển hình được đặc trưng bởi một hệ thống có nhiều người sử dụng đồng thời để thêm, sửa, xóa dữ liệu. Ví dụ như một hệ thống bán lẻ, có nhiều nhân viên bán hàng đồng thời cùng nhập và chỉnh sửa dữ liệu vào hệ thống.
Trong một hệ thống nhỏ, việc sử dụng TIEU LUAN MOI download : skknchat@gmail.com 10 cùng một hệ thống database này cho mục đích lên báo cáo thống kê, phân tích có thể chấp nhận được do khối lượng dữ liệu ít, ít người dùng. Nhưng trong một hệ thống với khối lượng dữ liệu hàng chục triệu đến trăm triệu bản ghi trên một bảng thì việc khai thác dữ liệu chung trên cùng một hệ thống database OLTP là không thể chấp nhận được vì thời gian xử lý dữ liệu rất lâu, làm cho tài nguyên hệ thống trở nên quá tải và có thể làm cho toàn bộ hệ thống bị tê liệt. Hệ thống OLTP được thiết kế cho mục đích thu thập dữ liệu, khối lượng dữ liệu càng càng càng lớn khiến cho nhu cầu phân tích càng trở nên cấp thiết hơn. Tuy nhiên database trong OLTP được thiết kế cho mục đích thu thập số liệu thường phải tối ưu hóa cả về không gian lưu trữ lẫn chuẩn hóa trong thiết kế tuân thủ nghiêm ngặt theo mô hình dữ liệu quan hệ.
Khi có nhu cầu phân tích, khai thác dữ liệu thông qua các báo cáo sẽ phát sinh các vấn đề: - Người xây dựng báo cáo không hiểu nổi mối quan hệ phức tạp giữa các bảng trong nhiều database của các ứng dụng khác nhau - Khó xây dựng truy vấn vì các database nẳm ở các server khác nhau - Việc phân quyền không cho phép người dùng có thể lấy dữ liệu chi tiết - Các câu truy vấn với dữ liệu lớn có thể khiến hệ thống bị tê liệt Ví dụ: Một quản lý bán hàng muốn lên một báo cáo tổng hợp hàng bán trong tháng cho từng vùng miền khác nhau. Nếu lên dữ liệu từ cùng hệ thống OLTP thì mỗi lẫn chạy báo cáo thì hệ thống phải thực hiện lại một lần việc truy xuất và tổng hợp dữ liệu. Ngoài ra có thể dữ liệu lại được lưu trữ trên nhiều vùng địa lý, trên nhiều nguồn dữ liệu khác nhau (file excel, Oracle, SQL Server, ms access. Điều này dẫn tới việc mức độ thỏa mãn nhu cầu tổng hợp và phân tích số liệu cho người dùng là rất thấp.
Họ mong muốn có một hệ thống nhanh chóng hơn. Data warehouse và hệ thống phân tích dữ liệu trực tuyến (Online Analytical Processing - OLAP) cung cấp các giải pháp để giải quyết các vấn đề trên. Data warehouse cung cấp phương pháp tiếp cận lưu trữ số liệu từ các nguồn khác nhau (thường là từ nguồn OLTP) vào một kho lưu trữ duy nhất. Data warehouse cung cấp các lợi ích sau tới những người dùng phân tích số liệu: - Dữ liệu được tổ chức để tạo thuận lợi cho các truy vấn phân tích chứ không phải cho việc xử lý các giao dịch - Sự khác biệt về cấu trúc dữ liệu được lưu trữ trên nhiều nguồn dữ liệu không đồng nhất sẽ được giải quyết - Những quy tắc thống nhất sẽ được áp dụng khi hợp nhất dữ liệu từ các hệ thống không đồng nhất sang data warehouse - Tính bảo mật và hiệu suất có thể được cải thiện mà không cần phải thực hiện bất kỳ sửa đổi nào trên hệ thống dữ liệu gốc Các đặc trưng của Kho dữ liệu: - Tính tích hợp: Dữ liệu trong Dataware house được tổ chức theo nhiều cách khác nhau sao cho phù hợp với các quy ước đặt tên, thống nhất về số đo, cơ cấu mã TIEU LUAN MOI download : skknchat@gmail.com 11 hóa và cấu trúc vật lý của dữ liệu.
Một Datawarehouse là một khung nhìn thông tin mức tổng thể, toàn tổ chức, thống nhất các khung nhìn khác nhau thành một khung nhìn theo một chủ đề nào đó. Tính tích hợp thể hiện ở chỗ : Dữ liệu trong kho dữ liệu được tập trung từ nhiều nguồn và được ghép với nhau tạo thành một thể thống nhất.1 – Tích hợp dữ liệu - Hướng chủ đề: Dữ liệu trong Dataware house được tổ chức theo các chủ đề phục vụ cho những tổ chức dễ dàng xác định được những thông tin cần thiết trong từng hoạt động của mình. Dữ liệu gắn thời gian và có tính lịch sử: Một kho dữ liệu bao hàm một khối lượng lớn khối lượng lịch sử. Dữ liệu trong Dataware house được gọi là các ảnh chụp dữ liệu (data snapshort), mỗi bản ghi phản ánh những giá trị của dữ liệu tại một thời điểm nhất định thể hiện một khung nhìn của một của một chủ điểm trong một giai đoạn.
Yếu tố thời gian đóng vai trò như một phần của khóa để đảm bảo tính đơn nhất của mỗi bản ghi và cung cấp đặc trưng về thời gian cho dữ liệu. Dữ liệu trong CSDL tác nghiệp cần phải chính xác ở chính thời điểm truy cập, trong khi ở Dataware house chỉ cần có hiệu lực trong một khoảng thời gian nào đó, trong khoảng 5 năm đến 10 năm hoặc lâu hơn. Dữ liệu của CSDL sau một thời gian nhất định sẽ trở thành dữ liệu lịch sử và chúng sẽ được chuyển vào kho dữ liệu. TIEU LUAN MOI download : skknchat@gmail.2 – Tính thời gian của dữ liệu - Dữ ữ liệu có tính ổn định: Dữ liệu trong Dataware house là l dữữ liệu chỉ đọc và v chỉ có thể được ợc kiểm tra, không được đ sửa đổi bới người ời sử dụng đầu cuối.
Datawarehouse chỉ cho ngư ười dùng được phép nạp thêm dữ liệu vào ào và truy ccập tới các vùng trong nó.3 – Cơ chế hoạt động của Data Warehouse - Dữ ữ liệu không biến động: Thông tin được đ tải vào ào trong Dataware house khi nó được coi là quá cũ ũ trong CSDL tác nghiệp với hệ thống điều hành hành doanh nghiệp, tuy nhiên các dữữ liệu trong Dataware house không có dữ liệu nào n đượcợc coi llà cũ, trong Dataware house sẽẽ không có thao tác xóa dữ liệu, vìv các dữ liệu nàyày vẫn v cung cấp thông tin vềề một khoảng thời gian dài, d cung cấpấp đủ số liệu cho các hệ thống dự báo, phân tích, từ đó có được ợc những quyết định hợp lý. Lợi ợi ích của Kho dữ liệu Tạo ra những quyếtt định đ có ảnh hưởng lớn. Một kho dữ liệuu cho phép trích rút tài nguyên nhân lựcc và máy tính theo yêu cầu c để cung cấpp các câu truy vvấn và các báo cáo dựa vào cơ sở dữ liệuu hoạt ho động và sản xuất. Điều này tạo ra sự tiếtt ki kiệm đáng kể.
Có kho dữ liệu cũng ũng trích rút tài t nguyên khan hiếm của hệ thống ng ssản xuất khi thực thi một chương trình ình quá lâu ho hoặc các báo cáo và các câu truy vấn n phức ph hợp. Công việcc kinh doanh tr trở nên thông minh hơn. Tăng thêm chấtt lượng lư và tính TIEU LUAN MOI download : skknchat@gmail.com 13 linh hoạt của việc phân tích kinh doanh do phát sinh từ cấu trúc dữ liệu đa tầng của kho dữ liệu, đó là nơi cung cấp dữ liệu được sắp xếp từ mức độ chi tiết của công việc kinh doanh cho đến mức độ cao hơn - mức độ tổng quát. Đảm bảo được dữ liệu chính xác và đáng tin cậy do đảm bảo được là trong kho dữ liệu chỉ chứa duy nhất dữ liệu có chất lượng cao và ổn định (trusted data).
Dịch vụ khách hàng được nâng cao. Một doanh nghiệp có thể giữ gìn mối quan hệ với khách hàng tốt hơn do có mối tương quan với dữ liệu của tất cả khách hàng qua một kho dữ liệu riêng. Tái sáng tạo những tiến trình kinh doanh. Sự cho phép phân tích không ngừng thông tin kinh doanh thường cung cấp sự hiểu biết mọi mặt của phương thức kinh doanh do đó có thể làm nảy sinh ra những ý kiến cho sự sáng tạo ra những tiến trình này lại.
Chỉ khi xác định chính xác các nhu cầu từ kho dữ liệu thì mới giúp ta đánh giá được những hạn chế và mục tiêu kinh doanh một cách chính xác hơn. Tái sáng tạo hệ thống thông tin.