CHƯƠNG 1: LÝ THUYẾT KHO DỮ LIỆU 1. Tổng quan về kho dữ liệu. Lịch sử phát triển của kho dữ liệu: Kho dữ liệu đã được phát triển vào cuối những năm 1980 để đáp ứng nhu cầu ngày càng tăng về phân tích dữ liệu và quản lý thông tin nhưng không thể đạt được bởi hệ thống OLTP. Do hệ thống OLTP được thiết kế để tối ưu hóa cho giao dịch nghiệp vụ, số lượng dữ liệu giao dịch đã được phát triển một cách nhanh chóng giữa các phòng ban trong một tổ chức nên việc thực hiện tích hợp dữ liệu khó khăn hơn.
Điều này tạo ra khó khăn cho việc báo cáo (tích hợp & phân tích dữ liệu). Kết quả là, một hệ thống riêng được gọi là kho dữ liệuđược thiết kế để giải quyết vấn đề này. Kho dữ liệu chứa các dữ liệu được tập hợp từ nhiều nguồn khác nhau như dữ liệu quan hệ, các tập tin phẳng, bảng tính, dữ liệu từ các nguồn bên ngoài tổ chức…. Và được tổ chức trong một cách tối ưu hóa cho mục đích báo cáo.
Với nền tảng kho dữ liệu được tổ chức tốt sẽ là cơ sở để triển khai các công cụ báo cáo thân thiện với người sử dụng. 1: Sơ đồ luồng dữ liệu 4 TIEU LUAN MOI download : skknchat@gmail. Có nhiều định nghĩa kho dữ liệu những chúng đều có một số điểm chung giống nhau. Theo Bill Inmon - người được biết đến như là cha đẻ của kho dữ liệu, kho dữ liệu được quy định như sau: "Data warehoue là một tập hợp dữ liệu tương đối ổn định (nonvolatile) , liên kết với thời gian (time-variant), được tích hợp (integrated) theo một chủ đề (subject-oriented) nhằm hỗ trợ quá trình tạo quyết định về mặt quản lý (Support management’s decision making process)" 1.
Đặc trưng kho dữ liệu. Tính bền vững. Khi thông tin đã đưa vào kho dữ liệu, dữ liệu không nên thay đổi. Điều này là hợp lý vì mục đích của một kho dữ liệu là để cho phép ta phân tích những gì đã xảy ra.
Dữ liệu đưa vào kho dữ liệu chỉ để đọc, việc sửa dữ liệu hầu như không được tiến hành vì điều này có thể dẫn đến phá vỡ sự toàn vẹn. Thông thường người ta không yêu cầu giảm thời gian đưa dữ liệu vào kho dữ liệu xuống mức tối thiểu, nhưng cần tối ưu hoá kho dữ liệu sao cho các truy vấn phục vụ cho việc phân tích đạt tốc độ tốt nhất. Các sơ đồ quan hệ sẽ tạo ra các Index hợp lý cũng như tạo ra sẵn các dữ liệu kết hợp. 2: Tính bền vững của DWH.
Biến thời gian. Yêu cầu quan trọng cho kho dữ liệu là phạm vi về thời gian dài hơn so với các hệ thống tác nghiệp. Cơ sở dữ liệu tác nghiệp: dữ liệu có giá trị hiện thời. Còn dữ liệu của kho dữ liệu: cung cấp thông tin lịch sử (ví dụ như, 5-10 năm trước).
Và yếu tố thời gian được lưu trữ trong CSDL. 5 TIEU LUAN MOI download : skknchat@gmail. 3: Đặc trưng biến thời gian. Dữ liệu được tổ chức theo các đối tượng chính hoặc các quá trình kinh doanh.
Ví dụ phổ biến của các dữ liệu theo định hướng đối tượng là khách hàng, sản phẩm, nhà cung cấp và giao dịch bán… Tập trung vào việc mô hình hóa và phân tích dữ liệu nhằm hỗ trợ đưa ra quyết định, mà không tập trung vào các hoạt động hay các xử lý giao dịch hàng ngày Hinh 1. 4: Đặc trưng hướng chủ đề. 6 TIEU LUAN MOI download : skknchat@gmail. Tính tích hợp.
Dữ liệu từ nhiều nguồn khác nhau như từ của các phòng ban trong tổ chức, từ các nguồn bên ngoài. Và nguồn dữ liệu khác nhau có thể có những cách khác nhau để xác định một đối tượng cụ thể. Tuy nhiên, trong một kho dữ liệu chỉ có một định nghĩa của sản phẩm. Điều này đạt được bằng cách sử dụng giải quyết xung đột về cách xác định đối tượng trong kho dữ liệu.
Và khi chúng ta đạt được điều này, chúng ta nói rằng dữ liệu được tích hợp. 5: Đặc trưng tính tích hợp. Sự khác nhau giữa hệ thống OLTP và kho dữ liệu Về cơ bản hệ thống OLTP và kho dữ liệu có một điểm khác biệt chính đó là kho dư liệu không được tổ chức theo dạng chuẩn 3NF. Nhưng 3NF lại là chuẩn cho hầu hết các hệ thống OLTP.
7 TIEU LUAN MOI download : skknchat@gmail.com Sự khác nhau giữa hệ OLTP và kho dữ liệu OLTP Kho dữ liệu Tổ chức Ở dạng chuẩn 3NF Mô hình chiều Chỉ mục Ít: tối ưu cho giao dịch Nhiều: Tối ưu cho báo cáo Liên kết bàng Ít Nhiều Dư thừa dữ liệu Không Có Dữ liệu tổng hợp Hiếm Phổ biến Hinh 1. 6: So sánh OLTP với DWH. Kho dữ liệu và các hệ thống OLTP có những yêu cầu rất khác nhau. Dưới đây là một số ví dụ về sự khác biệt giữa các kho dữ liệu điển hình và các hệ thống OLTP Khối lượng công việc: Kho dữ liệu được thiết kế để phù hợp truy vấn đặc biệt và phân tích dữ liệu.
Nên khối lượng dữ liệu cần được xử lý không biết trước được có thể rất nhỏ hoặc rất lớn. Do đó, kho phải được tối ưu hóa để thực hiện tốt cho một loạt các thể truy vấn và các hoạt động phân tích. Hệ thống OLTP thiết kế hỗ trợ các các giao dịch đã được định nghĩa trước. Việc chỉnh sửa dữ liệu: kho dữ liệu được cập nhật một cách thường xuyên bởi quá trình ETL (chạy đêm hoặc hàng tuần) sử dụng kỹ thuật biến đổi dữ liệu với số lượng lớn.
Người sử dụng cuối không trực tiếp cập nhập kho dữ liệu trừ một số trường hợp đặc biệt như khai phá dữ liệu… Ngược lại, hệ thống OLTP thì người sử dụng thường xuyên tạo, cập nhập dữ liệu vào cơ sở dữ liệu. Cơ sở dữ liệu OLTP là luôn được cập nhật và phản ánh tình trạng hiện tại của mỗi giao dịch kinh doanh. Mô hình thiết kế: Kho dữ liệu sử dụng mô hình chiều (như mô hình sao) để tối ưu hóa việc truy vấn và phân tích dữ liệu. OLTP sử dụng mô hình thiết kế theo chuẩn (như 3NF) để tối ưu hóa các hoạt động câp nhập/thêm/xóa và để đảm bảo tính nhất quán của dữ liệu.
Hoạt động thông thường: Dữ liệu hoạt động thông thường kho dữ liệu có thể là hàng nghìn hoặc hàng triệu bản ghi. OLTP truy cập thông thường chỉ liên quan đến một số lượng ít bản ghi. Dữ liệu lịch sử: Kho dữ liệu có thể dữ liệu với thời gian dài như 5 năm, 10 năm… nhằm mục đích hỗ trợ quá trình phân tích. OLTP chỉ lưu dữ liệu trong thời gian ngắn.
Đó là những dữ liệu cần thiết để 8 TIEU LUAN MOI download : skknchat@gmail. Kiến trúc kho dữ liệu. Kiến trúc kho dữ liệu cơ bản Với kiến trúc cơ bản, người sử dụng cuối cùng nhận được dữ liệu từ các hệ thống nguồn thông qua kho dữ liệu. 7: Kiến trúc kho dữ liệu cơ bản.
Siêu dữ liệu và dữ liệu thô của một hệ thống OLTP truyền thống là sẵn có. Tóm lược rất có giá trị trong kho dữliệu, vì chúng tính toán trước các hoạt động lâu dài như truy vấn kho dữ liệu điển hìnhđể lấy thông tin về lượng hàng được bán trong tháng 1. Kiến trúc kho dữ liệu với vùng đệm. 8: Kiến trúc kho dữ liệu vùng đệm.
Với kiến trúc này, cần làm sạch và xử lý dữ liệu hoạt động trước khi đưa nó vào kho dữ liệu, mặc dù hầu hết kho dữ liệu sử dụng một vùng trung gian thay thế. Một vùng trung gian sẽ làm đon giản hoá việc quản lý kho dữ liệu chung. 9 TIEU LUAN MOI download : skknchat@gmail. Kiến trúc kho dữ liệu với vùng đệm và kho dữ liệu cục bộ.
Mặc dù kiến trúc trong hình 7 là khá phổ biến, tùy theo yêu cầu ta có thể kiếntrúc kho dữ liệu cho các nhóm khác nhau bên trong của tổ chức. Điều này có thế thực hiện bằng cách thêm các kho dữ liệu cục bộ, đó là các hệ thống được thiết kế cho một phạm vi cụ thể của doanh nghiệp. Hình 8 minh hoạ một ví dụ nơi mua, bán hàng, và hàng tồn kho được tách ra. Trong ví dụ này, một nhà phân tích tài chính có thể muốn phân tích dữ liệu lịch sử cho mua và bán Hinh 1.
9: Kiến trúc DWH với vùng đệm, DM. Thiết kế kho dữ liệu 1. Thiết kế logic và thiết kế vật lý trong kho dữ liệu Để xây dựng một kho dữ liệu thì cần xác định các yêu cầu kinh doanh và thống nhất phạm vi ứng dụng để từ đó đưa ra một bản thiết kế khái niệm. Bây giờ cần phải chuyển thiết kế khái niệm thành một hệ thống chuyển giao.
Để làm như vậy, cần tạo ra các thiết kế logic và thiết kế vật lý cho các kho dữ liệu. Cần xác định: Nội dung dữ liệu cụ thể. Mối quan hệ bên trong và giữa các nhóm dữ liệu. Môi trường hệ thống hỗ trợ kho dữ liệu.
Quá trình biến đổi dữ liệu cần thiết. Tần suất mà dữ liệu được làm mới. Thiết kế logic xem xét các mối quan hệ logic giữa các chủ thể. Thiết kế vật lýxem xét cách thức hiệu quả nhất của việc lưu trữ và gọi ra các đối tượng, cũng như xử lý chúng từ một chuyển dịch và quan điểm sao lưu, phục hồi.
Thiết kế hướng tới các nhu cầu của người dùng cuối. Người dùng cuối thường muốn thực hiện phân tích và xem xét dữ liệu tổng hợp, hơn là giao 10 TIEU LUAN MOI download : skknchat@gmail.com tác riêng lẻ. Tuy nhiên, người dùng cuối có thể không biết những gì họ cần cho đến khi họ nhìn thấy nó. Ngoài ra, một thiết kế được lên kế hoạch chu đáo có tính đến sự tăng trưởng và thay đổi khi nhu cầu của người dùng thay đổi và tiến hóa.
Với thiết kế logic, tập trung vào các yêu cầu thông tin và lưu các chi tiết thực thi cho sau này. Thiết kế logic. Một thiết kế logic là trừu tượng và dựa trên các khái niệm. Ta không đề cập tới những chi tiết cài đặt vật lý.
Ta chỉ đề cập tới việc xác định những loại thông tin mà ta cần. Một kỹ thuật ta cần sử dụng làm mô hình cho các yêu cầu thông tin logic của tổ chức là mô hình thực thể quan hệ. Mô hình thực thể quan hệ liên quan đến việc xác định những thứ quan trọng (thực thể), các tính chất của những thuộc tính, và làm thế nào chúng liên hệ được với nhau (các mối quan hệ).