Mặc dù có thêm dữ liệu mới nhập vào nhưng dữ liệu cũ trongkho vẫn không bị xoá, điều đó cho phép cung cấp thông tin về một khoảng thờigian dài, cung cấp đủ số liệu cần thiết cho các mô h
Trang 1GIỚ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 độngcủa ta muốn đạt hiệu quả cao thì nhất thiết phải có những phương pháp để có đượcnhữ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ụ đã manglạ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ànthiệ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 trongnghiệ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àngngà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ònbiế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ốngthông tin có khả năng hỗ trợ quyết định Tuy nhiên việc xây dựng một hệ thốngnhư 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ũngnhư độ 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âydự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ưutrữ phân tán ở nhiều dạng không tương thích với nhau Nhiều hệ CSDL đã đượcxâ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 tinmớ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ôngtin 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ĩnhvực thông tin phong phú và cần thiết cho hoạt động của chúng ta Tuy nhiên, mộtvấn đề đặt ra là làm thế nào để tổ chức, khai thác được những khối lượng dữ liệukhổ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ẫnnhau giữa các chương trình không rõ ràng hoặc là không xác định được Do sự
Trang 2phứ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ôitrườ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 khochứa dữ liệu
Trang 3CHƯƠ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ậptheo 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 để cungcấ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ềumô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ộtcá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ồnkhá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ươngphá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ấtcá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ênkế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):
Trang 4Dữ liệu trong DW được tổ chức theo nhiều cách khác nhau sao cho phù hợpvớ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ấtcá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 thuthậ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ệuchi 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ủamộ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à sosá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 đượcsử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âudà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ũ trongkho vẫn không bị xoá, điều đó cho phép cung cấp thông tin về một khoảng thờigian 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ổnghợ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
Trang 51.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ưngvớ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 độclậ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áttriển và quản lí
Trang 6c/ 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ốtlõ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àylà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ốngtá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áctrườ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
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ặcgầ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ộtquá 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 chỉ tập trung lưu trữ những dữ liệu thuần nhất và có giá trị hiện thờicòn DW có thể chứa rất nhiều dữ liệu ở nhiều mức độ khác nhau, những dữ liệukhông thuần nhất
Trang 7Sự 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
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ầnvớ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ệntạ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:
Mục đích Một ứng dụng tại mỗi thời
điểm trong môi trường hiệntại hoặc chứa dữ liệu về mộtchủ đề ở từng thời điểm
Một hay nhiều chủ đề ở cùngmột thời điểm
Trang 8Các yêu cầu Biết tường tận Mơ hồ
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ạnhtranh
Truy cập dữ
liệu
Một số nhỏ các dòng dữ liệutìm được trong mỗi là gọi
Tần xuất truy cập lớn vàonhững khối lượng dữ liệuvừ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ênvà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ảicho 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ử đượcduy trì dài hạn để đối sánh,phân tích, v.v
Không yêu cầu dữ liệu phảisẵ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ôngviệ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
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ệphoặc một tổ chức Nó phản ánh những hoạt động của doanh nghiệp và những đốitượ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
Trang 9ra 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 đượccấu trúc theo nhu cầu truy nhập và sử dụng
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êncá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 đã
Trang 10đượ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ụngtrong 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 hayCSDL.
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ờigian 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ềuthuộ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ôngthuần nhất, ví dụ: hình ảnh, âm thanh hay phim Dữ liệu phi cấu trúc có kích thướclớ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 đưavà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ụngcho 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ầnquan 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 dungcủ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ácnguồ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ụngtrong 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ôngtin mô tả về hệ thống thông tin cấp phát Những thông tin thao tác trong kho dữ
Trang 11liệ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ácvù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áocáo, các hình ảnh, video và các audio clip Các trang chủ trên Internet Các thôngtin 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ácthô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áocá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áttriể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ácnghiệ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ácfile, 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ữngmố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ảithiệ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ự truynhậ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áccô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
Trang 12Việ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ềmquả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ểntớ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ộtcách cụ thể dữ liệu được chuyển đổi như thế nào ví dụ là ánh xạ biến đổi hay đượctổ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ệ choviệ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ựatrê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 đượcthiế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ữngtà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àisả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ùngquả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àmtă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 trongcá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ồntạ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ớingườ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
Trang 13DW đượ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ìnhnằ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 chongườ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ôitrường DW Thư mục này giúp tích hợp, duy trì, và xem nội dung của hệ thốngDW
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ếpvà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
Trang 14III 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ấtquá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ụngkhá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 baogồ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ệudẫ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ìnhtí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ệukhá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à chophé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ệudẫ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
Trang 15thậ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ôngtin 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
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:
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
Operational System Informational System
Real-time Data
Derived Data Reconciled Data
Limited write access
Business data
Trang 16gian 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 gianxâ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ủangườ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ốithườ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áchcẩ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ặccá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ệncủ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:
Business data warehouse
Business data warehouse
Trang 17Kiế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ácnghiệp vụ và các dữ liệu được lưu ở hệ thống tệp hay CSDL Hệ thống thao tác baogồ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ý giaotá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 đầucuố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ệucho 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ươngtrình ứng dụng khai thác thông tin BIW được xây dựng hoặc trực tiếp từ BDWhoặ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ệucho 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ếntrú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 NSDnhằ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 tinhà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
Trang 18cá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 truynhậ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ínhquả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ấtlớ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ệunà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ằngnhữ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ưutrữ, 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 trongData 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ácnguồ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ụngcá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ệuchỉ 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:
Trang 19-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 đó
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 truynhập, xử lý thông tin, v.v
Business Info Interface
Business Informational warehouse
Data warehouse management + Data access + Proces management + Data transfer + archive and retrieval + Database management
BDW population
catalog
Trang 20Legacy Systems
Gather Refine Aggregation Store
Data Warehousse
Staging Process
Staging Process
Financial control
Product Management
Credit
management
Customer
relationship
Trang 21Tổ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êucầ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áchoạ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ựchiện bao gồm các bước như sau:
Các bước trong kế hoạc xây dựng DW
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 à 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
Trang 22a/ 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 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
(Top-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 trungvà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ệukhổ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ôngviệ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ómngườ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ácnguồ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 chomọ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 Serverthự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êucầ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
Trang 23thiế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ữngcô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ựngkho 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ượnghiệ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ủamì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ựctuyế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ầnmề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 trongkho Đảm bảo được sự thông suốt trong trao đổi thông tin giữa máy tính, chươngtrì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 để
Trang 24đả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ủaNSD 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áckhá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ợptá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ựcliê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ầnthiế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ôngtin 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ấttruy vấn Ta có thể thực hiện những kỹ thuật sau:
Trang 25-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
-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ơ
Trang 26đồ 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 gianthực hiện Dễ dàng nhận thấy, lược đồ hình sao được thiết kế là để khắc phụcnhữ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ế theolượ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ềubả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ínhnă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ềucủ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 đượctạ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áckhó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 duynhấ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ềucủ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ácbảng chiều không có nhiều hàng và sự tăng trưởng là tĩnh Bảng Fact có thể baogồ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ụngnhư 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ộcvớ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ệnnhữ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ếthợ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ố đơnduy 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ợpcho 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ìnhsao
Trang 27nà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 chonhữ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óachí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 trongtruy 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íchthướ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 domì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ảnghi 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ươngphá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ấtcao 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ềuthườ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ợpphả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ứcnà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ácDBA 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ônghợ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ôngtuyế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ìnhtuyế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ắclỗ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
Trang 28hơ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ậplớ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ộtcá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âutruy 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ảngtạ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ớinhau Đó 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 đượcthự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ôngthể 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ỗisả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ượngcá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ọngnhấ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ếthợ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 truyvấ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ệcthự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ếthợp với Market Chiến lược này có vẻ có lí đối với sơ đồ OLTP truyền thống chứamộ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ênquan 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íchthướ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
Trang 29trung 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ớinhau 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ộtRDBMS được tối ưu cho OLTP, truy vấn được phân tích và kế hoạch được lựachọn dựa trên sự ước lượng độ lớn của bảng kết quả trung gian Những ước lượngnà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ẽ đượcnhâ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ấtnghiê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ấtkhi 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ánhsao không phải là một bảng chiều mà là nhiều bảng
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ẩnhó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ầnthiế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ôngchuẩ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ínhphú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
perKey prodKey mktKey
dollars weight
…
prodKey
product color model size
…
Product SalesWeekl
y
perKey prodKey mktKey
dollars weight
…
SalesDaily
perKey prodKey mktKey
values units
Trang 30Mộ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ệuchư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ằngcá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 đốivớ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 Chiphí 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ựchiệ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ảngchiề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ậyviệ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ấpdù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ựchiệ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 đượcthời gian cho một câu truy vấn từ 500 giây xuống còn 50 giây Cơ chế song songkhô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
Trang 315.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ácphươ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í nhanhhơ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ácchỉ 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ựachọ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ố đặcbiệ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ácvới các cấu trúc index truyền thống như B_tree hay Bitmap Nó được tạo ra trênmộ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 danhsá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ácchiề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 trongmộ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ụngSTARindex 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ủamộ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ậpcon 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ủaSTARindex để xác định tất cả các hàng được đòi hỏi trong một kết hợp cụ thể mộtcá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ủakhô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ữngvùng không có hàng nào Xét ví dụ sau để thấy rõ điều đó
Trang 325.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 đánhchỉ 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ố bitmapcho 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’(contrai) 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ẳnghạ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ảiquyế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ườngxuyê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ấttruy 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ộtloạ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ấpSYBASE 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