Tài liệu Đề tài Kho dữ liệu: GIỚI THIỆU
Chúng ta đang sống trong thời đại của nền kinh tế trí thức. Mọi hoạt động của ta muốn đạt hiệu quả cao 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ần thiết một cách nhanh và chính xác.
Việc áp dụng công nghệ thông tin vào thực tiễn sản xuất nghiệp vụ đã 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 ứn g 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à nghiệp vụ. 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 nghiệp vụ. 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 nay đã 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 không những biết được công việc đang diễn ra như thế nào mà còn biết cái gì sẽ xảy ra sau đó, có nghĩa là thông tin mang tính phân tích và hệ thống thông tin có khả năng hỗ trợ quyết định. Tuy nhiên việc ...
65 trang |
Chia sẻ: haohao | Lượt xem: 2137 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Kho dữ liệu, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
GIỚI THIỆU
Chúng ta đang sống trong thời đại của nền kinh tế trí thức. Mọi hoạt động của ta muốn đạt hiệu quả cao 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ần thiết một cách nhanh và chính xác.
Việc áp dụng công nghệ thông tin vào thực tiễn sản xuất nghiệp vụ đã 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 ứn g 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à nghiệp vụ. 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 nghiệp vụ. 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 nay đã 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 không những biết được công việc đang diễn ra như thế nào mà còn biết cái gì sẽ xảy ra sau đó, có nghĩa là thông tin mang tính phân tích và hệ thống thông tin có khả năng hỗ trợ quyết định. 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 môi trườ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 không làm hài lòng người sử dụng và các nhà quản lý hệ thống thông tin.
Những mục tiêu này không dễ đạt được 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. 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. Nhiều khách hàng không thoả mãn với những hệ thống thông tin hiện thời.
Internet cũng đã mở ra nhiều khả năng và triển vọng, cung cấp nhiều lĩnh vực thông tin phong phú và cần thiết cho hoạt động của chúng ta. Tuy nhiên, một vấn đề đặt ra là làm thế nào để tổ chức, khai thác được những khối lượng dữ liệu khổng lồ và đa dạng đó được?
Về phía người sử dụng, thường gặp các khó khăn là: Không thể tìm thấy dữ liệu cần thiết vì dữ liệu rải rác ở rất nhiều hệ thống với các giao diện và công cụ khác nhau. Không thể lấy ra được dữ liệu cần thiết; Không thể hiểu dữ liệu tìm thấy; Không thể sử dụng được dữ liệu tìm thấy
Những vấn đề về hệ thống thông tin: Phát triển các chương trình khác nhau là không đơn giản. Một chức năng đượ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. 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à rất khó khăn.
Duy trì những chương trình này gặp rất nhiều vấn đề. Một 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ệ. 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 là không xác định được. Do sự phức tạp của công việc chuyển đổi cũng như toàn bộ quá trình bảo trì dẫn đến mã nguồn của các chương trình trở nên hết sức phức tạp. Khối lượng dữ liệu lưu trữ tăng rất nhanh. Không kiểm soát được khả năng chồng chéo dữ liệu trong các môi trường thông tin dẫn đến khối lượng dữ liệu tăng nhanh. Quản trị dữ liệu phức tạp. 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 môi trường thông tin. Một thành phần dữ liệu tồn tại ở nhiều nguồn khác nhau
Giải pháp cho tất cả các vấn đề nêu trên chính là việc xây dựng một kho chứa dữ liệu
CHƯƠNG 1: KHO DỮ LIỆU
I. GIỚI THIỆU CHUNG VỀ KHO DỮ LIỆU
1.1 Kho dữ liệu
Kho dữ liệu (Data Warehouse - DW) là tập hợp các CSDL tích hợp, hướng chủ đề, được thiết kế để hỗ trợ cho chức năng tạo 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ể.
Kho dữ liệu thường rất lớn, 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. 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 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 (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 gọi là hệ xử lí phân tích trực tuyến (On_Line Analytical Processing - OLAP).
Theo John Ladley, 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.
1.2 Mục đích của kho dữ liệu
Mục đích của kho dữ liệu nhằm đáp ứng mọi yêu cầu về thông tin của NSD. 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. Giúp cho tổ chức, xác định, quản lý và điều hành các dự án, các nghiệp vụ một cách hiệu quả và chính xác. Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau.
Yêu cầu đối với kho dữ liệu: 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 nối 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ủ đề. Dùng trong 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.
1.3 Đặc điểm của dữ liệu trong kho dữ liệu
1.3.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.v. Một DW là một khung nhìn thông tin mức toàn xí 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 đó.
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.
1.3.2/ Hướng chủ đề
Dữ liệu trong DW đượ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. Điều này dẫn đến nội dung dữ liệu được lưu trữ trong 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.
1.3.3/ Dữ liệu có tính lịch sử
Một kho chứa dữ liệu bao hàm một khối lượng lớn dữ liệu lịch sử. Dữ liệu được lưu trữ thành một loạt các snapshot (ảnh chụp dữ liệu), 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 chủ điểm trong một giai đoạn. Do vậy cho phép khôi phục lại lịch sử và so sánh một cách chính xác 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á để bảo đảm tính đơn nhất của mỗi hàng và cung cấp đặc trưng về thời gian cho dữ liệu.
Dữ liệu của CSDL tác nghiệp thường sau một khoảng thời gian nhất định thì sẽ trở thành dữ liệu lịch sử và chúng sẽ được chuyển thành kho dữ liệu. Đó chính là những dữ liệu hợp lý về những chủ điểm cần lưu trữ.
1.3.4/ Dữ liệu có tính ổn định (nonvolatility)
Dữ liệu trong DW là dữ liệu chỉ đọc và chỉ có thể được kiểm tra, 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 và truy cập vào vào các vùng trong DW.
1.3.5/ Dữ liệu không biến động
Thông tin trong DW được tải vào sau khi dữ liệu trong hệ thống điều hành được cho là quá cũ. 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ũ trong kho vẫn không bị xoá, đ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, từ đó có được những quyết định hợp lý, phù hợp với các qui luật tiến hoá của tự nhiên.
1.3.6/ Dữ liệu tổng hợp
Dữ liệu tác nghiệp thuần tuý không được lưu trữ trong DW. Dữ liệu tổng hợp được tích lại qua nhiều giai đoạn khác nhau theo các chủ điểm như đã nêu trên.
1.4 Một số khái niệm cơ bản
1.4.1 Kho dữ liệu cục bộ (Datamart-DM)
Kho dữ liệu cục bộ là CSDL có những đặc điểm giống với kho dữ liệu nhưng với quy mô nhỏ hơn và lưu trữ dữ liệu về một lĩnh vực, một chuyên ngành. Datamart là kho dữ liệu hướng chủ đề. Các Datamart có thể được hình thành từ một tập con dữ liệu của kho dữ liệu hoặc cũng có thể được xây dựng độc lập và sau khi xây dựng xong, các datamart có thể được kết nối tích hợp lại với nhau tạo thành kho dữ liệu. Vì vậy có thể xây dựng kho dữ liệu bắt đầu bằng việc xây dựng các Datamart hay ngược lại xây dựng kho dữ liệu trước sau đó tạo ra các Datamart.
Datamart là một kho dữ liệu thứ cấp các dữ liệu tích hợp của DW. Datamart được hướng tới một phần của dữ liệu thường được gọi là một vùng chủ đề (Subject Area-SA) được tạo ra và giành cho một nhóm người sử dụng. Dữ liệu trong Datamart cho thông tin về một chủ đề xác định, không phải về toàn bộ các hoạt động nghiệp vụ đang diễn ra trong một tổ chức. Thể hiện thường xuyên nhất của datamart là một kho dữ liệu riêng rẽ theo phương diện vật lí, thường được lưu trữ trên một server riêng, trong một mạng cục bộ phục vụ cho một nhóm người nhất định. Đôi khi datamart một cách đơn giản với công nghệ OLAP tạo ra các quan hệ theo dạng hình sao đặc biệt hoặc những siêu khối (hypercube) dữ liệu cho việc phân tích của một nhóm người có cùng mối quan tâm trên một phạm vi dữ liệu.
Có hai loại Datamart: Datamart phụ thuộc: chứa những dữ liệu được lấy từ DW và những dữ liệu này sẽ được trích lọc và tinh chế, tích hợp lại ở mức cao hơn để phục vụ một chủ đề nhất định của Datamart. Datamart độc lập: được xây dựng trước DW và dữ liệu được trực tiếp lấy từ các nguồn khác nhau. Phương pháp này đơn giản hơn và chi phí thấp hơn nhưng đổi lại có những điểm yếu. Mỗi DM độc lập có cách tích hợp riêng, do đó dữ liệu từ nhiều DM khó đồng nhất với nhau.
1.4.2 Siêu dữ liệu (Metadata)
Metadata là dữ liệu về dữ liệu được sử dụng trong DW trả lời các câu hỏi ai, cái gì, khi nào, tại sao, như thế nào về dữ liệu. Nó đựoc sử dụng cho việc xây dựng, duy trì, quản lí và sử dụng DW.
Có ba loại siêu dữ liệu: siêu dữ liệu nghiệp vụ, siêu dữ liệu kĩ thuật và siêu dữ liệu tác nghiệp.
a/ Siêu dữ liệu nghiệp vụ (Business Metadata): chứa đựng những thông tin khiến cho người sử dụng dễ dàng hiểu được khung cảnh của thông tin được lưu trữ trong DW.
b/ Siêu dữ liệu kĩ thuật (Technical Metadata): chứa đựng những thông tin về dữ liệu trong DW của những người thiết kế và quản trị khi tiến hành công việc phát triển và quản lí.
c/ Siêu dữ liệu tác nghiệp (Operational Metadata - OM): giúp trong việc duy trì và triển khai DW. OM mô tả thông tin chứa đựng trong các bảng đích. Mô tả cốt lõi, khả năng tạo cơ sở dữ liệu đích, thông tin được lưu trữ hay trực tuyến, ngày làm tươi (refresh) dữ liệu, số lượng các bản ghi, lịch thực hiện các công việc và những người sử dụng có khả năng truy nhập vào data.
1.4.3 Kho dữ liệu tác nghiệp, cơ sở dữ liệu thao tác
Kho dữ liệu tác nghiệp (Operational Database Store - ODS) là hệ thống tác nghiệp tích hợp căn bản dùng cho mục đích thực hiện công việc trợ giúp quyết định và phân tích trên dữ liệu giao dịch tác nghiệp. Điều đó khiến cho dữ liệu lưu trữ trong ODS biến động thường xuyên khi những dữ liệu liên quan trong các hệ thống tác nghiệp có sự thay đổi. ODS cung cấp một sự lựa chọn cho các ứng dụng trợ giúp quyết định tác nghiệp, truy nhập dữ liệu một cách trực tiếp từ các hệ thống xử lí các giao dịch trực tuyến.
Đôi khi cũng có những sự nhập nhằng giữa ODS với DW. Trong tất cả các trường hợp, ODS cần phải được xây dựng riêng biệt và là một phần của DW.
C
ODS
Applications
Operational
A
B
ES
DW
DSS
EIS
Sự phân biệt giữa ODS với DW
-Một trong những sự khác nhau cơ bản và quan trọng nhất là ở nội dung và các cấu trúc dữ liệu được lưu trữ. ODS chứa những dữ liệu có giá trị hiện thời hoặc gần với dữ liệu hiện thời, còn DW chứa những dữ liệu lịch sử, có giá trị trong một quá khứ gần. ODS có thể cập nhật còn DW không cập nhật được.
-Nói chung dữ liệu trong DW thường là rất lớn, nhiều hơn ở ODS
ODS
Current data
Highly summarized
Lightly summarized
Current datail
Old detail
Data Warehouse
-ODS chỉ tập trung lưu trữ những dữ liệu thuần nhất và có giá trị hiện thời còn DW có thể chứa rất nhiều dữ liệu ở nhiều mức độ khác nhau, những dữ liệu không thuần nhất.
Sự phong phú về chủng loại dữ liệu trong DW
-Về mặt công nghệ hỗ trợ cho hai hệ thống, ODS đòi hỏi phải là môi trường được phép cập nhật, ghi, thay đổi được những dữ liệu để phù hợp với nghiệp vụ và nhanh chóng trả lời được các yêu cầu của NSD. Ngược lại, Kho dữ liệu chỉ yêu cầu Load-and-Access
+ General purpose update
+ Fast response time
ODS
Changes
Access
Insert
Delete
Load
Access
+ Load and Access
+ No update
DW
Hai môi trường khác nhau về công nghệ
-Về mặt chức năng, ODS cung cấp một khung nhìn tập trung về dữ liệu gần với thời gian thực từ các hệ thống tác nghiệp.
Kho dữ liệu tác nghiệp (ODS) là hệ thống hướng theo chủ đề, tích hợp, có thể thay đổi được, có thể cập nhật, tuyển tập các dữ liệu hiện tại hoặc gần với hiện tại hỗ trợ cho những quyết định tác nghiệp hàng ngày.
Dữ liệu từ nhiều ứng dụng hiện tại cần được chuyển đổi để lưu vào kho dữ liệu tác nghiệp. Quá trình chuyển đổi dữ liệu bao gồm những bước: Biến đổi dữ liệu; Quyết định xem dữ liệu nào trong số các dữ liệu từ nhiều nguồn khác nhau là tốt nhất; Mã hoá/giải mã dữ liệu; Sửa đổi cấu trúc chính; Sửa đổi cấu trúc vật lý; Thay đổi lại các định dạng đối tượng cho phù hợp; Biểu diễn và tính toán lại dữ liệu.
Hệ thống dữ liệu tác nghiệp và kho dữ liệu có các đặc tính chính như sau:
Đặc trưng
Dữ liệu thao tác
Kho dữ liệu
Mục đích
Một ứng dụng tại mỗi thời điểm trong môi trường hiện tại hoặc chứa dữ liệu về một chủ đề ở từng thời điểm
Một hay nhiều chủ đề ở cùng một thời điểm
Các yêu cầu
Biết tường tận
Mơ hồ
Ứng dụng chính
Nghiệp vụ hàng ngày
Trợ giúp quyết định, quản lý, tăng lợi nhuận, lợi thế cạnh tranh
Truy cập dữ liệu
Một số nhỏ các dòng dữ liệu tìm được trong mỗi là gọi.
Tần xuất truy cập lớn vào những khối lượng dữ liệu vừa phải
Tập dữ liệu rất lớn được đọc để tìm kiếm thông tin.
Truy cập không thường xuyên vào khối lượng lớn dữ liệu
Khối lượng dữ liệu
Khối lượng dữ liệu vừa phải cho các công việc hàng ngày
Khối lượng rất lớn dữ liệu cần để phân tích, thống kê, dự báo, lập kế hoạch, báo cáo, v.v.
Duy trì dữ liệu
Lưu giữ các dữ liệu nghiệp vụ hàng ngày
Dữ liệu có tính lịch sử được duy trì dài hạn để đối sánh, phân tích, v.v.
Khả năng thực hiện đồng thời
Có thể trong từng phút
Phần lớn xử lý tĩnh và dữ liệu không thay đổi
Mức độ sẵn sàng của dữ liệu
Độ sẵn sàng ở mức cao theo yêu cầu
Không yêu cầu dữ liệu phải sẵn sàng cao
Đơn vị công việc
Nhỏ, quản lý được và dự đoán được từng đơn vị công việc
Lớn, không đoán trước và các đơn vị cong việc hay thay đổi
Hiệu quả công việc
Hiệu quả cao
Linh hoạt
1.5 Tổ chức lưu trữ dữ liệu trong kho
Có hai cách lưu trữ dữ liệu theo đa chiều: Mô hình dữ liệu đa chiều MDD (MultiDimensional Database) sử dụng cấu trúc khối Cube để lưu trữ với kỹ thuật khai thác tương ứng là MOLAP. Lưu trữ theo mô hình dữ liệu quan hệ đa chiều sử dụng sơ đồ hình sao
II. CÁC KIỂU DỮ LIỆU
2.1 Dữ liệu nghiệp vụ (Business data-BD)
Dữ liệu nghiệp vụ là dữ liệu dùng để vận hành và quản lý một doanh nghiệp hoặc một tổ chức. Nó phản ánh những hoạt động của doanh nghiệp và những đối tượng trong thế giới thực như là khách hàng, địa điểm, sản phẩm v.v.. Nó được tạo ra và sử dụng bởi các hệ thống xử lý giao tác cũng như các hệ thống hỗ trợ quyết định (DSS).
2.1.1 Các tiêu chí để phân loại dữ liệu nghiệp vụ
a/ Phương thức sử dụng trong nghiệp vụ: Dữ liệu được sử dụng trong nghiệp vụ để thực hiện hai mục tiêu lớn:
-Dữ liệu tác nghiệp (operational data): vận hành công việc và liên quan tới các hoạt động hay quyết định mang tính ngắn hạn.
-Dữ liệu mang tính thông tin (informational data): vận hành và quản lý doanh nghiệp trong một thời hạn dài.
Dữ liệu tác nghiệp là dữ liệu gốc của một tổ chức, nó là nguồn của tất cả các dữ liệu mang tính thông tin. Cả dữ liệu tác nghiệp và dữ liệu thông tin đều được cấu trúc theo nhu cầu truy nhập và sử dụng.
b/ Phạm vi dữ liệu: Dữ liệu có thể là:
-Dữ liệu chi tiết: thường là các đối tượng hay các giao dịch cơ sở như sản phẩm, đơn hàng hay khách hàng
-Dữ liệu tổng hợp: quản lý doanh nghiệp, thể hiện ở mức độ bao quát hoạt động nghiệp vụ
c/ Dữ liệu đọc/ghi hay chỉ đọc: dữ liệu đọc/ghi khác với dữ liệu chỉ đọc một cách cơ bản ở các điểm sử dụng và quản lý:
-Dữ liệu đọc/ghi : yêu cầu được thiết kế cẩn thận các tiến trình cập nhật nhằm đảm bảo toàn vẹn các luật nghiệp vụ. Cấu trúc của nó tối ưu cho việc ghi vào cơ sở dữ liệu hay vào file
-Dữ liệu chỉ đọc: được thiết kế phục vụ cho việc sử dụng nhiều lần.
d/ Dữ liệu theo thời gian: Tính chất theo thời gian của dữ liệu thể hiện vị trí của nó xét theo khía cạnh thời gian.
-Dữ liệu hiện tại: là một khung nhìn của công việc nghiệp vụ vào thời điểm hiện tại. Có thể hiểu nó là dữ liệu tức thời và vì vậy sẽ thay đổi theo thời gian trên các hoạt động nghiệp vụ.
-Dữ liệu tại thời điểm (point-in-time): là một snapshot của dữ liệu nghiệp vụ trong một thời điểm nhất định, phản ánh trạng thái của doanh nghiệp vào thời điểm đó. Dữ liệu này thể hiện một khung nhìn của quá khứ, nó có thể dùng để định kế hoạch hay dự đoán.
-Dữ liệu định kỳ: Đây là một lớp dữ liệu mở rộng rất quan trọng. Nó thể hiện sự thay đổi của công việc nghiệp vụ trong mỗi giai đoạn thời gian.
2.1.2 Phân loại dữ liệu nghiệp vụ
a/ Dữ liệu thời gian thực (real-time data): Dữ liệu chi tiết, tức thời dùng để vận hành công việc và được truy xuất theo chế độ đọc/ghi thông qua các giao dịch đã được xác định trước. Dữ liệu thời gian thực được tạo lập, thao tác và sử dụng dụng trong các ứng dụng thao tác hay sản xuất. Chúng có thể tổ chức thành các file hay CSDL.
b/ Dữ liệu dẫn xuất (derived data): Dữ liệu xác định theo thời điểm (point-in-time) hoặc dữ liệu định kỳ, ở mức chi tiết hoặc tổng hợp, thuộc chế độ chỉ đọc, nhận được từ việc xử lý dữ liệu thời gian thực và dùng để quản lý công việc nghiệp vụ. Dữ liệu dẫn xuất là tập dữ liệu thường được sử dụng để trợ giúp quyết định. Dữ liệu mới có thể được suy dẫn từ tổ hợp của các trường hoặc các record dữ liệu có trước.
c/ Dữ liệu tương hợp, hoà hợp (reconciled data): Dữ liệu tương hợp là một loại dữ liệu dẫn xuất đặc biệt, sinh ra bởi một tiến trình được thiết kế nhằm bảo đảm sự vững chắc nội tại của dữ liệu kết quả, tiến trình này thực hiện dựa vào dữ liệu thời gian thực tại mức chi tiết, duy trì hoặc tạo ra các dữ liệu lịch sử.
2.1.3 Dữ liệu nghiệp vụ phi cấu trúc (Untructured business data)
Dữ liệu có cấu trúc thường có những đặc điểm: Mỗi thực thể có rất nhiều thuộc tính, hầu hết các trường thuộc tính đều có kích thước nhỏ, các thực thể có quan hệ với nhau.
Dữ liệu phi cấu trúc có những đặc tính ngược lại, đó là những dữ liệu không thuần nhất, ví dụ: hình ảnh, âm thanh hay phim. Dữ liệu phi cấu trúc có kích thước lớn, khó thao tác và không được hỗ trợ tốt trong các cơ sở dữ liệu và các công cụ khác. Tuy vậy một kho chứa lại thường có dữ liệu loại này, nhưng nó chỉ được đưa vào kho sau khi đã hoàn thành việc đưa dữ liệu có cấu trúc vào kho.
Dữ liệu thời gian thực phi cấu trúc tương ứng với các ảnh điện tử của các giao tác nghiệp vụ mà không dễ phân tách thành các trường dữ liệu cụ thể hơn.
Dữ liệu dẫn xuất phi cấu trúc có thể được xem là tổng hợp hoặc trừu tượng hoá dữ liệu thời gian, như là dữ liệu có cấu trúc.
2.2 Siêu dữ liệu (Metadata)
Siêu dữ liệu là dữ liệu về dữ liệu được sử dụng trong DW, trả lời các câu hỏi ai, cái gì, khi nào, tại sao, như thế nào về dữ liệu. Các thuộc tính này được sử dụng cho việc xây dựng, duy trì, quản lí và sử dụng kho dữ liệu. Siêu dữ liệu là một phần quan trọng nhất của kho dữ liệu.
Siêu dữ liệu mô tả về dữ liệu được chứa trong DW, bao gồm: vị trí, mô tả về kho dữ liệu và các thành phần dữ liệu, các tên gọi, định nghĩa, cấu trúc và nội dung của kho dữ liệu cùng với các quan sát của người sử dụng. Xác nhận căn cứ của các nguồn cung cấp dữ liệu. Các qui tắc chuyển đổi và tích hợp dữ liệu được sử dụng trong kho dữ liệu, trong đó có cả những phép ánh xạ các CSDL thao tác sang kho dữ liệu, kể cả những thuật toán chuyển đổi. Các qui tắc chuyển đổi và tích hợp dữ liệu được sử dụng để phân phát dữ liệu tới người sử dụng đầu cuối. Những thông tin mô tả về hệ thống thông tin cấp phát. Những thông tin thao tác trong kho dữ liệu, bao gồm lịch sử quá trình cập nhật kho dữ liệu, quá trình làm tươi, sao chụp dữ liệu, v.v. Các hệ số đo (metrics) được sử dụng để phân tích hiệu xuất sử dụng và hiệu quả của kho dữ liệu. Sự đảm đảm bảo về an toàn dữ liệu và danh sách quản lý quyền truy nhập.
2.2.1 Phân loại siêu dữ liệu: Siêudữ liệu được chia thành 3 loại:
a/ Siêu dữ liệu nghiệp vụ (Business Metadata): Chứa đựng những thông tin giúp cho người sử dụng dễ dàng hiểu được khung cảnh của thông tin được lưu trữ trong DW, bao gồm những thông tin cho tất cả những người sử dụng đầu cuối về: Các vùng chủ điểm và các loại đối tượng thông tin bao gồm các câu truy vấn, các báo cáo, các hình ảnh, video và các audio clip. Các trang chủ trên Internet. Các thông tin khác để hỗ trợ cho tất cả các thành phần cấu thành DW. Chẵng hạn như các thông tin liên quan tới các hệ thống phân phối thông tin bao gồm: lịch làm việc, những chi tiết về nơi phân phối, các đối tượng truy vấn như những truy vấn, báo cáo và các phân tích được xác định trước. Các thông tin tác nghiệp của DW như lịch sử của dữ liệu (các snapshot, các phiên bản), quyền sở hữu, theo dõi sổ sách, sử dụng dữ liệu. Miêu tả các thuộc tính DW bằng cách xác định tên của công việc, các định nghĩa, các bảng mô tả và các bí danh.
b/ Siêu dữ liệu kĩ thuật (Technical Metadata): Chứa đựng những thông tin về dữ liệu trong DW cho những người thiết kế và quản trị khi tiến hành công việc phát triển và quản lí, bao gồm: Thông tin về các nguồn dữ liệu kể cả những nguồn tác nghiệp và những hệ thống nguồn bên ngoài môi trường kho dữ liệu về vị trí, tên các file, kiểu file, tên các trường và các đặc tính, bí danh, thông tin về phiên bản, những mối quan hệ, độ lớn, tính dễ biến động, người chủ dữ liệu và những người sử dụng có quyền truy nhập. Những mô tả về sự chuyển đổi ví dụ như cách thức ánh xạ từ cơ sở dữ liệu tác nghiệp lên DW và các thuật toán được sử dụng để biến đổi và cải thiện hay chuyển đổi dữ liệu. Những định nghĩa cấu trúc dữ liệu và đối tượng trong môi trường Warehouse cho dữ liệu đích. Những luật dùng để làm sạch và cải thiện dữ liệu. Những phép toán ánh xạ dữ liệu khi lấy dữ liệu từ các hệ thống nguồn và đưa chúng vào cơ sở dữ liệu đích. Quyền truy nhập, lịch sử dữ liệu được backup, về quá trình lưu trữ, về sự phân phối thông tin, về sự thu nhận dữ liệu, về sự truy nhập dữ liệu, v.v..
c/ Siêu dữ liệu tác nghiệp (Operational Metadata: OM): giúp trong việc duy trì và triển khai DW. Mô tả thông tin chứa đựng trong các bảng đích. Mô tả cốt lõi, khả năng tạo cơ sở dữ liệu đích (tạo ra bảng và thông tin dưới dạng liệt kê), thông tin được lưu trữ hay trực tuyến, ngày refresh, số lượng các bản ghi, lịch thực hiện các công việc và những người sử dụng có khả năng truy nhập vào dữ liệu
Metadata hỗ trợ trực tiếp cho người sử dụng giúp họ có thể hiểu được nội dung và tìm thấy được dữ liệu cần thiết. Trong thực tế khả năng kết hợp của công cụ trích lọc dữ liệu và Metadata còn rất kém. Do đó cần phải tạo ra những giao diện dùng Metadata cho người sử dụng .
Việc lưu trữ, quản lí và phân loại Metadata được thực hiện qua một kho chứa Metadata và các phần mềm kèm theo. Các kho được phân loại bằng cách sử dụng một sơ đồ phân loại được gọi là mô hình thông tin (information model). Mô hình này chứa một danh sách các loại siêu dữ liệu và mối liên quan giữa chúng. Kho này là một công cụ quản lí siêu dữ liệu với mục đích chung và rất linh hoạt. Phần mềm quản lí kho siêu dữ liệu có thể được sử dụng để ánh xạ dữ liệu nguồn tới cơ sở dữ liệu đích, tạo mã cho sự tích hợp, chuyển đổi dữ liệu và kiểm soát dữ liệu di chuyển tới DW. Phần mềm này chạy trên một máy trạm cho phép người sử dụng biết một cách cụ thể dữ liệu được chuyển đổi như thế nào ví dụ là ánh xạ biến đổi hay được tổng hợp lại. Hầu hết các kho có sẵn đều sử dụng một cơ sở dữ liệu quan hệ cho việc lưu trữ và quản lí siêu dữ liệu. Một vài giải pháp mới cho kho siêu dữ liệu dựa trên công nghệ hệ thống quản lí cơ sở dữ liệu hướng đối tượng (OODBMS).
Metadata định nghĩa nội dung và vị trí của dữ liệu trong DW, mối quan hệ giữa cơ sở dữ liệu tác nghiệp với DW và các khung nhìn dữ liệu của DW có thể truy nhập được bởi công cụ của người sử dụng đầu cuối. Người sử dụng đầu cuối cần đến Metadata khi cần đến những định nghĩa dữ liệu hay các vùng chủ thể. Nói cách khác, Metadata cung cấp các con trỏ hướng hỗ trợ quyết định trỏ tới DW và cung cấp mối liên kết logic giữa DW và ứng dụng hỗ trợ quyết định. Một DW được thiết kế để đảm bảo cơ chế sản sinh, duy trì kho siêu dữ liệu và tất cả các đường dẫn truy nhập vào DW đều có Metadata như một điểm vào. Một DW được thiết kế phải ngăn chặn được bất kì một sự truy nhập trực tiếp nào vào DW (đặc biệt là khả năng thay đổi dữ liệu) nếu không sử dụng những định nghĩa Metadata để truy nhập.
Kho siêu dữ liệu đươc cài đặt như vậy nhằm đem lại những lợi ích như: Cung cấp một bộ công cụ thông minh cho việc quản lí siêu dữ liệu trong toàn bộ công ty. Làm giảm và loại bỏ sự dư thừa thông tin, sự không đồng nhất và ít sử dụng. Đơn giản hoá việc quản lí và cải thiện tổ chức, kiểm soát và tính toán những tài sản thông tin. Làm tăng việc xác định, hiểu rõ, cùng sắp xếp và sử dụng các tài sản thông tin của công ty. Cung cấp các công cụ quản trị dữ liệu hiệu quả để cùng quản lí tốt hơn các tài sản thông tin với từ điển dữ liệu đầy đủ các chức năng. Làm tăng tính linh hoạt, kiểm soát và độ tin cậy của tiến trình phát triển ứng dụng và làm cho việc phát triển ứng dụng nhanh hơn. Thúc đẩy việc điều tra khảo sát trong các hệ thống tác nghiệp với khả năng kiểm kê và sử dụng những ứng dụng đang tồn tại. Cung cấp mô hình quan hệ tổng thể cho RDBMS hỗn tạp để tương tác và chia sẻ thông tin. Tuân theo chuẩn phát triển CASE và loại bỏ sự dư thừa với khả năng chia sẻ và dùng lại Metadata.
Một vấn đề xuất hiện thường xuyên trong DW là khả năng giao tiếp với người sử dụng đầu cuối về những thông tin bên trong DW và cách thức chúng được truy nhập. Chính Metadata là cách để người sử dụng và các ứng dụng có thể tiếp cận được với những thông tin được lưu trữ trong DW. Nó có thể định nghĩa tất cả các nguyên tố dữ liệu và các thuộc tính của chúng. Metadata cần được thu thập khi DW được thiết kế và xây dựng. Metadata phải có sẵn cho tất cả những người sử dụng DW để hướng dẫn họ dùng DW. Các công cụ trợ giúp cũng được thiết lập và cần được đánh giá trước khi quyết định mua nó.
Một trong những thành phần chức năng quan trọng của kho Metadata là thư mục thông tin. Thư mục này lưu trữ và quản lí siêu dữ liệu và được gắn liền với các ứng dụng DW. Thư mục này có thể được truy nhập tới bởi tất cả các chương trình nằm bên trong DW như bộ trích lọc, chương trình chuyển đổi v.v... Đồng thời thư mục này cũng có khả năng truy nhập tới người sử dụng đầu cuối cho việc xem, lấy và truy vấn dữ liệu. Nội dung của thư mục thông tin này là siêu dữ liệu giúp cho người sử dụng về mặt kĩ thuật hay nghiệp vụ đều khai thác được sức mạnh của môi trường DW. Thư mục này giúp tích hợp, duy trì, và xem nội dung của hệ thống DW.
Tất cả các thành phần của DW đều cần và có thể lấy dữ liệu từ Metadata. Metadata được lưu trữ ở khu vực trung tâm. Metadata có thể xuất hiện theo nhiều khuôn dạng và có thể trong suốt.
2.2.2 Các đặc tính của siêu dữ liệu
a/ Tính lịch sử: Cung cấp cho người sử dụng đầu cuối những thay đổi của DW theo thời gian, Metadata cũng thể hiện quá trình kiến tạo và lịch sử phát triển của DW.
b/ Gắn với thời gian: Cần biết khi nào các định nghĩa của Metadata đại diện cho thông tin. Chẳng hạn Metadata có thể được tạo ra cho lần lặp thứ 2 trước khi lần lặp này được sản sinh trong DW.
c/ Không dễ thay đổi: Metadata nên được nhập vào tại một nơi và việc cập nhật thông tin được làm trên công cụ của bản gốc.
d/ Tính mở: Metadata có thể được tập hợp và chia sẻ từ các ứng dụng khác nhau.
e/ Chỉ đọc: Không được phép cập nhật, xóa và chèn thêm bởi người sử dụng đầu cuối. Người sử dụng đầu cuối có thể thay đổi khung tùy thích khung nhìn về Metadata của họ. Việc kiểm soát thông tin vào được thực hiện bởi một nhóm người.
2.3 Kho dữ liệu ảo
Khi xây dựng và khai thác DW, người ta còn hay sử dụng khái niệm Virtual Data Warehouse- VDW như là một cách để cài đặt nhanh chóng DW mà không cần sao chép lại nhiều bộ dữ liệu.
VDW là một kho dữ liệu logic mà ở đó NSD được quyền truy nhập trực tiếp vào nhiều nguồn dữ liệu thao tác khác nhau thông qua những công cụ trung gian. VDW được sử dụng để nâng cấp khả năng của mạng đối với mọi công cụ của NSD, ở mọi nơi trên mạng ở mọi nơi đều có thể truy cập vào các dữ liệu thời gian thực và các dữ liệu dẫn xuất cần thiết.
III. KIẾN TRÚC KHO DỮ LIỆU
3.1 Kiến trúc dữ liệu nghiệp vụ
Dữ liệu nghiệp vụ bao gồm tập tất cả các dữ liệu được sử dụng trong các quá trình thực thi và quản lý công việc, thường gọi là dữ liệu xí nghiệp (enterprise data). Có ba mô hình kiến trúc dữ liệu: Kiến trúc dữ liệu một tầng, kiến trúc dữ liệu hai tầng, kiến trúc dữ liệu ba tầng.
3.1.1 Kiến trúc dữ liệu một tầng (Single-layer Architecture)
Nguyên lý chính của kiến trúc này là mỗi phần tử dữ liệu một lần lưu trữ và chỉ một lần.
Ưu điểm: tối thiểu được không gian nhớ và tránh được vấn đề phải quản lý việc duy trì nhiều bản ghi dữ liệu bị sao chép để đảm bảo chúng phải đồng bộ, nhất quán.
Nhược điểm: thường có sự tranh chấp nhau giữa các ứng dụng tác nghiệp với các ứng dụng thông tin, dẫn tới việc các dữ liệu được cung cấp không đáp ứng về thời gian. Không hỗ trợ để sử dụng phân tán dữ liệu.
3.1.2 Kiến trúc dữ liệu hai tầng (Two-layer Architecture)
Một điểm cải tiến của kiến trúc nêu trên là phân tách vùng dữ liệu sử dụng khác nhau của hai loại hệ thống: hệ thống thao tác và hệ thống xử lý thông tin.
Tầng dưới, gồm những dữ liệu được sử dụng cho các ứng dụng tác nghiệp, thực hiện được cả đọc và ghi, đó là những dữ liệu thời gian thực. Tầng trên bao gồm những dữ liệu dẫn xuất giành cho các ứng dụng tìm kiếm thông tin. Dữ liệu dẫn xuất có thể được xác định từ dữ liệu thời gian thực thông qua các quá trình tính toán, hoặc cũng có thể là bản sao của dữ liệu thời gian thực.
Ưu điểm: giải quyết được vấn đề tranh chấp giữa hai loại hệ thống của kiến trúc một tầng. Hỗ trợ để những NSD đầu cuối có những nhu cầu xử lý được dữ liệu khác nhau được lưu trữ trong vùng dữ liệu thời gian thực. Điều này có nghĩa là cho phép đưa ra nhiều dữ liệu dẫn xuất khác nhau từ cùng một dữ liệu thời gian thực.
Nhược điểm: Dữ liệu có thể bị lặp lại ở mức cao. Việc tổ chức dữ liệu lặp dẫn đến yêu cầu lưu trữ tốn kém không gian nhớ và vấn đề quan trọng hơn là vấn đề quản lý, duy trì lại phức tạp hơn nhiều. Không có sự tương quan một-một giữa dữ liệu thời gian thực với dữ liệu dẫn xuất.
3.1.3 Kiến trúc dữ liệu ba tầng (Three-layer Architecture)
Vấn đề cốt lõi của kiến trúc này là dữ liệu thời gian thực chuyển sang dữ liệu dẫn xuất phải thực hiện qua hai bước.
-Hoà hợp (Reconcile) các dữ liệu từ tập dữ liệu thời gian thực, tầng trung gian. Đây chính là một cách thực hiện để chuẩn hoá CSDL. Mục đích chính là thu thập nhiều dữ liệu khác nhau từ các hệ thống thông tin tác nghiệp phân tán để tổ hợp lại vào một bức tranh dữ liệu chung cho mỗi xí nghiệp.
Đặc trưng của kiến trúc ba tầng: Hỗ trợ cho những yêu cầu cần những thông tin mới từ dữ liệu. Giảm thiểu được số lượng dữ liệu thông tin quản lý. Giảm thiểu sự lặp lại của dữ liệu.
-Dữ liệu được hoà hợp cung cấp dữ liệu dẫn xuất theo yêu cầu NSD.
Operational System
Informational System
Real-time Data
Derived Data
Reconciled Data
Kiến trúc dữ liệu ba tầng
3.2 Kiến trúc Siêu dữ liệu
Việc phân loại Metadata thành một số loại cũng sẽ dẫn đến việc phải xác định kiến trúc dữ liệu thích hợp cho Metadata. Hiện nay, kiến trúc thường được sử dụng cho Metadata gần với kiến trúc ba tầng.
Cấu trúc của Metadata gồm ba phần có quan hệ tương tác với nhau như sau:
Build-Time
Usage
Control
End user
Read-only access
Limited write access
Business
data
Kiến trúc dữ liệu của Metadata
a/ Siêu dữ liệu thời gian xây dựng (Build-time Metadata)
Những công cụ hỗ trợ để xác định và biểu diễn những thông tin nghiệp vụ một cách có nghĩa thường được sử dụng để tạo lập và quản lý các siêu dữ liệu thời gian xây dựng. Đó chính là các công cụ mô hình hoá dữ liệu. Siêu dữ liệu thời gian xây dựng được thiết lập thông qua cấu trúc, cách lưu trữ và thời gian thu thập được dữ liệu bằng các CASE.
Các cấu trúc của siêu dữ liệu thời gian xây dựng thường thể hiện yêu cầu của người thiết kế và những người phát triển chương trình ứng dụng và CSDL, do vậy đôi khi không thật phù hợp với người sử dụng đầu cuối. Những NSD đầu cuối thường có những kỹ năng khác nhau, họ thường có một số nhu cầu được cập nhật dữ liệu một cách hạn chế, do vậy cần phải được hướng dẫn (điều khiển) một cách cẩn trọng.
b/ Siêu dữ liệu điều khiển (Control Metadata)
Siêu dữ liệu điều khiển mô tả dữ liệu lưu hành và dữ liệu tiện dụng của dữ liệu nghiệp vụ. Dữ liệu lưu hành là dữ liệu được các chương trình ứng dụng hoặc các công cụ tạo ra và cập nhật từ dữ liệu nghiệp vụ. Siêu dữ liệu lưu hành (Currency Metadata) tồn tại ở nhiều mức chi tiết khác nhau.
c/ Siêu dữ liệu sử dụng (Usage Metadata)
Tầm quan trọng của siêu dữ liệu sử dụng chỉ được phát hiện với sự xuất hiện của DW và khối lượng lớn dữ liệu được tạo ra để NSD khai thác.
3.3 Kiến trúc logic và chức năng của kho dữ liệu
3.3.1/ Kiến trúc logic
Dữ liệu nghiệp vụ bao gồm ba loại: dữ liệu thời gian thực, dữ liệu tương hợp và dữ liệu dẫn xuất. Mỗi loại dữ liệu này có thể ở các tầng khác nhau và mỗi tầng có cấu trúc vật lý riêng. Kiến trúc dữ liệu logic cho DW có thể xây dựng như sau:
Operational System
Derived data
Reconciled data
Real-time data
Business Information warehouse
Data warehouse
=
=
=
Business Data Warehouse
Business data warehouse
Business data warehouse
Kiến trúc ba tầng của DW
a/ Hệ thống thao tác (Operational System)
Hệ thống thao tác là chương trình phần mềm ứng dụng để thực hiện các nghiệp vụ và các dữ liệu được lưu ở hệ thống tệp hay CSDL. Hệ thống thao tác bao gồm các nguồn dữ liệu của DW. Dữ liệu được tạo ra trong các hệ thống xử lý giao tác hàng ngày của xí nghiệp.
b/ Kho dữ liệu nghiệp vụ (Business Data Warehouse-BDW)
Kho dữ liệu nghiệp vụ BDW là dạng cài đặt vật lý những dữ liệu tổng hợp được thiết kế để điều khiển và cung cấp dữ liệu đơn giản, nhất quán cho NSD đầu cuối. BDW có những đặc tính sau: Chi tiết, Lịch sử, Nhất quán, Chuẩn hoá.
BDW rất ít khi được NSD khai thác trực tiếp. Nó là nguồn cung cấp dữ liệu cho kho dữ liệu thông tin tác nghiệp.
c/ Kho thông tin nghiệp vụ (Business Information Warehouse BIW)
Đây là hệ thống thông tin được sử dụng để làm báo cáo, phân tích, hay dự đoán về nghiệp vụ. Nó bao gồm những thông tin quản lý, trợ giúp quyết định và các hệ thống thông tin thực thi như các hệ thống phân tích thị trường, các chương trình ứng dụng khai thác thông tin. BIW được xây dựng hoặc trực tiếp từ BDW hoặc gián tiếp từ những BDW khác.
3.3.2 Các chức năng của kho dữ liệu:
Liên quan đến các thành phần của kiến trúc trên là các chức năng: Xây dựng dữ liệu cho BDW (thu thập dữ liệu từ các hệ thống tác nghiệp); Xây dựng dữ liệu cho BIW (thu thập dữ liệu từ các DBW); Xây dựng dữ liệu cho danh mục DWC (thu thập dữ liệu từ các siêu dữ liệu khi xây dựng DW); Các chức năng quản trị hệ thống kho dữ liệu (lưu trữ, xử lý, truy cập, truyền tin, v.v)
Ba chức năng đầu làm nhiệm vụ tập hợp dữ liệu cho kho dữ liệu theo kiến trúc ba tầng. Chức năng thứ tư cung cấp các dịch vụ và sự tiện dụng cho NSD nhằm khai thác, xử lý, khai thác dữ liệu nhằm đáp ứng mọi yêu cầu về thông tin hàng ngày của con người, bao gồm một số các chức năng đảm nhận việc thao tác và quản trị toàn bộ dữ liệu trong môi trường của kho dữ liệu và các thành phần đã được xây dựng. Đó là các các chức năng:
a/ Truy cập dữ liệu (Data Access). Mọi truy cập vào DW thực hiện thông qua BII. Khối chức năng này bao gồm hai khối con. Khối con truy nhập: Truy nhập trực tiếp vào Data Warehouse. Truy nhập vào các Datamart. Gia công lại và biến đổi dữ liệu thành các loại dữ liệu có cấu trúc phức tạp hơn. Khối con phân tích, tạo lập báo cáo: Tạo ra các công cụ chuẩn để tạo báo cáo, phân tích, mô hình hoá tác nghiệp. Tạo ra các phần mềm trợ giúp ra quyết định, các phần mềm khai thác dữ liệu.
b/ Quản trị các quá trình (Process Management). Các thành phần của DW có thể hoạt động trên những môi trường khác nhau. Các quá trình thiết lập BDW, BIW, DWC có thể một phần đọc lập, nhưng phần lớn là có sự phụ thuộc vào nhau.
c/ Chuyển tải dữ liệu (Data transfer). Chức năng này đảm nhận việc chuyển dữ liệu vật lý vào bên trong hệ thống DW.
d/ Đảm bảo an ninh dữ liệu (Security). Trong DW chứa các tập dữ liệu về một tổ chức, xi nghiệp, do vậy luôn có nhu cầu phải đảm bảo quản lý được quyền truy nhập và sử dụng về những dữ liệu đó. Đây là vấn đề quan trọng.
e/ Quản trị CSDL. Kho dữ liệu có thể xem như là tập các CSDL, cả tập trung lẫn phân tán, do đó việc quản trị chúng là cần thiết. Nó bao gồm hai chức năng chính quản trị dữ liệu và quản trị siêu dữ liệu.
Quản trị dữ liệu. Bản thân kho dữ liệu là một hệ thống thông tin lớn cho nên cũng giống như các hệ quản trị cơ sở dữ liệu tác nghiệp thông thường việc quản lý dữ liệu đóng một vai trò rất quan trọng, nhất là khi phải quản lí một khối lượng rất lớn các dữ liệu lịch sử và hiện tại, với nhiều kiểu loại khác nhau rất phong phú và đa dạng được lưu trữ trong nhiều loại hình vật mang thông tin. Việc quản lí dữ liệu này tạo môi trường hoạt động cho chính các khối chức năng. Có thể thấy rằng những chức năng như nhập vào, nạp lại, trích đoạn dữ liệu, tuân thủ an toàn, lưu trữ, khôi phục dữ liệu có trong Data Warehouse là nhờ lớp quản lí dữ liệu.
Những chức năng chính ở lớp quản lí dữ liệu là: Sao lại các dữ liệu thích hợp từ nguồn dữ liệu đã chọn phục vụ cho việc tinh chế và gia công lại dữ liệu trong Data Warehouse. Giám sát và đáp ứng các đòi hỏi cho các dữ liệu mới rút từ các nguồn dữ liệu khác nhau. Bảo quản các dữ liệu trong các nguồn dữ liệu tác nghiệp và nạp lại hoặc cập nhật và làm sạch dữ liệu.
Mặt khác, lớp quản lí dữ liệu thống nhất các phương pháp quản lí dữ liệu, các thủ tục, các phép toán phục vụ cho việc an toàn, phân quyền truy nhập, lưu trữ và khôi phục dữ liệu. Việc thực hiện các xử lí song song và phục hồi việc sử dụng các xử lí song song cho việc truy nhập dữ liệu cũng được quản lí trong lớp này.
Quản trị siêu dữ liệu: Các chức năng chính của lớp này là sao chép, tạo mới, lưu trữ, phục hồi, làm sạch và cập nhật các siêu dữ liệu.
NSD có thể sử dụng dữ liệu và siêu dữ liệu theo nhiều cách khác nhau. Dữ liệu có thể được thăm dò và phân tích để có được những kết quả theo yêu cầu, còn siêu dữ liệu chỉ thăm dò (exploration) mà không phân tích được, nó chỉ giúp chúng ta hiểu về dữ liệu.
Sự khác nhau trên dẫn đến hai thành phần chức năng:
-Giao diện thông tin nghiệp vụ (Business Information Interface - BII): cung cấp các chức năng theo yêu cầu của dữ liệu. Mọi truy cập vào dữ liệu trong kho được thực hiện thông qua BII.
-Hướng dẫn thông tin nghiệp vụ (Business Information Guide - BIG): cung cấp các chức năng cần thiết cho siêu dữ liệu. Chức năng này cần để sử dụng DWC, để hiểu được ý nghĩa và lợi ích của siêu dữ liệu được sử dụng trước đó.
Business Info. Interface
Business Informational warehouse
Data warehouse management
+ Data access
+ Proces management
+ Data transfer
+ archive and retrieval
+ Database management
BDW population
Operational System
Business data warehouse
BIW population
DWC population
Build-time Metadata
Business info. Guide
Toàn bộ kiến trúc logic và các chức năng của DW
Từ những kiến trúc tổng thể chúng ta có thể đưa ra cách nhìn tổng quan về kiến trúc kho dữ liệu, trong đó thể hiện được cách nạp dữ liệu về kho, cách truy nhập, xử lý thông tin, v.v.
Legacy Systems
Gather
Refine
Aggregation
Store
Data Warehousse
Staging Process
Data Mart
Data Mart
LAN
Information Acquisition Layer
Information Store Layer
Information Delivery Layer
Financial
control
Product
Management
Credit
management
Customer
relationship
Tổng quan về kiến trúc kho dữ liệu
CHƯƠNG II
XÂY DỰNG KHO DỮ LIỆU
Hệ thống kho dữ liệu DW cũng giống như các hệ thống phần mềm khác, có chu trình phát triển được cải tiến và hoàn thiện liên tục. Để phát triển được kho dữ liệu DW, chúng ta phải thực hiện lần lượt các bước: lập kế hoạch, xác định các yêu cầu, phân tích thành phần, thiết kế, cài đặt, trắc nghiệm và bảo trì hệ thống kho dữ liệu.
VI. LẬP KẾ HOẠCH, XÁC ĐỊNH YÊU CẦU VÀ PHÂN TÍCH THÀNH PHẦN CỦA KHO DỮ LIỆU
4.1 Lập kế hoạch
Khi đã thống nhất xây dựng dự án phát triển kho dữ liệu phục vụ cho các hoạt động của một cơ quan thì vấn đề trước tiên cần phải xây dựng kế hoạch thực hiện bao gồm các bước như sau:
Xác định chiến lược phát triển hệ thống
Lựa chọn phương pháp và mô hình
Xác định phạm vi của hệ thống
Xây dựng kiến trúc cho hệ thống
Tập hợp Metadata
Lập kế hoạch
Xác định mục tiêu của hệ thống
Các bước trong kế hoạc xây dựng DW
a/ Xác định chiến lược cài đặt: Đây là bước rất quan trọng, nó quyết định về cơ cấu tổ chức của kho dữ liệu. Có ba cách tiếp cận chính: Thực hiện trên xuống (Top-down), thực hiện dưới lên (Bottom up), tổ hợp của hai cách tiếp cận trên.
b/ Lựa chọn phương pháp và mô hình phát triển kho dữ liệu: Để phát triển hệ thống kho dữ liệu có hai phương pháp cơ bản: Phương pháp hướng chức năng: tập trung vào chức năng là chính, dữ liệu là phụ. Phương pháp hướng đối tượng: xem hệ thống là tập các đối tượng và do vậy tập trung chính vào dữ liệu.
c/ Xác định mục tiêu của kho dữ liệu: Việc xác định kho dữ liệu là rất phức tạp vì kho dữ liệu chính là một hệ thống các CSDL lớn, phức tạp với khối lượng dữ liệu khổng lồ và thường là không thuần nhất, bao quát nhiều lĩnh vực khác nhau.
d/ Xác định phạm vi của hệ thống: Trong hầu hết các tổ chức, lý do cần phát triển kho dữ liệu là nhằm đáp ứng nhu cầu quản lý, khai thác thông tin để thực hiện công việc hay trợ giúp quyết định trong quản lý, điều hành công việc của một nhóm người, một bộ phận hay cả tổ chức đó.
e/ Lựa chọn kiến trúc: Có thể xây dựng kho dữ liệu theo những kiến trúc sau:
-Chỉ xây dựng quầy dữ liệu (Data Mart). Kiến trúc này phù hợp cho các Phòng, Ban trong tổ chức có nhu cầu riêng.
-Chỉ xây dựng kho dữ liệu. Trong kiến trúc này, các phép xử lý đối với các nguồn dữ liệu như: làm sạch, tích hợp, tổng hợp, v.v. sẽ được sử dụng chung cho mọi ứng dụng.
-Xây dựng kho dữ liệu và cả quầy dữ liệu. Mỗi bộ phận có tiểu kho, được đặt trong một cơ cấu thống nhất được gọi là tổng kho, hay kho dữ liệu liên hợp. Đây chính là kiến trúc ba tầng đã phân tích.
-Kiến trúc Client/Server gồm hai lớp chình: lớp Server và lớp Client. Server thực hiện các chương trình trong kho, quầy dữ liệu và lưu trữ dữ liệu vào kho. Client thực hiện các chương trình khai thác, lập báo cáo, lưu trữ dữ liệu cục bộ, v.v.
e/ Xây dựng chương trình và dự kiến ngân sách
4.2 Xác định các yêu cầu của hệ thống
Các yêu cầu của kho dữ liệu bao gồm: Các yêu cầu của chủ sở hữu. Các yêu cầu của các kiến trúc sư. Các yêu cầu của người phát triển. Các yêu cầu của NSD.
4.2.1 Yêu cầu của chủ sở hữu
Để xác định được các yêu cầu của người quản lý và chủ hệ thống thì phải trả lời được những câu hỏi như: Tại sao cần xây dựng kho dữ liệu và Data Mart? Những vấn đề nào cần tập trung giải quyết? Mục đích của tổ chức, doanh nghiệp là gì? Ai là người đầu tư, tài trợ và là khách hàng? Kinh phí cung cấp là bao nhiêu? Khi nào cần phải hoàn thành hệ thống? Những khả năng đầu tư về máy tính, các thiết bị ngoại vi, thiết bị phụ trợ, kết nối mạng và đường truyền dữ liệu, v.v. Những công nghệ hiện đại có thể áp dụng? Những may rủi có thể xảy ra?
4.2.2 Yêu cầu của kiến sư
Kiến trúc hệ thống là rất quan trọng, nó quyết định nhiều tính chất và các khả năng của kho dữ liệu. Kiến trúc là cơ sở để thiết lập các thành phần của một kho dữ liệu nhằm đáp ứng các nhu cầu hiện tại và tương lai của một tổ chức. Khi xây dựng kho dữ liệu cần lưu ý tới ba loại kiến trúc sau:
a/ Kiến trúc dữ liệu (Data Architecture). Kiến trúc này mô tả các mục dữ liệu và mối quan hệ của chúng trong hệ thống. Dữ liệu là cơ sở để chúng ta tạo lập, xử lý và phát triển ứng dụng trên chúng. Công cụ thích hợp từ trước đến nay cho mô hình dữ liệu theo cách tiếp cận hướng chức năng là mô hình liên kết - thực thể ERM - Entity Relationship Model. Mô hình dữ liệu theo cách tiếp cận hướng đối tượng hiện nay được sử dụng phổ biến là ngôn ngữ UML và các biểu đồ lớp.
b/ Kiến trúc chương trình ứng dụng. Hệ thống được xem như là tập các chương trình ứng dụng. Để phục vụ tốt cho những chương trình đó, kho dữ liệu có thể được xem như là danh mục catalog chứa các chương trình thực hiện theo các chức năng riêng và mối quan hệ của chúng trong hệ thống. Mỗi chương trình có thể tạo lập, đọc, cập nhật, ghi, hoặc loại bỏ một số mục dữ liệu trong các quầy dữ liệu của mình.
c/ Kiến trúc công nghệ. Nó mô tả các thành phần công nghệ: máy chủ, các trạm làm việc, giao diện đồ hoạ GUI, hệ quản trị CSDL DBMS, từ điển dữ liệu, v.v.
4.2.3 Yêu cầu của người phát triển hệ thống
Những người xây dựng hệ thống thường quan tâm đến những vấn đề cụ thể của kho dữ liệu. Họ có những yêu cầu cơ bản như:
a/ Yêu cầu về công nghệ: Hiểu biết về nguồn dữ liệu và siêu dữ liệu. Những vấn đề sàng lọc, quản trị dữ liệu, siêu dữ liệu, mạng thông tin, các môi trường thao tác trực tuyến và các chuẩn hoá, v.v. trong kho dữ liệu. Quá trình làm mịn và tái tạo dữ liệu, các bộ xử lý và môi trường tác nghiệp trong kho dữ liệu, đối với quầy dữ liệu và siêu dữ liệu. Đối với khối công cụ và truy cập của NSD, cần biết về những phần mềm hỗ trợ truy cập, tìm kiếm, xử lý và phân tích dữ liệu, OLAP, v.v
b/ Yêu cầu về triển khai. Đó là những yêu cầu liên quan đến khả năng của kho dữ liệu, cho phép truy cập và cung cấp những thông tin cần thiết, kịp thời và tiện lợi. Bao gồm những yêu cầu về phương pháp truy cập, nhận tin, các công cụ truy cập và kết nối mạng, v.v.
c/ Các yêu cầu về sản phẩm. Yêu cầu duy trì tính nhất quán, độ tin cậy và khả năng xử lý đồng thời của dữ liệu. Quản lý được siêu dữ liệu và mô hình dữ liệu trong kho. Đảm bảo được sự thông suốt trong trao đổi thông tin giữa máy tính, chương trình ứng dụng và các kho dữ liệu. Quản lý được quyền truy cập, có phân quyền để đảm bảo an toàn dữ liệu của cả hệ thống. Quản lý hiệu quả những kho dữ liệu lớn, ngay cả khi cực lớn. Luôn cải tiến, nâng cấp được tốc độ truy cập, xử lý dữ liệu để kịp thời có được những câu trả lời nhanh và chính xác, đáp ứng mọi yêu cầu của NSD. Những yêu cầu này thường được thực hiện bằng cơ chế lập bảng, chỉ số hoá.
d/ Các yêu cầu về người tham gia dự án. Để cài đặt được kho dữ liệu đáp ứng những yêu cầu nêu trên thì cần phải có đội ngũ cán bộ có trình độ, có năng lực và hợp tác với nhau để phát triển phần mềm. Họ vưa phải có khả năng nắm bắt các khái niệm chuyên môn, nghiệp vụ vừa có kinh nghiệm về xử lý dữ liệu, cùng hợp tác với nhau để hoàn thành nhiệm vụ của dự án.
4.2.4 Yêu cầu của người sử dụng đầu cuối
Người sử dụng đầu cuối của kho dữ liệu, trước hết là các doanh nghiệp, các kỹ thuật viên, các nhà quản lý, các thương gia, các chuyên viên của những lĩnh vực liên quan...
a/ Yêu cầu về siêu dữ liệu
-Metrics: Hệ metric (hệ số đo) nhằm giúp cho việc tính được số lượng và biết được hình dáng của dữ liệu trong kho, ví dụ số các bản ghi dữ liệu, đơn vị dữ liệu của từng trường dữ liệu, v.v.
-Thông tin về bí danh (Alias Information): cho phép một trường dữ liệu được xác định với nhiều hơn một tên gọi.
-Thông tin về mô hình (Data Model): mô hình dữ liệu rất hữu ích cho các nhà phân tích, nó cung cấp bản đồ ở mức cao để tìm ra được những dữ liệu cần thiết chứa trong kho dữ liệu.
-Sư an ninh dữ liệu (Security): DW yêu cầu mức độ đảm bảo an ninh dữ liệu cao hơn các CSDL. NSD phải được đảm bảo rằng những dữ liệu mà họ khai thác được là đúng và chính xác là những gì được lưu lại từ thực tế các nghiệp vụ.
-Lịch biểu thời gian nạp dữ liệu (Loading Schedule): Khi truy cập vào dữ liệu, điều quan trọng là nhiều khi NSD cần biết khi nào dữ liệu được làm tươi lại, khi nào được nạp về.
-Mô tả về kho dữ liệu (Data warehouse Description): NSD cần biết về các bảng dữ liệu, các trường trong mỗi bảng và các thông tin mô tả về chúng.
b/ Yêu cầu về truy vấn kho dữ liệu
Vấn đề quan trọng nhất là làm thế nào để nhanh chóng có được những thông tin cần thiết từ việc truy vấn vào kho dữ liệu với giá thành thấp nhất có thể. Do đó, xây dựng kho dữ liệu với những thiết kế hợp lý nhất, nâng cao và cải tiến hiệu suất truy vấn. Ta có thể thực hiện những kỹ thuật sau:
-Sử dụng cơ chế đánh chỉ mục (Index) để truy cập vào dữ liệu trong kho. Chỉ mục cho phép chỉ chọn ra những records dữ liệu cần truy cập mà không cần truy cập vào khối lượng lớn các records dữ liệu khác không cần thiết.
-Thực hiện tối ưu hoá các câu truy vấn để đảm bảo rằng chỉ cần truy cập cực tiểu khối lượng dữ liệu cần thiết theo yêu cầu.
-Sử dụng bộ quản trị các nguồn dữ liệu của hệ quản trị CSDL (DBMS Reource Governor). Một số DBMS có hệ quản trị các tài nguyên nguồn, giúp cho việc truy vấn có thể truy cập với đúng những nguồn dữ liệu mong muốn.
4.3 Các thành phần của kho dữ liệu
4.3.1 Các công cụ thu nạp, làm sạch và chuyển đổi dữ liệu
Công việc quan trọng của quá trình xây dựng kho dữ liệu là lựa chọn dữ liệu từ ODS để đưa vào kho, đặt chúng các định dạng thích hợp.
4.3.2 Các công cụ truy cập
Truy cập dữ liệu là một chức năng của kho dữ liệu để NSD có được những dữ liệu, thông tin theo yêu cầu.
V. MÔ HÌNH DỮ LIỆU
Xây dựng mô hình là nền tảng cho việc cài đặt. Sự hiểu biết về hệ thống nguồn là rất cần thiết để phát triển tầm nhìn về phạm vi hoạt động và mô hình trong tương lai. Mô hình dữ liệu của DW có thể thiết lập theo: Lược đồ hình sao (Star Schema), lược đồ bông tuyết (Snowflake), mô hình đa chiều (Mutiple Dimension):
5.1 Lược đồ hình sao
Lược đồ hình sao được đưa ra bởi Dr. Ralph Kimball. Lược đồ hình sao cho phép một hệ thống đối tượng có thể kết nối với nhiều đối tượng khác. Mô hình này thể hiện cách nhìn của NSD về nhiều vấn đề trong tác nghiệp. Trong lược đồ hình sao, dữ liệu được xác định và phân loại theo 2 kiểu:
-Các sự kiện được tổ chức thành bảng Fact. Bảng Fact chứa các thông tin cơ sở ở mức giao tác ở trong nghiệp vụ mà các ứng dụng cần thiết. Các bảng Fact thường rất lớn, chứa hàng triệu dòng mà phần lớn là số.
-Các chiều của dữ liệu được tổ chức thành các bảng chiều. Bảng chiều thường là tương đối nhỏ so với các bảng Fact, chứa các thông tin mô tả. Đó là các bộ lọc hoặc các ràng buộc của những sự kiện ở bảng Fact. Bảng chiều chứa các dữ liệu cần thiết cho việc thực hiện các giao tác nghiệp vụ theo một chiều, hay phạm vi nào đó.
Ưu điểm của sơ đồ hình sao: Hỗ trợ rất đa dạng các câu truy vấn và xử lý khá hiệu quả những câu truy vấn đó. Phù hợp với cách mà NSD nhận và sử dụng dữ liệu và qua đó làm cho dữ liệu được hiểu trực quan hơn. Nguyên lý cơ bản của sơ đồ hình sao là một dạng dư thừa dữ liệu cải thiện sự thực hiện các truy vấn. Với sơ đồ hình sao, người thiết kế có thể dễ dàng mô phỏng những chức năng của cơ sở dữ liệu đa chiều. Sự phi chuẩn hóa có thể coi là sự tiền kết nối (pre-joining) các bảng để cho các ứng dụng không phải thực hiện công việc kết nối, làm giảm thời gian thực hiện. Dễ dàng nhận thấy, lược đồ hình sao được thiết kế là để khắc phục những hạn chế của mô hình quan hệ hai chiều. Với cơ sở dữ liệu được thiết kế theo lược đồ hình sao, những truy vấn với những câu hỏi phức tạp liên quan tới nhiều bảng và số liệu tổng cộng trở nên đơn giản hơn và số lượng công việc cần thực hiện để đưa được ra câu trả lời là ít nhất so với một mô hình quan hệ chuẩn. Lược đồ hình sao cải thiện đáng kể thời gian truy vấn và cho phép thực hiện một số tính năng đa phạm vi. Sơ đồ này rất trực quan, dễ sử dụng, thể hiện khung nhìn đa chiều của dữ liệu dùng ngữ nghĩa của cơ sở dữ liệu quan hệ. Khóa của bảng sự kiện được tạo bởi những khóa của các bảng chứa thông tin theo từng bảng chiều. Tất cả các khóa đều được xác định với cùng một chuẩn đặt tên.
Những bảng Fact có chứa khóa của các bảng chiều, có thể là với tên khác đi để đảm bảo tính duy nhất của mỗi hàng. Các bảng chiều thường có định danh duy nhất và chứa đựng những thông tin về chiều của bảng đó. Số lượng các bảng chiều của mỗi bảng Fact là từ 3 đến 5.
Vì bảng Fact được tổng hợp từ trước và được kết hợp theo nhiều chiều nên xu hướng có rất nhiều hàng và tăng trưởng một cách nhanh chóng trong khi đó các bảng chiều không có nhiều hàng và sự tăng trưởng là tĩnh. Bảng Fact có thể bao gồm hàng triệu hàng. Bảng chiều chứa đựng các thuộc tính có thể được sử dụng như các tiêu chí tìm kiếm và thường có kích thước nhỏ hơn nhiều, rất quen thuộc với người sử dụng từ trước. Khoá của nó không là khoá ghép như bảng sự kiện. Nếu một bảng chiều bắt đầu có sự tương đồng với các bảng Fact thì có thể nó cần được chia ra thành các bảng chiều.
Để cải thiện công suất của các truy vấn trong sơ đồ hình sao có thể thực hiện những kỹ như: Xác định sự kết hợp các bảng Fact đang tồn tại hay tạo ra một sự kết hợp mới các bảng Fact. Phân chia bảng Fact đến mức mà hầu hết các truy vấn chỉ truy nhập tới phần đó. Tạo ra các bảng Fact riêng rẽ. Tạo ra những tệp chỉ số đơn duy nhất hoặc các kĩ thuật khác để cải thiện năng suất kết hợp.
5.1.1 Vấn đề thiết kế sơ đồ hình sao liên quan tới những người quản trị CSDL
Mặc dầu hầu hết các chuyên gia đều đồng ý rằng sơ đồ hình sao thích hợp cho phương pháp thiết lập mô hình cho phương pháp DW nhưng vẫn còn một số vấn đề của hệ quản trị cơ sở dữ liệu quan hệ liên quan tới việc cài đặt sơ đồ hình sao.
a/ Đánh chỉ số (chỉ mục)
Sử dụng việc đánh chỉ số có thể đảm bảo sự duy nhất của các khóa và có thể cải thiện năng suất đọc. Vì các bảng trong thiết kế hình sao điển hình chứa sự phân cấp tổng thể của các thuộc tính (chẳng hạn với chiều thời kỳ Period), sự phân rã này có thể là ngày® tuần® tháng® quí® năm, nghĩa là tạo ra một khóa nhiều thành phần của ngày, tuần, tháng, quí, năm. Cách thức này được chấp nhận cho những thiết kế bình thường nhưng nó cũng thể hiện một vài vấn đề trong mô hình sơ đồ hình sao. Đó là:
-Nó đòi hỏi một sự định nghĩa Metadata phức tạp để xác định một quan hệ đơn. Điều này làm cho thiết kế thêm phức tạp và năng suất kém đi nhiều.
-Vì bảng Fact phải chứa tất cả các khóa thành phần như một phần của khóa chính, việc thêm vào hay xóa bỏ một mức trong sơ đồ phân cấp sẽ đòi hỏi sự thay đổi vật lí ở các bảng liên quan mất nhiều thời gian và hạn chế tính linh hoạt trong truy vấn.
-Chứa tất cả các đoạn khóa của mỗi chiều trong bảng Fact làm tăng kích thước của bảng chỉ số và tác động mạnh tới công suất và sự ổn định.
Một phương pháp đối với khóa ghép như trên là cắt khóa ra thành các khóa đơn (chẳng hạn khóa bao gồm tất cả các thuộc tính- ngày, tuần, tháng, quí, năm). Cách này giải quyết được 2 vấn đề đầu nhưng kích thước của bảng chỉ số vẫn là một vấn đề.
Cách tốt nhất là thay những khóa có ý nghĩa bằng việc sử dụng một khóa do mình tạo ra là một khóa nhỏ nhất có thể mà vẫn bảo đảm tính duy nhất của mỗi bản ghi. Những khóa có nghĩa được thay thế như nói ở trên không cần thiết phải hủy bỏ, chúng có thể dơn giản là được chuyển đến một thuộc tính không phải là khóa. Kết quả thiết kế theo mô hình hình sao bao gồm một bảng Fact với một khóa chính có đúng một cột khóa cho mỗi chiều tại đó mỗi khóa là khóa được tạo ra. Phương pháp này cho khả năng linh hoạt ở mức cao nhất, việc bảo trì là ít nhất và công suất cao nhất có thể.
b/ Chỉ thị về mức
Để định hướng các chiều một cách thành công, việc thiết kế các bảng chiều thường bao gồm một mức chỉ dẫn phân cấp cho mỗi bản ghi. Mỗi truy vấn lấy dữ liệu từ các bản ghi chi tiết của một bảng lưu trữ chi tiết và những dữ liệu kết hợp phải sử dụng chỉ dẫn này như một ràng buộc thêm để thu được kết quả đúng. Mức này là một công cụ có ích cho các môi trường được kiểm soát chặt chẽ bởi các DBA và trong môi trường đó một vài truy vấn đặc biệt được cho phép sử dụng. Nếu người sử dụng không quan tâm tới những chỉ thị về mức hoặc giá trị của nó không đúng thì mặc dù quá trình truy vấn là đúng vẫn có thể đưa ra kết quả không hợp lệ.
Sự lựa chọn tốt nhất cho việc dùng chỉ thị về mức là sử dụng sơ đồ bông tuyết. Trong sơ đồ loại này, các bảng Fact kết hợp được tạo ra một cách riêng biệt từ những bảng chứa dữ liệu chi tiết. Thêm vào với các bảng Fact chính, sơ đồ hình tuyết rơi còn chứa các bảng Fact riêng rẽ cho mỗi mức kết hợp, vì vậy không mắc lỗi trong việc lựa chọn các bản ghi chi tiết. Tuy nhiên sơ đồ hình tuyết rơi phức tạp hơn sơ đồ hình sao và thường đòi hỏi những câu lệnh SQL phức tạp hơn để nhận được câu trả lời.
5.1.3 Những vấn đề thiết kế lược đồ hình sao liên quan tới các phương tiện của hệ quản trị cơ sở dữ liệu quan hệ và kĩ thuật tối ưu.
a/ Vấn đề kết hợp từng cặp 2 bảng
Hệ quản trị cơ sở dữ liệu quan hệ không được thiết kế để dùng cho một tập lớn các câu truy vấn phức tạp có thể được đưa ra đối với một sơ đồ hình sao. Một cách cụ thể khả năng lấy được thông tin liên quan từ một số bảng trong một câu truy vấn đơn- được gọi là xử lí kết hợp - rất bị hạn chế.
Một số hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) chỉ có thể kết hợp 2 bảng tại một thời điểm. Nếu một sự kết hợp phức tạp liên quan tới nhiều hơn 2 bảng thì RDBMS cần phải tách câu truy vấn thành một chuỗi các cặp 2 bảng kết hợp với nhau. Đó không phải là hạn chế khắt khe nhất đối với những câu hỏi đơn giản được thực hiện bởi cơ sở dữ liệu OLTP tuy nhiên những kĩ thuật kết hợp như vậy không thể thực hiện một cách đầy đủ trong môi trường DW.
Yêu cầu là liệt kê phần đóng góp của tất cả số lượng hàng bán được theo mỗi sản phẩm trong các thị trường, các loại và các giai đoạn khác nhau. Như vậy chúng ta phải kết hợp dữ liệu từ 4 bảng: SalesFact, Priod, Market, Product.
Số lượng phép kết hợp được đánh giá là tăng theo hàm mũ so với số lượng các bảng được đem ra kết hợp nên trật tự kết hợp không còn là vấn đề quan trọng nhất, nó được tối ưu để có thể thực hiện trong một khoảng thời gian hợp lí. Sự kết hợp có nhiều thuật toán khác nhau. Mỗi thuật toán trong những thuật toán này cần được đánh giá cho mọi sự kết hợp. Chẳng hạn có 5 thuật toán kết hợp RDBMS, cần đánh giá 10!*5=18 triệu phép toán kết hợp cho một câu truy vấn liên quan tới 10 bảng. Con số này qua lớn khiến cho một số cơ sở dữ liệu không chạy những truy vấn cố gắng kết hợp quá nhiều bảng. Một RDBMS điển hình phải quyết định trật tự kết hợp từng cặp 2 bảng trước khi một truy vấn bắt đầu được thực hiện vì vậy việc thực hiện bị trễ đi một khoảng thời gian khá dài.
b/ Vấn đề kết hợp đối với sơ đồ hình sao
Vì số lượng các cặp bảng cần kết hợp với nhau thường quá lớn cho một sự đánh giá đầy đủ, rất nhiều RDBMS tối ưu hạn chế phép chọn dựa trên một tiêu chí cụ thể, thường là nhặt ra kết hợp các bảng liên quan trực tiếp với nhau. Đối với ví dụ trình bày ở trên thì việc kết hợp SalesFact với Perid thì tốt hơn là Product kết hợp với Market. Chiến lược này có vẻ có lí đối với sơ đồ OLTP truyền thống chứa một mạng phức tạp rất nhiều các bảng có quan hệ trực tiếp với nhau. Trong khi đó nó tỏ ra không hiệu quả lắm với DW vì trong sơ đồ hình sao chỉ có một bảng liên quan trực tiếp tới hầu hết các bảng còn lại đó là bảng Facts. Điều đó có nghĩa là bảng Facts là thành phần quan trọng nhất cho sự kết hợp đầu tiên. Nhưng kích thước của bảng Facts thường là lớn nhất nên chiến lược này tạo ra tập các bảng trung gian rất lớn. Điều này ảnh hưởng tới năng suất thực hiện truy vấn. Vấn đề công suất này là giả thiết rằng RDBMS có thể chọn được cặp 2 bảng kết hợp với nhau tốt nhất được đánh giá theo trật tự trong tập giới hạn các trật tự. Trong một RDBMS được tối ưu cho OLTP, truy vấn được phân tích và kế hoạch được lựa chọn dựa trên sự ước lượng độ lớn của bảng kết quả trung gian. Những ước lượng này dựa trên sự thống kê của bản thân dữ liệu và thường không được chính xác. Trong bất kì một môi trường tính toán nào, sự lan truyền về lỗi chỉ làm cho vấn đề trở nên tồi tệ thêm: nếu có một lỗi trong lần đánh giá đầu tiên thì lỗi này sẽ được nhân lên trong mỗi lần đánh giá mới tiếp theo vì vậy chỉ một lỗi nhỏ sẽ trở nên rất nghiêm trọng. Hiệu quả của mạng là ở chỗ RDBMS có thể gạt bỏ trật tự tối ưu nhất khi phải trả cái giá quá cao do lỗi xảy ra trong quá trình ước lượng chi phí.
5.2 Lược đồ bông tuyết - Snowflake
Lược đồ bông tuyết là một sự mở rộng của sơ đồ hình sao tại đó mỗi cánh sao không phải là một bảng chiều mà là nhiều bảng.
perKey
month
year
quarter
…
Period
SalesMonthly
perKey
prodKey
mktKey
dollars
weight
…
prodKey
product
color
model
size
…
Product
SalesWeekly
perKey
prodKey
mktKey
dollars
weight
…
SalesDaily
perKey
prodKey
mktKey
values
units
…
mktKey
city
state
region
…
Markets
countryKey
…
regionKey
…
Lược đồ bông tuyết
Trong dạng sơ đồ này, mỗi bảng theo chiều của sơ đồ hình sao được chuẩn hóa hơn. Sơ đồ bông tuyết cải thiện năng suất truy vấn, tối thiểu không gian đĩa cần thiết để lưu trữ dữ liệu và cải thiện năng suất nhờ việc chỉ phải kết hợp những bảng có kích thước nhỏ hơn thay vì phải kết hợp những bảng có kích thước lớn lại không chuẩn hóa. Nó cũng làm tăng tính linh hoạt của các ứng dụng bởi sự chuẩn hóa và ít mang bản chất theo chiều hơn. Nó làm tăng số lượng các bảng và làm tăng tính phúc tạp của một vài truy vấn cần có sự tham chiếu tới nhiều bảng.
Một vài công cụ đã che giấu người sử dụng đầu cuối sơ đồ cơ sở dữ liệu vật lí và cho phép họ có thể làm việc ở mức khái niệm. Những công cụ này đã ánh xạ những truy vấn của người sử dụng tới sơ đồ vật lí. Họ cần một bộ quản trị cơ sở dữ liệu để thực hiện công việc này một lần đầu tiên khi công cụ này được cài đặt.
5.3 Lược đồ kết hợp
Là kết hợp giữa sơ đồ hình sao dựa trên bảng Fact và những bảng chiều không chuẩn hóa theo các chuẩn 1, 2, 3 và sơ đồ hình tuyết rơi trong đó tất cả các bảng chiều đều đã được chuẩn hóa. Trong sơ đồ loại này chỉ những bảng chiều lớn là được chuẩn hóa còn những bảng khác chứa một khối lượng lớn các cột dữ liệu chưa được chuẩn hóa.
5.4 Giải pháp cho vấn đề hiệu suất thực hiện của mô hình dữ liệu
Tư tưởng cơ bản của việc tối ưu là chiến lược kết hợp các cặp bảng bằng cách lựa chọn chỉ các bảng có liên quan tới nhau ít nhất. Khi 2 bảng được kết hợp và không có cột nào liên kết 2 bảng đó với nhau sự kết hợp các hàng của 2 bảng được thực hiện.
RDBMS không bao giờ coi tích Đề các như một phép kết hợp tốt, nhưng đối với sơ đồ hình sao những tích đề các này đôi khi cải thiện công suất truy vấn. Bởi vì bảng Fact trong sơ đồ hình sao có kích thước lớn hơn rất nhiều các bảng chiều mà sự kết hợp các cặp bảng được thực hiện đầu tiên với bảng Fact. Sự lựa chọn này là không hợp lí vì như vậy sẽ tạo ra các bảng trung gian rất lớn. Một tích đề các được thực hiện đầu tiên với tất cả các bảng chiều (bằng cách kết hợp các cặp bảng liên tiếp nhau) và sự kết hợp với bảng Fact được lùi lại cuối cùng. Lợi ích quan trọng là bảng Fact không tìm thấy dấu vết của nó trong bất kì một bảng kết quả trung gian nào. Chi phí lớn nhất là tạo ra tích Đề các cho tất cả các bảng chiều. Chi phí này ít tốn kém hơn việc tạo ra các bảng trung gian do kết hợp với bảng Fact.
Sự tối ưu đơn giản không giải quyết được tất cả các vấn đề về năng suất thực hiện. Chiến lược này chỉ dùng được chỉ khi tích đề các của các hàng trong các bảng chiều được chọn ít hơn rất nhiều so với số lượng hàng trong bảng Fact. Như vậy việc kết hợp đề các này chỉ có ích cho những sự kết hợp có kích thước nhỏ. Nhưng DW liên quan tới những bảng có kích thước không nhỏ vì vậy một số nhà cung cấp dùng giải pháp sử dụng phần cứng và các phần mềm song song để giải quyết vấn đề này. Dùng hệ thống song song có thể làm giảm thời gian thực hiện một truy vấn đơn giản hoặc làm thêm một số công việc mà không làm thay đổi thời gian thực hiện công việc. Ngoài ra dùng các CPU gồm nhiều bộ vi xử lí cũng cải tiến được thời gian cho một câu truy vấn từ 500 giây xuống còn 50 giây. Cơ chế song song không tối ưu một cách đầy đủ các xử lí của sơ đồ hình sao. Dưới đây đưa ra một số sáng kiến để tăng công suất thực hiện của Red Brick.
5.4.1 STARjoin và STARindex
Một phương pháp mới để xử lí các truy vấn phức tạp có hiệu quả đối với cơ sở dữ liệu DW là STARjoin: thực hiện kết hợp nhiều bảng một cách song song. RDBMS của RedBrick có thể kết hợp nhiều hơn 2 bảng trong một phép toán đơn, tốc độ nhanh. Thậm chí khi kết hợp 2 bảng, STARjoin cũng không thực hiện các phương pháp kết hợp được cài đặt bởi RDBMS OLTP truyền thống.
Bản chất công nghệ này là sử dụng một bảng chỉ số làm cho các xử lí nhanh hơn được coi là công suất được áp dụng vào tất cả các sản phẩm của RDBMS. Các chỉ số được xác định dựa trên các cột được chọn của một bảng và khả năng lựa chọn của truy vấn bị hạn chế bởi các cột này, RDBMS có thể sử dụng bảng chỉ số này để xác định các hàng cần quan tâm nhanh hơn.
Hệ quản trị cơ sở dữ liệu quan hệ của RedBrick hỗ trợ cách tạo ra chỉ số đặc biệt được gọi là STARindex làm công suất thực hiện tăng hơn rất nhiều. Nó khác với các cấu trúc index truyền thống như B_tree hay Bitmap. Nó được tạo ra trên một hoặc nhiều cột đóng vai trò là khoá ngoại của một bảng Fact. Không giống như các chỉ số truyền thống lưu trữ thông tin để dịch giá trị của một cột thành một danh sách các hàng với giá trị đó, một STARjoin chứa đựng thông tin nén liên kết các chiều của bảng Fact tới các hàng chứa các chiều này. Nó có hiệu quả về không gian vì vậy nó được xây dựng và duy trì rất nhanh.
Nhờ có STARindex mà RDBMS có thể xác định được các hàng đích trong một bảng Fact cần thiết cho một tập các chiều cụ thể một cách nhanh chóng vì STARindex được tạo ra nhờ các khoá ngoại. Mọi kiểu truy vấn đều có thể sử dụng STARindex và kết hợp các bảng có quan hệ với nhau một cách nhanh nhất.
Có một số điểm tương tự và một số điểm khác nhau cơ bản giữa STARindex và việc đánh chỉ số nhiều cột truyền thống. Thứ nhất là đánh chỉ số nhiều cột chỉ tham chiếu tới một bảng đơn, còn STARindex có thể tham chiếu tới nhiều bảng. Thứ hai là với phương pháp đánh chỉ số nhiều cột, nếu một mệnh đề WHERE của một câu truy vấn không bị ràng buộc trên tất cả các cột trong bảng chỉ số ghép thì bảng chỉ số đó không thể được sử dụng đầy đủ trừ khi các cột cụ thể đó là một tập con các cột chính.
Thuật toán STARjoin có thể sử dụng sức mạnh và tính linh hoạt của STARindex để xác định tất cả các hàng được đòi hỏi trong một kết hợp cụ thể một cách hiệu quả. Chẳng hạn, thay vì tạo ra tích Đề các đầy đủ của các bảng chiều, STARjoin có thể dùng STARindex để kết hợp các bảng chiều với bảng Fact mà không tốn chi phí tạo ra tích Đề các.
STARindex cho phép STARjoin xác định nhanh chóng khu vực nào của không gian tích Đề các chứa những hàng cần quan tâm. Thuật toán STARjoin có thể tạo ra tích Đề các của những vùng có các hàng cần thiết và bỏ qua những những vùng không có hàng nào. Xét ví dụ sau để thấy rõ điều đó.
5.4.2. Đánh chỉ số index theo kiểu Bitmap
Một cách khác để tăng công suất thực hiện RDBMS là sử dụng kĩ thuật đánh chỉ số mới cho phép truy nhập nhanh, trực tiếp tới dữ liệu.
Những chỉ số không trỏ tới dữ liệu được lưu trữ ở nơi khác mà tất cả dữ liệu được lưu trữ trong cấu trúc chỉ số này.
Lực lượng dữ liệu: Nói chung, tệp chỉ số bitmap được dùng cho những truy vấn với dữ liệu lực lượng ít. Chẳng hạn, lực lượng của dữ liệu về mã bang là 51 (mã bang có thể nhận 1 trong 50 giá trị), lực lượng của thuộc tính về giới tính là 2 (gồm nam và nữ). Đối với những dữ liệu lực lượng ít, mỗi giá trị phân biệt có chỉ số bitmap của riêng nó bao gồm một bit cho mỗi hàng trong bảng. Có một bảng về người làm thuê gồm 10000 hàng chứa một cột ‘giới tính’ được đánh chỉ số bitmap cho giá trị này. Sự thể hiện của tệp chỉ số bitmap là một vector độ dài 10000 bit, mỗi bit tương ứng với bản ghi thoả mãn điều kiện giá trị của ‘giới tính’=’M’(con trai) thì là 1. Tệp chỉ số bitmap có thể trở nên cồng kềnh và thậm chí không phù hợp đối với dữ liệu có lực lượng lớn khi phạm vi giá trị của dữ liệu là lớn. Chẳng hạn, các giá trị như ‘thu nhập’ hoặc ‘tiền lợi tức’ có thể là một con số có giá trị không xác định.
Một giải pháp dễ thấy là biểu diễn các loại dữ liệu này trong một khoảng giá trị ví dụ như khoảng giá trị từ 10$ tới 50$ và 51$ tới 100$. Nhưng cách này hạn chế khă năng của chỉ số bitmap và thường không hiệu quả hoặc không có nghĩa khi giải quyết những công việc trong thực tế. Một giải pháp khác là sử dụng cấu trúc chỉ số B_tree( cây nhị phân). Tuy nhiên, phương pháp này có thể làm tăng kích thước bởi vì khi khối lượng dữ liệu và số lượng các chỉ số tăng thì chúng đòi hỏi thường xuyên được duy trì khi dữ liệu được thêm vào, được cập nhật hay được xoá đi khỏi cơ sở dữ liệu. Cuối cùng, chỉ số B-tree có thể cải thiện một cách đáng kể công suất truy vấn nếu kiểu câu hỏi truy vấn được biết trước và tệp chỉ số được xây dựng để phản ánh đường dẫn truy nhập đã được biết trước.
Nhưng B-tree có thể không hiệu quả đối với những câu truy vấn đặc biệt điển hình của các ứng dụng DW. SYBASE IQ đã sử dụng công nghệ độc quyền là Bit-Wise để xây dựng tệp chỉ số bitmap cho những dữ liệu có lực lượng lớn hơn 1000 giá trị phân biệt (so với công nghệ truyền thống là dưới 250 giá trị).
Các loại chỉ số: SYBASE IQ với phiên bản đầu tiên cung cấp 5 kĩ thuật đánh chỉ số. Việc lựa chọn phương pháp nào là tuỳ thuộc vào lực lượng của dữ liệu và cách truy nhập vào dữ liệu như thế nào. Hầu hết đều áp dụng 2 chỉ số cho mỗi cột. Môt loại là mặc định được gọi là chỉ số chiếu nhanh (Fast Projection index) và một loại khác là chỉ số lực lượng thấp hoặc cao. Đối với dữ liệu có lực lượng thấp SYBASE IQ cung cấp:
Low-fast index dùng cho những câu truy vấn liên quan tới các chức năng nhiều ngôi như SUM, AVERAGE và COUNTS
Low disk index được dùng cho việc sử dụng không gian đĩa
Tương tự đối với dữ liệu lực lượng lớn, SYBASE IQ cung cấp chỉ số High Group và High Non-Group. Cả hai đều hỗ trợ những truy vấn kết hợp và khôi phục nhưng High Group còn hỗ trợ những truy vấn loại Group By.
5.4.3. Column Local Storage
Một phương pháp khác để cải tiến hiệu suất thực hiện truy vấn trong môi trường DW là của các nhà cung cấp các hệ thống song song. Cách tiếp cận này dựa trên việc lưu trữ dữ liệu đảo cột như kho dữ liệu đảo hàng truyền thống.
Trong môi trường DW, đối với các truy vấn đặc biệt mục tiêu là phải lấy được nhiều giá trị từ nhiều cột khác nhau. Ví dụ, tính giá trị trung bình lương nhân viên trong một công ty thì kho dữ liệu đảo cột của trường lương đòi hỏi một DBMS chỉ đọc một bản ghi.
Vì vậy, nếu DB hỗ trợ kho dữ liệu đảo cột thì giá trị của cột mong muốn từ nhiều hàng có thể được lưu trữ như một bản ghi vật lí đơn trong bộ nhớ và trong đĩa cứng. Lợi ích của kĩ thuật này rất rõ ràng- một thao tác vào/ra có thể lấy được một bản ghi dài bao gồm một tập con các cột. Kết hợp kĩ thuật này với RDBMS song song cải thiện được đáng kể công suất thực hiện.
5.5 Mô hình dữ liệu đa chiều
Một cách để quan sát một mô hình dữ liệu nhiều chiều là nhìn nó như một hình khối. Hình sau thể hiện câu truy vấn theo bốn chiều: sản phẩm, thị trường, thời gian và đơn vị sản phẩm bán được.
Máy tính
Q1
T.Gian
S.Phẩm
1200
1500
1800
2100
T.trường
Q2
Q3
Q4
Sản phẩm
Thị trường
Thời gian
Đơnvị
Q2
Q1
Máy tính
HaNoi
Q1
1200
Máy tính
HaNoi
Q2
1500
Máy tính
HaNoi
Q3
1800
Máy tính
HaNoi
Q4
2100
Máy tính
Nam Định
Q1
1000
Máy tính
Nam Định
Q2
1100
. . .
. . .
. . .
. . .
Máy in
Hai Phòng
Q1
250
máy in
Hai Phòng
Q2
300
Mô hình dữ liệu đa chiều
Bảng nằm bên trái chứa dữ liệu bán hàng chi tiết theo sản phẩm, thị trường và thời gian. Hình khối nằm bên phải mô tả số lượng hàng bán được theo các chiều- theo loại sản phẩm, theo thị trường và theo thời gian-với các biến đơn vị được tổ chức như là các tế bào trong các dãy. Hình khối này có thể được mở rộng bao gồm thêm một dãy khác-theo một chiều khác nữa là giá tiền-liên quan tới tất cả hoặc chỉ một vài chiều (giá tiền của một sản phẩm có thể hoặc không thay đổi theo thời gian hoặc không thay đổi từ thành phố này tới thành phố khác). Khối này được hỗ trợ tính toán ma trận cho phép khối này thể hiện cả dãy số tiền bán được đơn giản bằng cách thực hiện một phép toán ma trận trên tất cả các ô của dãy này.
Thời gian trả lời một truy vấn nhiều chiều phụ thuộc vào số lượng các ô được thêm vào trong quá trình thực hiện. Khi số lượng chiều tăng thì số ô của khối này tăng theo cấp số mũ. Bên cạnh đó, những truy vấn đa chiều đều liên quan tới những dữ liệu ở mức cao và dữ liệu tổng. Vì vậy, giải pháp để xây dựng một cơ sở dữ liệu đa chiều có hiệu quả là phải kết hợp từ trước tất cả các tổng con logic và các tổng theo tất cả các chiều. Sự kết hợp trước này đặc biệt có giá trị khi các chiều mang tính phân cấp.
Một cách để giảm kích thước của khối là quản lí một lượng dữ liệu thưa hơn một cách thích hợp. Một loại dữ liệu thưa khác được tạo ra khi có nhiều ô chứa dữ liệu bị lặp lại. Khả năng của cơ sở dữ liệu đa chiều bỏ qua các ô không có dữ liệu hoặc dữ liệu bị lặp lại có thể giảm được khá nhiều kích thước của khối và số lượng các xử lí.
5.7 ROLL_UP VÀ DRILL_DOWN
Một trong những nguyên tắc nền tảng của cơ sở dữ liệu đa chiều là ý tưởng về tổng hợp dữ liệu. Các nhà quản lý ở các cấp bậc khác nhau yêu cầu các mức tổng hợp dữ liệu khác nhau để ra được những quyết định phù hợp. Muốn vậy, kho chứa phải có khả năng drill_down, cho phép điều chỉnh mức chi tiết, thậm chí đến tận dữ liệu tác nghiệp ban đầu. Roll_up là một kiểu tổng hợp thông dụng nhất.
VI. TẠO LẬP CÁC KHO DỮ LIỆU
Xây dựng kho dữ liệu là quá trình tích hợp dữ liệu từ các nguồn khác nhau vào một kho. Các nhà phân tích nghiệp vụ có thể truy vấn kho dữ liệu và sinh các báo cáo, biểu đồ để trợ giúp quá trình ra quyết định của họ. Một kho dữ liệu có thể chứa CSDL lớn toàn xí nghiệp hoặc có thể kết hợp một số hệ thống nhỏ (DM).
Các nguồn dữ liệu bao gồm các hệ thống dữ liệu ở bên trong, hoặc bên ngoài của một tổ chức hay một xí nghiệp.
Các hệ thống dữ liệu về một tổ chức được coi như các hệ thống dữ liệu bên trong, thường là những hệ thống thông tin có sẵn (Legacy System-LS). Đó là những hệ thống tác nghiệp, hỗ trợ các hoạt động nghiệp vụ như sản xuất, hay kinh doanh. Hệ thống này đã từng được phát triển, sử dụng các công nghệ có sẵn và vẫn phù hợp với các nhu cầu của kinh doanh hiện tại.
Dữ liệu bên ngoài ( External Data): là dữ liệu không nằm trong các hệ thống tác nghiệp của tỏ chức đó, là những dữ liệu do người sử dụng đầu cuối yêu cầu để điền vào bức tranh tổng thể phục vụ các nhu cầu công việc của họ.
6.1 Phân tích các nguồn dữ liệu
Các LS được phát triển xung quanh các vùng nghiệp vụ của cơ quan cầ xây dựng dự án. Các ứng dụng được phát triển với dữ liệu mà các dữ liệu này phù hợp với các nhu cầu khác nhau, với cùng một hệ thống dữ liệu nhưng với tên khác nhau, hoặc với các hệ thống đo lường khác nhau, định nghĩa dữ liệu thậm chí chúng có những yêu cầu về dữ liệu tương tự như nhau. Kết quả cuối cùng là các nguồn dữ liệu cần được đánh giá và các định nghĩa dựa vào Metadata để nhắm tới các vấn đề sau:
-Xác định các nguồn, các cấu trúc file, các platform khác nhau.
-Hiểu được dữ liệu nào có trong các hệ thống nguồn đang tồn tại, các định nghĩa về nghiệp vụ của dữ liệu, và bất kì các luật nghiệp vụ nào cho dữ liệu.
-Phát hiện sự giao nhau về thông tin của các hệ thống khác nhau.
-Quyết định dữ liệu tốt nhất trong các hệ thống, có thể cùng một dữ liệu của nhiều hơn một hệ thống. Mỗi hệ thống cần được đánh giá để quyết định hệ thống nào có dữ liệu rõ ràng và chính xác hơn.
6.2. Thu thập và tạo lập dữ liệu
Một phần quan trọng của việc cài đặt kho dữ liệu là sử dụng những dữ liệu đã được tinh chế từ những hệ thống tác nghiệp và đưa chúng vào một khuôn dạng thích hợp cho các ứng dụng thông tin.
Những công cụ này thực hiện tất cả các công việc chuyển đổi, tóm tắt những thay đổi quan trọng, những thay đổi về cấu trúc và những cô đọng cần thiết cho sự chuyển đổi dữ liệu riêng rẽ thành thông tin có thể được dùng trong những công cụ hỗ trợ quyết định. Các chức năng chính là: Loại bỏ những dữ liệu không mong muốn từ những cơ sở dữ liệu tác nghiệp; Chuyển đổi thành những tên gọi và những định nghĩa dữ liệu chung, tổng quát; Tính toán các tổng và dữ liệu đã được chuyển hóa; Thiết lập những mặc định cho các dữ liệu bị mất; Làm cho những thay đổi về định nghĩa dữ liệu nguồn trở nên thích hợp.
Những công cụ này có thể tiết kiệm được một cách đáng kể thời gian và sức lực. Tuy nhiên nhiều công cụ có sẵn thường chỉ có ích cho việc tinh chế những dữ liệu đơn giản. Do đó việc phát triển những thủ tục tinh chế cho một số lĩnh vực ứng dụng là cần thiết cho việc tinh chế dữ liệu. Các công đoạn thực hiện bao gồm: Trích chọn dữ liệu; Lọc, tinh chế dữ liệu; Thẩm định dữ liệu; Gộp, kết tập dữ liệu; Tải dữ liệu vào kho; Lưu trữ và phát tán, phân phối dữ liệu
Quá trình này thu thập và thiết lập các kho dữ liệu gồm những bước sau:
Source
Load
Archive
Target
Extract
Filter
Validate
Aggregate
Merge
Quá trình tạo lập dữ liệu của DW
a/ Trích chọn dữ liệu (Etract): Trích chọn dữ liệu là một phép xử lí để lấy các dữ liệu đã được xác định trước ra khỏi các hệ thống tác nghiệp và các nguồn dữ liệu bên ngoài.
Có thể trong các hệ thống dữ liệu gốc có một vài vấn đề như: không có đủ thông tin chi tiết về hệ thống. Khi đó, cần phải xoá đi những thông tin không chính xác, hoặc bổ sung cho đủ thông tin và mở rộng hệ thống làm việc để thu nhặt đầy đủ thông tin.
Việc lưu trữ các biến động dữ liệu giúp ích cho quá trình nạp dữ liệu cụ thể có thể chỉ cập nhật phần bổ sung thay vì cập nhật toàn bộ dữ liệu (total refresh).
Bước quan trọng là phải lập kế hoạch và tần suất tiến trình trích chọn dữ liệu. Mục đích của bước này là phải tối thiểu hoá các tác động lên các hệ thống và thi hành các tác vụ này trong một cửa sổ xử lý theo lô (batch window). Đối với các bảng dữ liệu khác nhau thì tần suất trích dữ liệu sẽ khác nhau. Việc trích dữ liệu còn phụ thuộc vào sự ảnh hưởng từ hệ thống nguồn và loại dữ liệu sẽ được trích.
Có các công cụ và các chương trình tiện ích phục vụ cho quá trình trích chọn dữ liệu. Chẳng hạn, các trình tiện ích nạp nhanh để trích lấy dữ liệu, các phương tiện dễ dàng tái tạo lại cơ sở dữ liệu.
Các vấn đề xung quanh việc trích chọn dữ liệu bao gồm cơ cấu thời gian trong đó dữ liệu được trích lấy và hiệu quả của việc trích chọn dữ liệu đó.
Trong bất kì phương thức nào được chọn để trích lấy dữ liệu, Metadata cũng đóng vai trò quan trọng của quá trình xử lí. Metadata mẫu bao gồm các phần: các định nghĩa của hệ thống nguồn, các khuôn dạng vật lí, phương thức và bản liệt kê của sự trích chọn dữ liệu. Có thể dùng các công cụ hoặc tạo tài liệu bằng tay để thu được Metadata .
b/ Lọc (Filter), làm sạch dữ liệu (Cleaning)
Sau khi dữ liệu được trích chọn, nó được tinh chế thông qua các công việc lọc, làm sạch để thu dữ liệu dữ liệu không bị thay đổi và đúng với các dữ liệu nghiệp vụ.
Quá trình trình lọc, làm sạch dữ liệu kiểm tra và sửa chữa các lỗi có thể có của dữ liệu để đảm bảo tính đúng đắn của dữ liệu. Công việc này bao gồm các thao tác dọn dẹp (scrub), thay đổi và tính toán lại dữ liệu. Làm sạch dữ liệu liên quan tới một số hoặc tất cả các tác vụ sau: kiểm tra tất cả các trường đơn lẻ hoặc các trường có liên kết chéo nhau, đưa ra và hợp nhất các bản ghi trùng nhau, thu nhặt sắp xếp lại các bản ghi giống nhau mà bị thiếu các khoá bình thường từ các hệ thống khác nhau.
Có 5 bước để làm sạch dữ liệu: Chỉ ra được tiêu chí dữ liệu như thế nào được gọi là dữ liệu sạch. Chỉ ra được mối quan tâm của người sử dụng để kiểm tra và đánh giá dữ liệu ngay sau lần truy cập dữ liệu đầu tiên. Lập ra bản báo cáo về lỗi của dữ liệu nếu dữ liệu vi phạm tiêu chí trên. Tìm ra chiến lược để sửa các lỗi trên có thể làm bằng tay hoặc tự động. Tìm ra chiến lược lâu dài bằng cách sửa lại hệ thống thực hiện hoặc đưa ngược thông tin đó từ Data Warehouses vào hệ thống thực hiện.
Các phương pháp làm sạch dữ liệu: Sắp xếp và làm sạch dữ liệu. Xác định các vùng và phạm vi. Các thuật toán thông minh. Logic mờ.
Cho dù phương pháp nào được chọn đi nữa thì cũng cần phải lặp đi lặp lại các bước sửa lỗi cho hệ thống thi hành hoặc thực hiện lại quá trình làm sạch khác với một số dữ liệu vừa được làm sạch.
Quá trình làm sạch liên quan đến các tác vụ: Kiểm tra các trường dữ liệu đơn lẻ và kiểm tra các trường có mối liên hệ với trường khác. Chỉ ra và tổng hợp các bản ghi trùng nhau cũng như sắp xếp lại các bản ghi giống hệt nhau bị thiếu khoá từ các hệ thống khác nhau.
c/ Thẩm định (Validate) và chuyển đổi (Transforming) dữ liệu
Tiếp theo, dữ liệu phải được kiểm tra, thẩm định để đảm chất lượng nhằm đáp ứng các yêu cầu phân tích phục vụ trợ giúp quyết định. Các công cụ hỗ trợ để thực hiện những công việc nêu trên dựa vào một tập các thông số đã được xác định trước, và có thể sử dụng logic mờ hoặc triển khai các thuật toán heuristic. Các thuật toán heuristic có tập luật mở rộng và mô phỏng suy diễn của con người để làm cho việc điều tra tiến hành được nhanh hơn.
Trước khi có thể chuyển đổi dữ liệu, nên thiết lập hệ thống đo lường và chuẩn hoá các nghĩa trong nghiệp vụ. Mục đích của việc chuyển đổi và tích hợp là chuyển dữ liệu thành thông tin và làm cho chúng dễ hiểu và dễ sử dụng hơn đối với NSD đầu cuối.
Mô hình dữ liệu đích có thể khác so với mô hình của dữ liệu nguồn. Sự khác nhau này xảy ra khi các yêu cầu của người sử dụng khác so với dạng thức của dữ liệu.
Quá tình này bao gồm các công việc chuyển đổi, thao tác, sắp xếp và chọn lọc dữ liệu.
Mục đích của việc chuyển đổi và tích hợp là phải chuyển dữ liệu thành thông tin có thể hiểu được và sử dụng được đối với người sử dụng. Việc chuyển dữ liệu từ dạng này sang dạng khác có thể gồm 1 trong các chức năng như: Chuyển trực tiếp dữ liệu từ trường này sang trường khác. Xây dựng lại và định dạng lại các trường dữ liệu, có thể là chỉ chuyển một phần hoặc phải gộp cả các trường lại với nhau để tạo một trường mới. Chuyển đổi từ trường chỉ có mã sang trường phải mô tả đầy đủ. Từ nhiều trường nguồn để sinh ra trường đích khác.
Tập hợp và tổng kết lại dựa trên một nhóm hoặc một mối quan hệ giữa các trường dữ liệu.
External
Source
Legacy
Source
Legacy
Source
Data
Warehouse
New C/S Application
Operation
Data Store
Source
Transformation
Transformation
Thu thập và chuyển đồi dữ liệu
d/ Tích hợp (Integrated), ghép (Merge) và gộp (Aggregate) dữ liệu
Khi có nhiều nguồn dữ liệu thì chúng cần thiết phải được tích hợp lại để hợp nhất và tổ chức lại dữ liệu cho phù hợp với kiến trúc và nhu cầu sử dụng. Quá trình tích hợp có thể là sự phối hợp các thao tác sau đây: sắp xếp và hợp nhất, chia cắt, xác định và giải quyết các vi phạm đến tính nguyên vẹn của dữ liệu, sinh ra các khoá tổng hợp (synthetic key).
Tích hợp thông tin từ hệ thống này sang hệ thống khác bao gồm:
-Sắp xếp và hợp nhất khi một bảng dữ liệu đích được tạo nên từ nhiều nguồn dữ liệu. Khi đó dữ liệu phải được sắp xếp lại và loại bỏ đi các bản ghi giống nhau. Sau giai đoạn sắp xếp thì dữ liệu mới được hợp nhất thành một file dữ liệu duy nhất.
-Chia cắt dữ liệu nếu như từ một dữ liệu nguồn cần tạo ra nhiều dữ liệu đích, hoặc một thuộc tính lại nhiều trường chứa dữ liệu cho nó. Trong trường hợp này file hoặc trường đó phải được cắt tới mức thấp nhất.
-Đưa ra và giải quyết các vi phạm về tính nguyên vẹn của dữ liệu. Một giải pháp là lưu trữ dữ liệu như là dữ liệu giả.
-Tạo ra các khoá tổng hợp (nhân tạo) có khả năng tách biệt và bảo vệ khỏi các biến động trong hệ thống nguồn.
e/ Nạp dữ liệu vào kho Việc tải dữ liệu vào kho dữ liệu có thể thực hiện:
-Làm tươi lại dữ liệu (Refresh): không có dữ liệu cũ trong bảng
-Bổ sung (Incremental): tạo thêm các dữ liệu snapshort vào bảng dữ liệu. Tạo hàng mới duy nhất mới bằng cách thêm giá trị thời gian vào khoá.
-Cập nhật trong vùng: giữ nguyên cấu trúc khoá ở trong hàng trừ các hàng đã bị hết thời hạn hoặc chỉ cập nhật cột không phải là khoá
-Đọc trước và tải dữ liệu (Preload & Load). Quá trình đọc trước là việc tổ chức và quản lý các file chuẩn bị sẵn cho các tiện ích của DBMS đích. Quá trình tải dữ liệu liên quan đến vấn đề tích hợp vật lý của các dữ liệu mới hoặc dữ liệu đã bị thay đổi vào DBMS đích, có thể bao gồm các thao tác như cập nhật và đóng gói dữ liệu.
-Sửa chữa và đánh giá (Repair & Evaluate). Trong quá trình làm sạch, chuyển đổi và tích hợp dữ liệu có thể xảy ra lỗi, do vậy trong môi trường chứa dữ liệu nguồn phải có chức năng làm nhiệm vụ sửa lỗi này. Quá trình tiếp theo có thể phải làm bằng tay, khi đó dữ liệu có thể được sửa lỗi trong môi trường nguồn hoặc bằng các thuật toán bảo vệ được gắn sẵn trong chương trình nguồn tuỳ thuộc phương thức phát triển. Chức năng còn lại là phải đánh giá được tính đúng đắn và sự thích hợp của dữ liệu đã được đọc và được sửa lỗi.
f/ Lưu trữ và phát tán dữ liệu (Archive and Distribute)
Dữ liệu được phân bố từ một platform nguồn tới một platform đích khác. Sự phân bố này có thể xảy ra trước, sau hoặc trong khi xảy ra các quá trình làm sạch, biến đổi và tích hợp dữ liệu. Quá trình này có thể bao gồm các thao tác như vận chuyển, chuyển đổi và phân phát dữ liệu.
Việc phân tán phụ thuộc vào kiến trúc của kho dữ liệu. Việc phân tán chỉ cần thiết đối với các kho dữ liệu mà dữ liệu nguồn ở trên một platform và kho dữ liệu, ODS hoặc OLAP chủ lại ở trên một platform khác.
Điểm quan trọng của việc phân tán dữ liệu: Kiểm tra để đảm bảo rằng các file phân tán đã tới được đích. Kiểm tra lại xem dữ liệu của các file đó còn đúng không hay đã bị sai. Kiểm tra nơi file đến xem liệu đã có nhiều hệ thống nguồn tồn tại hay chưa. Thời gian để tạo ra file trên platform. Lập kế hoạch cho sự đụng độ giữa các file trong trường hợp hệ thống bị hỏng.
CHƯƠNG III
CÁC KỸ THUẬT PHÂN TÍCH VÀ KHAI THÁC DỮ LIỆU
VII. TRUY CẬP VÀ KHAI THÁC DỮ LIỆU
7.1 Truy cập và phân tích
Người sử dụng liên hệ với DW thông qua việc sử dụng công cụ đầu cuối. Có năm loại công cụ chính: Các công cụ tạo báo cáo và truy vấn dữ liệu. Các công cụ phát triển ứng dụng. Các công cụ thực hiện hệ thống thông tin (EIS ). Các công cụ xử lí phân tích trực tuyến (OLAP). Các công cụ đào xới dữ liệu
Highly Summarized
Lightly Summarized
Detail Level
Query
SQL
Reports
File Maint.
Dictionary
Comments
History
Application-Based Access
Data Warehouse
Desktop Tool Access
Các công cụ hỗ trợ khai thác kho dữ liệu
a/ Các công cụ lập báo cáo: Các công cụ lập báo cáo được chia ra thành công cụ lập báo cáo (Production) và viết báo cáo (Report writer).
Công cụ lập báo cáo tạo ra những báo cáo tác nghiệp thông thường hoặc hỗ trợ những công việc xử lí theo những khối lớn.
Công cụ viết báo cáo có một giao diện đồ họa và các chức năng biểu đồ đã được xây dựng sẵn. Chúng có thể kéo các nhóm dữ liệu từ rất nhiều nguồn dữ liệu khác nhau và tích hợp chúng lại trong một báo cáo duy nhất.
b/ Công cụ truy vấn quản lí
Những công cụ này khống chế độ phức tạp của ngôn ngữ SQL và của cấu trúc cơ sở dữ liệu và đảm bảo chúng trong suốt với người dùng bằng cách chèn thêm vào một siêu tầng (metalayer) giữa người sử dụng và cơ sở dữ liệu. Metalayer là một phần mềm cung cấp những khung nhìn hướng chủ đề của một cơ sở dữ liệu và hỗ trợ việc tạo ra SQL bằng cách chọn và nhấn chuột.
c/ Công cụ hệ thống thông tin thực hiện
Công cụ hệ thống thông tin thực hiện (Executive Information System - EIS) cho phép xây dựng những ứng dụng trợ giúp quyết định đồ họa và tuỳ biến, đưa ra cho những nhà quản lí và điều hành một khung nhìn công việc ở mức cao và khả năng truy nhập tới những nguồn nằm bên ngoài tổ chức.
Các nhu cầu phân tích của những người sử dụng DW thường vượt quá khả năng của các công cụ tạo báo cáo và công cụ truy vấn. Những công cụ đó sẽ đòi hỏi một tập các truy vấn và những mô hình dữ liệu phức tạp đến mức mà những người thực hiện công việc cảm thấy rất muốn trở thành một chuyên gia về SQL và về mô hình dữ liệu. Tình trạng này làm mất đi tính dễ sử dụng của các công cụ truy vấn và tạo báo cáo. Trong trường hợp này các tổ chức thường phải dựa vào một biện pháp đã được chứng minh là đúng đắn: xây dựng các ứng dụng sử dụng môi trường đồ hoạ được thiết kế theo mô hình Client/Server.
d/ Công cụ là các phần mềm ứng dụng
Là các công cụ dễ sử dụng, là những công cụ chỉ phải chọn và nhấn chuột. Chúng hoặc dùng các câu lệnh SQL hoặc tạo ra các lệnh SQL để truy vấn những dữ liệu quan hệ được lưu trữ trong kho dữ liệu DW. Một số các công cụ và ứng dụng phần mềm đó có thể định dạng cho các dữ liệu đã được biến đổi thành những báo cáo dễ đọc trong khi những công cụ khác thì tập trung vào việc biểu diễn dữ liệu trên màn hình. Người sử dụng thường lựa chọn những công cụ loại này. Nhưng khi sự phức tạp của những câu hỏi tăng lên thì những công cụ này không còn đáp ứng được nhu cầu sử dụng nữa.
7.2 khai phá dữ liệu
Khai phá dữ liệu (Data mining) là kĩ thuật khai thác kho dữ liệu theo chiều sâu. Nó có thể hiểu là quá trình tìm kiếm, khám phá, xem xét dữ liệu dưới nhiều mức độ nhằm tìm ra mối liên hệ giữa các thành phần dữ liệu và phát hiện ra những xu hướng, hình mẫu và những kinh nghiệm quá khứ tiềm ẩn trong kho dữ liệu vì vậy rất phù hợp với mục đích phân tích dữ liệu hỗ trợ cho công việc điều hành và ra quyết định. Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta tìm được những mẫu thông tin chưa biết và bất ngờ trong từ kho dữ liệu lớn, phức hợp.
Để thực hiện khai phá hiệu quả thì phải biểu diễn dữ liệu dưới dạng trực quan (Data Visualization). Khi phân tích dữ liệu người ta không những muốn dữ liệu là những con số mà còn muốn thấy hình ảnh của dữ liệu để phát hiện ra những thông tin mới, những xu hướng phát triển của đối tượng mà dữ liệu mô tả.
7.2.1 Các ứng dụng của khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu có thể ứng dụng vào nhiều tình huống thực hiện ra quyết định đa dạng và trong nhiều phạm vi rộng của các hoạt động nghiệp vụ.
Marketing: phân tích các nhu cầu của khách hàng dựa trên các mẫu dữ liệu mua bán hàng, phân loại khách hàng, phân loại các mặt hàng trong thời gian dài để xác định chiến lược kinh doanh, xây dựng các kế hoạch sản xuất theo các thời kỳ.
Tài chính, ngân hàng, thị trường chứng khoán: phân tích các khả năng vay, trả nợ của khác hàng, đánh tính hiệu quả của các hoạt động kinh doanh tiền tệ của ngân hàng, phân tích thị trường đầu tư chứng khoán, các hợp đồng, công trái.
Sản xuất, chế tạo, công nghệ: thực hiện phân tích dữ liệu về sản xuất, chế tạo để đề xuất tối ưu hoá về tài nguyên, vật liệu trong các qui trình sản xuất mới.
Chăm sóc sức khoẻ cộng đồng: phân tích các kết quả phòng chống và điều trị các loại bệnh, công tác chăm sóc và bảo vệ sức khoẻ của cộng đồng.
Purchasing
Marketing
Order Processing
Bill
Accounts
Receivable
Production Schelduling
Manu-
facturing
Inventory
Management
Shipping
Receiving
Business Reporting
Account
Payroll
Stategic Planning
Recruiting
Training
Payroll
Performance
Appraisal
Benefits
Decision Support
Research
Product
Development
Engineering
Sale
Một số lĩnh vực ứng dụng DW và qui trình khai thác thông tin
Quá trình sử dụng dữ liệu trong kho được mô tả qua những bước như sau:
Xác định mục tiêu,
những vấn đề cần giải quyết
Kiểm tra chất lượng và tính chất dữ liệu
Xây dựng cách truy cập vào kho
Truy nhập và tìm kiếm thông tin
Phân tích và xử lý dữ liệu
Quyết định và thực thi công việc
Các bước thực hiện để sử dụng dữ liệu trong kho
7.2.2 Xử lý phân tích trực tuyến - OLAP
Xử lý phân tích trực tuyến (On-Line Analysis Processing - OLAP) là công cụ phân tích trực tuyến. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ DW hoặc DM sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong một kho dữ liệu đa chiều. Các công cụ OLAP lấy dữ liệu trong kho dữ liệu để thực hiện các công việc phân tích đặc biệt theo nhiều chiều và phức tạp hỗ trợ cho việc ra quyết định. Sơ đồ hình sao được dùng để thiết kế mô hình dữ liệu trong DW hoặc DM là mô hình dữ liệu quan hệ nhưng lại mang những thuộc tính nhiều chiều rất có nhiều thuận lợi cho việc cài đặt OLAP.
OLAP là một chức năng thông minh trong nghiệp vụ, làm cho các thông tin trong xí nghiệp có thể hiểu được. OLAP khiến cho người sử dụng đầu cuối có thể hiểu được bản chất bên trong thông qua việc truy nhập nhanh, tương tác tới các khung nhìn nhiều dạng của thông tin được chuyển đổi từ các dữ liệu thô để phản ánh sự đa dạng nhiều chiều thực tế của công ty.
-Phân tích đa chiều (multi_dimensional analyis): được thực hiện thông qua việc tạo ra các khung nhìn theo nhiều chiều khác nhau cùng một lúc. Các chiều về bản chất là các nguyên tố xuất hiện trong nghiệp vụ. Các chiều có thể là các giá trị của trục x và trục y giống như trong một bảng tính, và cũng có thể cả trục Z.
-Hệ thống thông tin tác nghiệp (Executive Information Systems - EIS). Giao diện của EIS điển hình là một kiểu giao diện theo hướng nhấn nút (push-button). Tất cả các đối tượng trong EIS đều được lập trình từ trước nhằm mục đích đáp ứng các thực thi không truy vấn hoặc thể hiện các truy vấn khó viết. Chúng cung cấp một phương thức nhanh, dễ hiểu để truy nhập vào các thông tin mức cao.
-Phân tích “Điều gì sẽ xảy ra nếu” (What-if): Liên quan tới các suy nghĩ nằm bên ngoài phạm vi khép kín của một tổ chức. Phân tích liên quan tới việc dựng một viễn cảnh không tồn tại trong công ty tại thời điểm hiện nay.
7.3 Quản trị kho dữ liệu
DW có độ lớn gấp khoảng 4 lần một kho dữ liệu tác nghiệp tổng thể (ODS). Nó không được đồng bộ với dữ liệu tác nghiệp liên quan trong thời gian thực nhưng có thể được cập nhật thường xuyên một lần trong một ngày nếu như ứng dụng yêu cầu đến nó.
Hầu hết các sản phẩm của DW bao gồm các cổng để truy nhập tới các nguồn dữ liệu phức tạp của công ty mà không phải viết lại các phần mềm chuyển đổi, dịch và sử dụng dữ liệu. Trong một môi trường DW hỗn tạp, rất nhiều các cơ sở dữ liệu khác nhau nằm trên những hệ thống riêng rẽ vì thế đòi hỏi các công cụ làm việc trao đổi giữa các mạng. Mặc dù không có một công nghệ mạng trong DW, một cài đặt DW có thể dựa trên những phần mềm truyền thông cũng như đối với các hệ thống xử lí các giao dịch hay gửi thông báo khác. Điều đó dẫn đến sự cần thiết phải quản lí các thành phần hạ tầng. Quản lí DW bao gồm:
-Quản lí về an toàn, bảo mật và độ ưu tiên
-Quản lí sự cập nhật từ nhiều nguồn khác nhau
-Kiểm tra chất lượng dữ liệu
-Quản lí và cập nhật Metadata
-Kiểm toán và lập báo cáo về việc sử dụng và trạng thái của DW (quản lí thời gian sử dụng và việc sử dụng các tài nguyên, cung cấp các thông tin về giá tiền phải trả..)
-Làm sạch dữ liệu
-Tái tạo dữ liệu, chia nhỏ dữ liệu thành những tập con và phân tán dữ liệu
-Lưu trữ các bản sao và phục hồi dữ liệu
-Quản lí các kho DW
7.4 Hệ thống phân phối thông tin
Hệ thống này được sử dụng để thực hiện các xử lí dành cho những người đăng kí dùng thông tin trong DW và phân phối chúng tới nhiều địa chỉ khác nhau theo thuật toán phụ thuộc vào lịch của người sử dụng cụ thể. Nói một cách khác, hệ thống này phân phối dữ liệu được lưu trữ trong DW và các đối tượng thông tin khác tới những DW khác và tới các sản phẩm của người sử dụng như các bảng tính hay các cơ sở dữ liệu địa phương. Hệ thống này phụ thuộc vào thời gian theo ngày hay vào thời gian hoàn thiện một sự kiện bên ngoài. Lí do căn bản có hệ thống này là mỗi lần một DW được cài đặt và hoạt động, người sử dụng không phải quan tâm tới nó đang được đặt ở vị trí nào và việc duy trì nó ra sao. Tất cả những gì họ có thể cần là các báo cáo và các khung nhìn dữ liệu được phân tích tại một thời điểm cụ thể trong ngày hoặc sự kiện cụ thể liên quan.
Giải pháp tốt nhất để phân tán dữ liệu là dựa vào nơi dữ liệu sẽ chuyển tới và ở đó bao nhiêu dữ liệu được chuyển. Các phần mềm trung gian được sử dụng để chuyển dữ liệu từ một hệ thống này sang một hệ thống khác nếu chúng có phần cứng khác nhau.
7.5 Công nghệ csdl sử dụng trong khai thác Kho dữ liệu
So sánh giữa CSDL tác nghiệp với DW: có một vài sự khác nhau cơ bản giữa CSDL thiết kế cho nhu cầu tác nghiệp và kho dữ liệu. Sự khác nhau đó được thể hiện ở bảng dưới đây:
Đặc điểm
Thông tin tác nghiệp
Thông tin hỗ trợ quyết định
Chức năng hoạt động
Ghi chép các sự kiện, tính toán theo các công thức
Phục vụ tác nghiệp
Phân tích dữ liệu, khám phá thông tin.
Hỗ trợ điều hành, ra quyết định
Nguồn dữ liệu
Nội bộ
Bên trong lẫn bên ngoài
Phương pháp chỉ số
B_tree
Bitmap
Cập nhật
Thường xuyên với các giao dịch nhỏ
Không sửa đổi dữ liệu
Tần suất thấp, khối lượng lớn
Độ lớn cơ sở dữ liệu
Cỡ GigaByte
Cỡ GigaByte đến TeraByte
Thời gian lưu trữ
Ngắn, chủ yếu theo năm
Mang tính lịch sử, lâu dài
Khai thác
Dự báo được, định kì
Theo các khuôn mẫu
Không xác định
Tính tổng hợp, phân tích cao
Mặc dù CSDL tác nghiệp là nguồn cung cấp dữ liệu cho DW nhưng chúng vẫn còn thiếu những kiến trúc và chức năng cần thiết để phân tích dữ liệu hỗ trợ quyết định một cách dễ dàng và hiệu quả. Dữ liệu trong DW được hình thành từ dữ liệu đã ổn định của CSDL tác nghiệp trong khi đó dữ liệu của CSDL tác nghiệp sẽ được cập nhật mỗi khi có một giao dịch mới.
Một số phương pháp và công cụ phục vụ tốt cho việc tạo ra các hệ thống tác nghiệp nhưng lại không phù hợp với những yêu cầu khác nhau của DW. Hệ thống cơ sở dữ liệu xử lí các giao dịch trực tuyến truyền thống được thiết kế một cách đơn giản không phù hợp với những yêu cầu của phương pháp DW. Những dự án dùng phương pháp DW buộc phải lựa chọn giữa một mô hình dữ liệu và một sơ đồ dữ liệu liên quan trực quan cho việc phân tích nhưng nghèo nàn về thể hiện. Một sơ đồ-mô hình là cách thực hiện tốt hơn nhưng không phù hợp lắm cho việc phân tích. Khi phương pháp DW được tiếp tục phát triển thì những cách tiếp cận mới cho việc thiết kế sơ đồ dữ liệu phù hợp hơn với việc phân tích được hình thành và đó là điều cốt yếu dẫn đến thành công của phương pháp DW. Một sơ đồ được chấp nhận sử dụng rộng rãi cho phương pháp DW là sơ đồ hình sao (sẽ được trình bày dưới đây).
Cách bố trí dữ liệu để truy nhập được tốt nhất
Mô hình dữ liệu thường được sử dụng cho hệ thông tin tác nghiệp là mô hình dữ liệu quan hệ. Mô hình này dựa trên các nguyên lí toán học và logic vị từ nên các hệ thống quản trị cơ sở dữ liệu quan hệ cung cấp những giải pháp mạnh cho một khối lượng phong phú các ứng dụng khoa học và thương mại. Xuất phát từ quan điểm này, một yếu tố quan trọng của vấn đề thiết kế cơ sở dữ liệu là dựa trên phát triển mô hình dữ liệu và sơ đồ cơ sở dữ liệu quan hệ để hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) liên quan đạt được hiệu quả hoạt động lớn nhất.
Yêu cầu điển hình cho RDBMS hỗ trợ cho hệ thống tác nghiệp là trợ giúp có hiệu quả một số lượng lớn những yêu cầu đọc và ghi có thể xảy ra đồng thời. Việc định nghĩa sơ đồ dữ liệu thường tối đa dựa trên sự đồng thời và tối ưu những thao tác xoá, thay đổi, chèn thêm thông qua việc xác định các bảng quan hệ tương ứng với những yêu cầu tác nghiệp và nội dung lưu trữ được tối thiểu nhất cho việc truy nhập tới từng bản ghi riêng.
Một RDBMS cho DW điển hình cần xử lí những truy vấn lớn, phức tạp, đặc biệt và cần nhiều dữ liệu. Không chỉ có sự khác nhau đáng lưu ý về công nghệ trong việc những hệ thống này dùng các tài nguyên tính toán mà bản chất của những công việc được thực hiện đòi hỏi một cách tiếp cận khác tới việc xác định sơ đồ cơ sở dữ liệu.
Như vậy công nghệ cơ sở dữ liệu chính của DW là RDBMS, ta sẽ xem xét việc thiết kế sơ đồ dữ liệu khi gắn liền nó với công nghệ cơ sở dữ liệu quan hệ.
Trong kiến trúc tổng thể của kho dữ liệu, kho dữ liệu tác nghiệp và các chức năng quản lý, xử lý phân tích dữ liệu có thể tổ chức như sau:
Management Platform
ODS
Data Warehouse
Data Extract,
Clearning
Data Load
Information Delivery
System
Metadata
Data Mart
Update
Proc
Các file đính kèm theo tài liệu này:
- Báo cáo đề tài- Kho Dữ Liệu.doc