KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN
Trang 1Bộ giáo dục và đào tạo
Trờng đại học bách khoa Hà nội
Trang 2Luận văn tốt nghiệp cao
học
ngành: Công nghệ thông tin
Tên đề tàiKhai phá dữ liệu và Phát hiện luật kết hợp trong cơ sở dữ liệu lớn
Ngời hớng dẫn: Tiến sỹ Nguyễn Thanh Thuỷ
Khoa Công nghệ Thông tin, ĐHBKHN
Ngời thực hiện: nguyễn An Nhân
Hà nội - 2001
Trang 3Lời nói đầu
Một tổ chức thơng mại có thể sản sinh ra dữ liệu trong hoạt động kinh doanh mà để ghichép lại có thể phải mất cả đời ngời Tình trạng này càng tăng lên kể từ khi xuất hiệnmạng toàn cầu Internet Mỗi ngày có hàng trăm megabyte, thậm chí nhiều hơn thế dữliệu đợc đa lên Internet Trong tình trạng bội thực về dữ liệu nh vậy, chúng ta phải đốimặt với nghịch lý mới về khai thác dữ liệu: càng nhiều dữ liệu, càng ít thông tin Hiệnnay, cũng nh trong tơng lai, các nhà kinh doanh, nhà khoa học hoặc tổ chức thơng mạikhông thể đủ thời gian và khả năng đọc và diễn giải theo cách cổ điển tất cả các dữ liệusang những thông tin cần thiết Tuy nhiên, yêu cầu về thông tin không vì thế giảm đi,
mà ngày càng trở nên cần thiết hơn bao giờ hết đã buộc chúng ta phải đề ra và thực hiệncác chiến lợc và phơng pháp chọn, lọc và diễn giải dữ liệu thành các thông tin hữu ích
Nh thế, các tổ chức bị ngập chìm trong đống dữ liệu khổng lồ, đặc biệt trong một sốlĩnh vực tài chính, ngân hàng, thị trờng chứng khoán và kinh doanh thơng mại, sẽ có cơhội khai thác dữ liệu hiệu quả để phát triển
Mục đích của luận văn là nghiên cứu, tổng hợp kiến thức về khai phá dữ liệu trongkhung nhìn của quá trình phát hiện tri thức đồng thời, chú ý đến dự báo phân lớp nhờ kỹthuật cây quyết định và đặc biệt đi sâu tìm hiểu nhiệm vụ phát hiện luật kết hợp trongcơ sở dữ liệu lớn
Các thuật toán phát hiện luật kết hợp thờng thực hiện phân tích dữ liệu rất phức tạp, mấtnhiều thời gian trong toàn bộ cơ sở dữ liệu Vì vậy, tìm các thuật toán nhanh và hiệu quả
để xử lý khối lợng dữ liệu lớn là một thách thức lớn đợc đặt ra Luận văn trình bày cácgiải thuật tiên tiến dùng cho phát hiện luật kết hợp trong cơ sở dữ liệu lớn Đó là cácthuật toán Apriori, AprioriTid và phân hoạch Thuật toán phân hoạch có số lần quét cơ
sở dữ liệu ít nhất và khai thác đợc tiềm năng song song của các tài nguyên tính toán.Trong quá trình tìm hiểu các giải thuật phát hiện luật kết hợp, luận văn đã thiết kế, cài
đặt và đánh giá thuật toán Apriori trên một cơ sở dữ liệu giả định gồm hơn 5000 bảnghi
Luận văn cũng tiến hành khảo nghiệm phần mềm ứng dụng thơng mại Oracle DataMining Suite (Darwin) nhìn ở góc độ áp dụng các kỹ thuật khai phá dữ liệu
Luận văn gồm các nội dung chính nh sau:
Chơng 1 giới thiệu chung về lĩnh vực khai phá dữ liệu và mô tả quá trình phát hiện trithức trong cơ sở dữ liệu
Chơng 2 xét đến 10 nhiệm vụ của Khai phá dữ liệu
Chơng 3 trình bày các kỹ thuật khai phá dữ liệu
Chơng 4 trình bày về kho dữ liệu, kiến trúc và các khía cạnh thiết kế kho dữ liệu
Chơng 5 đi sâu hơn về nhiệm vụ phân lớp dựa trên cây quyết định
Chơng 6 giới thiệu các thuật toán hiệu quả phát hiện luật kết hợp trong cơ sở dữ liệulớn
Chơng 7 là một thực nghiệm cho việc phát hiện luật kết hợp trên một cơ sở dữ liệu kinhdoanh mặt hàng sách
Chơng 8 khảo nghiệm sơ bộ về một phần mềm Khai phá dữ liệu thơng mại sử dụng các
kỹ thuật đã đề cập nh cây quyết định, mạng nơron và thuật toán k ngời láng giềng gầnnhất Phần mềm dựa trên nền tảng công nghệ Oracle mà tác giả đã có một thời gian dàinghiên cứu
Trang 4Lời cảm ơn
Trớc hết , tôi xin chân thành cảm ơn Trờng Đại học Bách khoa Hà nội, Trung tâm Đào tạo và Bồi dỡng sau đại học và cơ quan nơi tôi đang công tác đã tạo điều kiện thuận lợi cho tôi trong suốt thời gian học và làm luận văn cao học.
Tôi xin bày tỏ sự biết ơn sâu sắc đến Thầy giáo, Tiến sỹ Nguyễn Thanh Thuỷ, ngời đã tận tình hớng dẫn động viên trong suốt quá trình học và đặc biệt trong thời gian hoàn thành luận văn này.
Tôi xin trân trọng cảm ơn các thầy giáo đã quan tâm, góp ý và nhận xét cho bản luận văn của tôi
Tôi cũng xin gửi lời cám ơn đến các thày, cô giáo đã giảng dạy cho tôi trong suốt thời gian qua.
Nguyễn An Nhân
Trang 5Chơng 1 Mở đầu
1.1 Học máy
Luận văn nghiên cứu về lĩnh vực khai phá dữ liệu, liên quan đến kỹ thuật học của máytính để phát hiện ra các thông tin mới và có ý nghĩa ý tởng về học máy xuất phát từ môphỏng các cơ thể sống, từ các cây cối hay con amip đến cơ thể sống phát triển nhất làcon ngời Cây ‘học’ cách thu nhận ánh sáng tối đa bằng cách hớng các chiếc lá củamình về phía mặt trời, nhằm tự thích nghi với môi trờng sống ở mức cao hơn, con ngờisản sinh ra ngôn ngữ để khai thác các qui luật của thế giới tự nhiên và xã hội Lý thuyết
về sự tiến hoá chỉ ra rằng các loài sống sót đợc sau quá trình tồn tại là những loài tựthích nghi tốt nhất với môi trờng sống Học là một dạng thích nghi và là một đặc tínhtrung tâm của cuộc sống thực tế
Tuy nhiên, một câu hỏi đặt ra liệu các hệ thống máy tính có thể học đợc không và nếuhọc đợc, thì có thể thông minh ở mức nào Có thể xem sẽ không có trí tuệ nhân tạo(Artificial Intellegence - AI) nếu không có học máy (Machine Learning-ML) Nh vậy,vấn đề khó khăn là làm thế nào để tạo ra các chơng trình máy tính thông minh theo kiểucủa con ngời Ngời ta tin rằng ít nhất phải mất 100 năm nữa cho đến lúc tạo ra một ch-
ơng trình máy tính có thể chuyện phiếm về tin tức của một tờ nhật báo Qua nhiều thăngtrầm theo thời gian, nhiều kết quả nghiên cứu và thử nghiệm trong lĩnh vực trí tuệ nhântạo đã không đem lại kết quả nhiều do kỹ thuật về perceptron, mạng nơron nhân tạo đầutiên chỉ có thể học đợc những luật đơn giản Khoảng 20 năm trở lại đây, ngời ta đã tìm
ra nhiều phát hiện mới Đó là các thuật toán tạo ra cây quyết định cho phân lớp các đốitợng, các kiến trúc mạng nơron mới và các cách tiếp cận khác nh các thuật toán ditruyền dựa trên lý thuyết tiến hoá Bên cạnh sự ra đời của những máy tính thế hệ mớimạnh, việc xây dựng các hệ thống thông minh hớng đến giải quyết các vấn đề thực tế
đặt ra Tuy nhiên, trí tuệ nhân tạo vẫn còn một khoảng cách xa so với trí tuệ con ngời.Một vấn đề khác lôi cuốn sự quan tâm nghiên cứu về học máy là lĩnh vực hệ chuyêngia Từ lâu, ngời ta đã phát hiện ra rằng kiến thức chuyên gia trong một số lĩnh vựcchuyên môn giống nh chẩn đoán bệnh, phân loại các mẫu bản đồ, có thể biểu diễn dớidạng các luật đơn giản “nếu-thì” nhằm tạo ra các chuyên gia “nhân tạo” có thể đa ra cáclời khuyên trên những vấn đề chuyên môn nh chính sách bảo hiểm hay các luật thuế.Việc cần làm là xây dựng một tập luật đợc các chuyên gia sử dụng và lu chúng trong cơ
sở tri thức của hệ chuyên gia Tuy nhiên, vấn đề lớn là tìm ra các luật đúng Tuy nhiên,ngay cả đối với các hệ thống đơn giản, không phải dễ dàng có đợc hàng nghìn luật Việcthu thập tri thức để đa vào hệ chuyên gia gắn với quá trình phỏng vấn các chuyên giatrong lĩnh vực liên quan Công việc này rất khó nhọc và tốn kém Vì vậy, ngời xây dựngcác hệ thông minh luôn đối mặt với vấn đề tìm ra cách có đợc tri thức chuyên gia để đavào hệ thống Có thể sử dụng các thuật toán học máy để giải quyết vấn đề này Cácthuật toán học máy có thể sản sinh ra các luật thay vì mất nhiều thời gian làm việc vớicác chuyên gia con ngời Thậm chí, có thể tạo ra các hệ chuyên gia có khả năng học từcác thất bại của chính hệ thống
Với các nhận xét nh trên, vấn đề học máy trở thành vấn đề cần sự phát triển nghiên cứu
Trang 61.2 Phát hiện tri thức và Khai phá dữ liệu
Tuy nhiên, một xu hớng khác trong nghiên cứu học máy ngoài ứng dụng trong các hệchuyên gia xuất phát từ sự bùng nổ thông tin trong xã hội hiện đại Hầu hết các tổ chức
đều hình thành các kho dữ liệu lớn có khả năng truy cập đợc Nhng trên thực tế rất khó
có thể tìm ra các thông tin mong muốn và hữu ích, giống nh việc tìm một cái kim trong
đống sắt vụn càng ngày càng lớn dần Công việc một hệ máy tính tự động tìm đợc các
“mẩu kim cơng thông tin” trong số hàng tấn mảnh vụn dữ liệu lu trong cơ sở dữ liệu(CSDL) dẫn đến một lĩnh vực nghiên cứu mới Đó là khai phá dữ liệu (Data Mining) vàphát hiện tri thức trong CSDL (Knowledge Discovery in Databases) Về mặt ngữ nghiã,hai thuật ngữ này có ý nghĩa phân biệt đôi chút Phát hiện tri thức trong CSDL chỉ toàn
bộ quá trình kết xuất tri thức từ dữ liệu Theo ngữ cảnh này, tri thức có nghĩa là mốiquan hệ và các mẫu giữa các phần tử dữ liệu Khai phá dữ liệu đợc dùng để mô tả giai
đoạn phát hiện của quá trình phát hiện tri thức trong CSDL Việc phát hiện tri thức trongCSDL không chỉ là một kỹ thuật mà còn là lĩnh vực nghiên cứu đa chủ đề: Học máy,Thống kê, công nghệ CSDL, Kho dữ liệu và Hệ chuyên gia
1.3 Khai phá dữ liệu và các công cụ SQL
Các CSDL lớn của các tổ chức có thể ví nh các mỏ dữ liệu bao gồm nhiều gigabytes dữliệu với các thông tin tiềm ẩn bên trong không thể dễ dàng tìm ra đợc bằng công cụ SQLhoặc các công cụ truy vấn khác Các thuật toán và công cụ khai phá dữ liệu có thể chianhóm “tối u” hoặc các luật nào đó từ các dữ liệu trong CSDL, trong khi SQL chỉ là công
cụ truy vấn, giúp tìm ra các dữ liệu dới các ràng buộc đã biết Các thuật toán và công cụkhai phá dữ liệu có thể quan tâm đến toàn bộ hoặc một phần CSDL, có thể sử dụng lặp
đi lặp lại các câu truy vấn SQL và lu kết quả trung gian trong quá trình phát hiện trithức
Tuy nhiên, các công cụ khai phá dữ liệu và công cụ SQL có những bổ trợ lẫn nhau.Công cụ khai phá dữ liệu không thể thay thế công cụ truy vấn, nhng làm tăng khả năngkhai thác dữ liệu của ngời dùng Sau đây là một ví dụ đơn giản minh hoạ việc sử dụngkết hợp các công cụ truy vấn truyền thống và công cụ khai phá dữ liệu Giả sử một tổchức có một kho dữ liệu hàng triệu bản ghi về việc mua sắm của khách hàng trong mờinăm gần đây Có vô vàn các câu truy vấn thông thờng hay sử dụng từ kho dữ liệu này,chẳng hạn ”Ai là ngời đã mua sản phẩm A vào ngày x?”, “Doanh số của vùng M trongtháng 7 là bao nhiêu?” và vv Tuy nhiên, có những tri thức tiềm ẩn trong dữ liệu, màdùng SQL thì khó có thể phát hiện ra Ví dụ, các câu hỏi sau “Tìm các phân đoạn tối ucủa các khách hàng hay chia nhóm các khách hàng dựa trên tiêu chí nào đó”, hoặc “Xuhớng quan trọng nhất của hành vi mua sắm của khách hàng là gì?” Tất nhiên, nhữngcâu hỏi này có thể dùng SQL để trả lời bằng cách đa ra tiêu chuẩn phân loại kháchhàng bằng kinh nghiệm và truy vấn CSDL để xem nh thế có đúng hay không Trong quátrình thử và sai, con ngời có thể có cảm giác thuộc tính nào là phân hoạch quan trọngnhất các khách hàng Tuy nhiên, cách làm nh vậy sẽ không ổn, khi tìm phân đoạn tối ucho một tập CSDL lớn, trong khi một thuật toán học máy giống nh mạng nơron hoặcmột thuật toán di truyền có thể tìm trả lời trong một thời gian ngắn hơn nhiều, thậm chíchỉ một vài phút đến một vài giờ Khi các công cụ khai phá dữ liệu đã tìm đợc một phân
đoạn, lúc đó môi trờng truy vấn sẽ đợc sử dụng để hỏi đáp và phân tích các hồ sơ kháchhàng đợc tìm thấy
Trang 7Có thể nói một cách tổng quát, khi muốn biết những gì một cách chính xác thì hãy sửdụng SQL, khi muốn biết những gì một cách mờ và ẩn thì hãy tìm đến công cụ khai phádữ liệu Ngời ta cũng thấy rằng các truy vấn theo kiểu mờ rất nhiều và phong phú, điềunày tạo nên mối quan tâm lớn tới lĩnh vực khai phá dữ liệu.
Rõ ràng là việc phát hiện tri thức trong CSDL không phải là một hoạt động riêng Công
cụ phát hiện tri thức trong CSDL chỉ đợc thực thi tốt dựa trên một nền tảng tổ chức dữliệu tốt Dữ liệu có nhiễu, dữ liệu không đầy đủ, dữ liệu hợp pháp và riêng t cộng với sựphức tạp của mô hình dữ liệu là những cản trở cần đợc giải quyết trớc Nền tảng dữ liệutốt nhất cho phát hiện tri thức trong CSDL chỉ có thể là một Kho dữ liệu (Datawarehouse), trong đó dữ liệu đã đợc chọn, kết xuất, lọc, làm sạch và tổ chức lại sao cho
đáp ứng đợc tốt nhất yêu cầu truy vấn nghiệp vụ
1.4 Quá trình phát hiện tri thức
Trong mục này, chúng ta khảo sát quá trình, phân tích các giai đoạn phát hiện tri thức
Về nguyên lý, quá trình phát hiện tri thức bao gồm 6 giai đoạn sau:
Kết xuất báo cáo
Khai phá dữ liệu chỉ là một giai đoạn của quá trình phát hiện tri thức trong CSDL Mặc dù có 6 giai đoạn, nhng quá trình xây dựng và hoàn chỉnh việc phát hiện tri thức không chỉ qua 6 bớc mà theo chu trình liên tục kiểu xoáy trôn ốc, trong đó các giai đoạn đợc lặp đi lặp lại, lần sau hoàn chỉnh hơn lần trớc và theo kiểu thác nớc, trong đó giai đoạn sau dựa trên các kết quả đã đạt đợc của giai
đoạn trớc Đây là quá trình phát triển biện chứng mang tính triết học của lĩnh vực phát hiện tri thức và là phơng pháp luận trong việc xây dựng các hệ thống phát hiện tri thức Một lu ý nữa là 6 giai đoạn này có thể có các phần công việc liên quan chặt chẽ đến các quá trình xây dựng một Kho dữ liệu (Data Warehouse) Chúng ta sẽ thấy rõ hơn khi khảo sát về Kho dữ đợc đề cập ở chơng 4 Có thể có cùng một việc cần làm nhng đợc nhìn ở góc độ của Kho dữ liệu hay góc độ phát hiện tri thức trong CSDL.
Chọn lọc dữ liệu
Đây là bớc chọn lọc dữ liệu liên quan trong các nguồn dữ liệu Chẳng hạn, trong CSDL
về bán hàng, ta chọn ra các dữ liệu về các khách hàng, đặt hàng và hoá đơn Cụ thể hơn,dữ liệu chọn ra chính là các bản ghi bao gồm số hiệu khách hàng, tên, địa chỉ, ngàymua, số lợng và loại hàng
Làm sạch
Thông thờng, quá trình chọn lọc và làm sạch dữ liệu kết hợp chặt chẽ với nhau và có thểrất phức tạp nếu dữ liệu đầu vào đợc lấy từ nhiều nguồn không đồng nhất và phải tính
đến việc phải biến đổi và di chuyển dữ liệu về một kho dữ liệu riêng dùng cho khai phá
Có thể có một vài kiểu làm sạch dữ liệu Do dữ liệu đầu vào từ nhiều nguồn và có thểkhông nhất quán nên cần phải điều hoà (reconcile) các dữ liệu, bao gồm khử các trờnghợp lặp dữ liệu, thống nhất cách ký hiệu Một khách hàng có thể có nhiều bản ghi do
Trang 8việc viết sai tên, thay đổi địa chỉ và gây ra sự lầm tởng là có nhiều khách hàng khácnhau Thậm chí, có khách hàng cố ý phát âm hoặc viết sai tên hoặc đa thông tin sai liênquan đến việc họ bị từ chối một vài hình thức khuyến mại hay bảo hiểm
Quá trình làm sạch có thể áp dụng ngay chính kỹ thuật phát hiện sai lệch của khai phádữ liệu để tìm ra các bất thờng trong kho dữ liệu của mình Tuy nhiên, đây chỉ là mộtgợi ý vì mục đích chính của làm sạch là tạo dữ liệu tốt cho khai phá dữ liệu và khai phádữ liệu nhằm mục đích hỗ trợ cho các quyết định nghiệp vụ
Một kiểu nhiễu dữ liệu khác cần làm sạch là sự không nhất quán về miền, ví dụ ngày11/11/11 không nằm trong phạm vi thời gian do ngời đa dữ liệu vào vô tình đánh sai.Các kiểu đánh ký hiệu không nhất quán cũng cần đợc chỉnh lại, ví dụ giới tính có bảnghi ký hiệu là 0/1, có bản ghi là nam/nữ
Đòi hỏi
thông tin
Oracle Media Server
Oracle Media Server
Quyết định hành động
Dữ liệu
điều hành Dữ liệungoài
Phản hồi
Lựa chọn dữ liệu Làm sạchLọc và Làmgiàu
Khai phá dữ liệu:
-Nhóm cụm -Luật kết hợp -Dự báo
Phân tích Báo cáo Di
Một vấn đề thờng xảy ra khi thu thập dữ liệu từ nhiều nguồn khác nhau là sự không đầy
đủ của dữ liệu Chẳng hạn, dữ liệu về khách hàng lấy từ một nguồn bên ngoài không cóhoặc có không đầy đủ thông tin về thu nhập Nếu thông tin về thu nhập là quan trọngtrong việc khai phá dữ liệu để phân tích hành vi khách hàng, rõ ràng là ta không chấpnhận đa dữ liệu thiếu vào đợc
Trang 9Các dữ liệu ở các khuôn dạng khác nhau cũng cần đợc qui đổi và tính toán lại để đa vềmột kiểu thống nhất tiện cho quá trình phân tích, chẳng hạn qui đổi đơn vị tiền tệ, tuổihay ngày sinh, địa chỉ chi tiết hay chia theo vùng, vv
Dữ liệu thay đổi theo thời gian và đa yếu tố thời gian vào dữ liệu cũng là một vấn đề lớncần đợc giải quyết và đựợc xem xét trong phần xây dựng Kho dữ liệu ở chơng 4
Một lu ý là tất cả công việc chuẩn bị dữ liệu này cần phải dựa trên yêu cầu khai phá vàphân tích nghiệp vụ và tổ chức sao cho việc khai thác thuận lợi nhất
Mã hoá
Các thiết kế để chọn lọc, làm sạch và làm giàu dữ liệu sẽ đợc mã hoá dới dạng các thủtục, chơng trình hay tiện ích nhằm tự động hoá việc kết xuất, biến đổi và di chuyển dữliệu nhằm mục đích khai phá Các chơng trình có thể thực hiện các công việc theo định
kỳ để làm tơi dữ liệu cho phân tích
Khai phá dữ liệu
Bớc khai phá dữ liệu bắt đầu sau khi hệ thống dữ liệu đã đợc xây dựng và chuyển đổi.Các bớc trớc là công việc của ngời thiết kế và lập trình Bắt đầu từ bớc này là công việccủa các nhà phân tích và ra quyết định Chi tiết về các kỹ thuật khai phá dữ liệu đ ợctrình bày ở chơng 3
Kết xuất báo cáo
Các kết quả khai phá dữ liệu cùng với các kết quả từ các công cụ phân tích khác có thể
đợc tổng hợp dới dạng các báo cáo phục vụ cho các mục đích hỗ trợ quyết định khácnhau
Quá trình phát hiện tri thức có thể đợc tiến hành theo các bớc đã kể trên và có thể đợccải tiến nâng cấp và mở rộng trong quá trình khai thác
Trang 10Chơng 2 Các nhiệm vụ Khai phá dữ liệu
Do sự phát triển mạnh mẽ của các loại hệ thống phát hiện tri thức trong CSDL (KDD)theo yêu cầu nhằm đáp ứng những đòi hỏi trong nhiều lĩnh vực ứng dụng khác nhau,việc phát hiện tri thức cũng trở nên đa dạng hơn Do vậy, nhiệm vụ của phát hiện trithức trong CSDL cũng trở nên phong phú và có thể phát hiện rất nhiều kiểu tri thức khácnhau Một trong các bớc đầu tiên trong quá trình phát hiện tri thức trong CSDL là quyết
định xem loại kiến thức nào mà thuật toán phát hiện tri thức trong CSDL cần phải kếtxuất từ dữ liệu Điều này phụ thuộc vào yêu cầu của lĩnh vực ứng dụng và lợi ích củangời dùng Do vậy, việc phân loại và so sánh sự giống nhau, khác nhau giữa các kiểunhiệm vụ phát hiện tri thức trong CSDL là vấn đề đáng quan tâm nhằm tạo ra một hệthống phát hiện tri thức trong CSDL hiệu ích
Trong chơng này, chúng ta mô tả mời kiểu nhiệm vụ phát hiện tri thức trong CSDLchính và đa ra một vài so sánh giữa chúng
2.1 Phát hiện các luật tối u truy vấn ngữ nghĩa (Semantic Query Optimization
- SQO Rules)
Các luật tối u truy vấn CSDL thông thờng thực hiện một phép biến đổi cú pháp, hay sắpxếp lại thứ tự của các phép toán quan hệ trong một truy vấn và sản sinh ra một truy vấnhiệu quả hơn Các phép biến đổi này thờng dựa trên lý thuyết đại số quan hệ Các luật
đợc biến đổi trả lại cùng một câu trả lời nh câu truy vấn ban đầu ở bất kỳ trạng thái nàocủa CSDL Ngợc lại, luật tối u truy vấn ngữ nghĩa biến đổi các câu truy vấn ban đầuthành một truy vấn mới bằng cách thêm vào hoặc xoá đi các mối liên kết, bằng việc sửdụng tri thức CSDL ngữ nghĩa bao gồm các ràng buộc về tính toàn vẹn và sự phụ thuộchàm để sản sinh ra câu truy vấn hiệu quả hơn Nh vậy câu truy vấn đã biến đổi cũng trảlại cùng câu trả lời giống nh câu truy vấn ban đầu trong bất kỳ trạng thái nào của CSDLthoả mãn kiến thức về ngữ nghĩa đợc sử dụng trong phép biến đổi
Các hệ thống phát hiện luật SQO có thể đợc chia thành 3 lớp:
Các hệ thống hớng truy vấn (hệ thống báo cáo) trong đó thuật toán phát hiện trithức trong CSDL nhằm phục vụ các truy vấn CSDL thực của ngời dùng;
Các hệ thống hớng dữ liệu (hệ thống tác nghiệp) trong đó thuật toán phát hiện trithức trong CSDL chủ yếu phục vụ sự phân bố dữ liệu trong trạng thái hiện thờicủa CSDL;
Các hệ thống lai kết hợp các đặc tính của cả hệ thống hớng truy vấn và hớng dữliệu
Một đặc tính quan trọng của các luật SQO, khác với các kiểu phát hiện tri thức khác, làviệc chọn các thuộc tính để tổng hợp một SQO cần phải tính toán đến chi phí liên quan
nh dùng phơng pháp truy cập nào và sơ đồ chỉ số trong HQT CSDL Việc này là cầnthiết để tiết kiệm thời gian xử lý truy vấn Một thuật toán phát hiện tri thức trong CSDLloại này đòi hỏi phải xem xét tối u chi phí
Trang 112.2 Phát hiện sự phụ thuộc CSDL (Database Dependencies)
Trong mô hình dữ liệu quan hệ, chúng ta đã nghiên cứu quan hệ trong CSDL không tính
đến quan hệ giữa các thuộc tính Các quan hệ này thờng đợc thể hiện thông qua sự phụthuộc dữ liệu hoặc ràng buộc tính toàn vẹn ở đây sẽ sử dụng thuật ngữ phụ thuộc CSDL
để chỉ sự phụ thuộc dữ liệu kiểu này Sự phụ thuộc CSDL đợc sử dụng trong thiết kế vàduy trì một CSDL Phơng pháp phát hiện tự động các sự phụ thuộc CSDL này chính làmột kiểu nhiệm vụ của Khai phá dữ liệu
2.3 Phát hiện sự sai lệch (Deviation)
Nhiệm vụ này nhằm phát hiện sự sai lệch đáng kể giữa nội dung của tập con dữ liệuthực và nội dung mong đợi Hai mô hình sai lệch hay dùng là sai lệch theo thời gian vàsai lệch nhóm Sai lệch theo thời gian là sự thay đổi có ý nghiã của dữ liệu theo thờigian Sai lệch theo nhóm là sự khác nhau không chờ đợi giữa dữ liệu trong hai tập condữ liệu, ở đây tính đến cả trờng hợp tập con này thuộc trong tập con kia, nghĩa là xác
định dữ liệu trong một nhóm con của đối tợng có khác đáng kể so với toàn bộ đối tợngkhông Theo cách này, các sai sót dữ liệu hay sự sai lệch so với giá trị thông thờng đợcphát hiện
2.4 Phát hiện luật kết hợp (Association Rules)
Ta xét một tập các thuộc tính nhị phân gọi là giỏ (tuple) Các thuộc tính nhị phân gọi làmục (item) Mỗi một giỏ tơng ứng với một giao dịch của khách hàng, trong đó các mục
có giá trị đúng hoặc sai phụ thuộc vào khách hàng tơng ứng có mua mục đó trong giaodịch hay không Loại dữ liệu này thờng dợc gọi là dữ liệu giỏ và thờng đợc thu thậpthông qua công nghệ mã vạch trong các hoạt động kinh doanh siêu thị
Một luật kết hợp là một quan hệ có dạng X=>Y, X và Y là tập các khoản và X giao Ybằng rỗng Mỗi luật kết hợp đợc đặc trng bởi một giá trị gọi là support (Sup) và giá trịconfidence (Conf) Sup đợc xác định nh tỷ lệ số giỏ thoả mãn cả X và Y trên toàn bộ sốgiỏ, tức là Sup = |X U Y|/N, trong đó N là tổng số giỏ và |A| ký hiệu là số giỏ bao gồmtất cả các mục trong tập A Conf đợc xác định nh tỷ lệ số giỏ thoả mãn cả X và Y trêntoàn bộ số giỏ chỉ thoả mãn X, tức là Conf = |X U Y|/|X|
Hơn nữa, việc phát hiện luật kết hợp có thể đợc mở rộng cho cả trờng hợp thuộc tính làrời rạc, thậm chí liên tục Chẳng hạn, các tác giả Srikant và Agrawal đa ra cách giảiquyết bài toán về CSDL khách hàng nhng mỗi mục đợc phân loại theo các mức độ khácnhau
2.5 Mô hình hoá sự phụ thuộc (Dependence Modeling)
Nhiệm vụ này liên quan đến việc phát hiện sự phục thuộc trong số các thuộc tính.Những phụ thuộc này thờng đợc biểu thị dới dạng theo luật “nếu-thì”: “nếu (tiền đề là
đúng) thì (kết luận là đúng)” Về nguyên tắc, cả tiền đề và kết luận của luật đều có thể
là sự kết hợp lôgic của các giá trị thuộc tính Trên thực tế, tiền đề thờng là nhóm các giátrị thuộc tính và kết luận chỉ là một giá trị thuộc tính Lu ý là những luật này không phảihoàn toàn giống với sự phụ thuộc CSDL đợc nêu ở phần 2.2 Hơn nữa, hệ thống có thể
Trang 12phát hiện các luật với nhiều thuộc tính trong phần kết luận của luật Điều này khác vớiluật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do ngời dùng chỉ
ra trong kết luận
Quan hệ phụ thuộc cũng có thể biểu diễn dới dạng mạng tin cậy Bayes Đó là một đồ thị
có hớng, không chu trình Các nút biểu diễn thuộc tính và trọng số của liên kết giữa hainút biểu diễn độ mạnh của sự phụ thuộc giữa các nút đó
2.6 Mô hình hoá nhân quả (Causation Modeling)
Nhiệm vụ này liên quan đến việc phát hiện mối quan hệ nhân quả trong các thuộc tính.Các luật nhân quả cũng là các luật “nếu-thì” giống với luật phụ thuộc, nhng luật nhânquả mạnh hơn luật phụ thuộc Luật phụ thuộc đơn giản chỉ ra một mối tơng hỗ giữa tiền
đề và kết luận của luật, nhng không có ý nghĩa nhân quả trong quan hệ này Do vậy, cảtiền đề và kết luận có thể quan hệ do ảnh hởng của một biến thứ ba, tức là một thuộctính hoặc có mặt ở trong tiền đề hoặc trong kết luận Luật nhân quả không chỉ chỉ ramối tơng quan giữa tiền đề và kết luận mà còn cho biết rằng tiền đề thực sự gây ra kếtluận và mối quan hệ giữa hai thành phần này là trực tiếp Tập các mối quan hệ nhân quả
có thể đợc biểu diễn bởi đồ thị nhân quả
Thuật toán phát hiện luật nhân quả CAUDISCO áp dụng các phép kiểm tra sự độc lậpthống kê của từng cặp thuộc tính Sau đó đối với các thuộc tính phụ thuộc lẫn nhau,thuật toán xác định mối quan hệ có là xác thực, tiềm năng hay chỉ là một liên kết giả tạohay không phụ thuộc vào tập các điều kiện thoả mãn bởi quan hệ nhân quả
Các quan hệ nhân quả cần phụ thuộc thời gian theo một nghĩa là nguyên nhân đi trớckết luận Nguyên nhân và kết luận đều có ít nhất một sự kiện thời gian đi kèm và thờigian của kết luận phải đi sau thời gian của nguyên nhân Mặc dù yếu tố thời gian làm rõ
ý nghĩa nhân quả, nhng hệ thống thờng khó phân biệt các liên kết giả tạo
2.7 Phân cụm (Clustering)
Trong nhiệm vụ này, hệ thống phát hiện tri thức phải tự phát hiện các lớp, sinh ra một sơ
đồ phân lớp tập các dữ liệu giỏ Một hình dung thô thiển là các giỏ có cùng giá trị thuộctính tơng tự nhau đợc phân vào cùng một lớp Tuy nhiên, chất lợng của việc phân cụm làmột vấn đề khó có thể xác định đợc Đây là cách xác định theo kiểu nhiều-nhiều bởi vìbất kỳ thuộc tính nào cũng có thể đợc sử dụng để xác định các cụm và để dự báo các giátrị của các thuộc tính khác Điều này trái nguợc với cách xác định nhiều-một liên quan
đến nhiệm vụ phân lớp (một thuộc tính đợc xem nh lớp và tất cả các thuộc tính khác đềudùng để phán đoán giá trị cho thuộc tính lớp) Khi các lớp đợc tìm ra, thuật toán phânlớp hoặc một thuật toán tổng hợp cho các lớp có thể đợc áp dụng để tìm ra biệt số hoặcmô tả đặc trng của các lớp này
2.8 Phân lớp (Classification)
Trong nhiệm vụ phân lớp, mỗi giỏ thuộc về một lớp nào đó đã đợc xác định trớc Lớpcủa một giỏ đợc chỉ ra bởi giá trị của một thuộc tính lớp do ngời dùng xác định trớc.Các giỏ bao gồm một tập các thuộc tính dự báo và một thuộc tính phân lớp cụ thể.Chẳng hạn, một giỏ biểu diễn một bản ghi nhân viên trong đó các thuộc tính dự báo là
Trang 13tuổi, giới tính, trình độ học vấn, của nhân viên và thuộc tính phân lớp là trình độ lãnh
đạo của nhân viên Mục tiêu của thuật toán phân lớp là tìm mối quan hệ nào đó giữa cácthuộc tính dự báo và thuộc tính phân lớp Nh thế quá trình phân lớp có thể sử dụng mốiquan hệ này để dự báo lớp cho các giỏ mới Trong trờng hợp các kiến thức đợc phát hiệnbiểu diễn dới dạng các luật, các luật đợc phát hiện có thể biẻu diễn theo cách sau: “nếucác thuộc tính dự báo của một giỏ thoả mãn các điều kiện các tiền đề, thì giỏ có lớp chỉ
ra trong kết luận”
2.9 Hồi qui (Regression)
Về khái niệm, nhiệm vụ hồi qui tơng tự nh phân lớp Điểm khác nhau chính là ở chỗthuộc tính để dự báo là liên tục chứ không phải rời rạc Việc dự báo các giá trị số thờng
đợc làm bởi các phơng pháp thống kê cổ điển, chẳng hạn nh hồi qui tuyến tính Tuynhiên, các phơng pháp mô hình hoá cũng đợc sử dụng chẳng hạn cây quyết định trong
đó nút lá là một mô hình tuyến tính phát sinh từ các giỏ học thuộc về nút đó Thuật toánliên quan đến cây quyết định sẽ phát sinh tập các lớp giả (pseudo-class) có giá trị thuộctính đích tơng tự nhau, sau đó sử dụng phơng pháp qui nạp luật thay thế các lớp giảtrong luật qui nạp bằng tổ hợp các giá trị của thuộc tính lớp cho các giỏ theo luật
2.10 Tổng hợp (Sumarization)
Nhiệm vụ tổng hợp chính là sản sinh ra các mô tả đặc trng cho một lớp Mô tả này làmột kiểu tổng hợp, tóm tắt mô tả các đặc tính có chung của tất cả (hoặc hầu hết) các giỏthuộc một lớp Các mô tả đặc trng thể hiện dới dạng luật có dạng sau: “Nếu một giỏthuộc về lớp đã chỉ trong tiền đề thì giỏ có tất cả các thuộc tính đã nêu trong kết luận”.Chú ý là luật này có những đặc trng khác biệt so với luật phân lớp Luật phát hiện đặctrng cho một lớp chỉ sản sinh khi các giỏ đã thuộc về lớp đó
2.11 So sánh các nhiệm vụ phát hiện tri thức
Điểm tơng tự và sự khác biệt giữa các nhiệm vụ phát hiện tri thức đợc tóm tắt trongBảng 2.1 Cột đầu tiên chỉ ra nhiệm vụ phát hiện tri thức Cột thứ 2 chỉ ra kiểu tri thức
đợc phát hiện có thể là hớng Hệ quản trị cơ sở dữ liệu (HQT CSDL) nh luật SQO hoặcphụ thuộc CSDL, hay mục đích chung (các nhiệm vụ phát hiện khác) Tri thức hớngHQT CSDL thờng dùng trong thiết kế và giao dịch của một CSDL Tuy nhiên, tri thứchớng HQT CSDL cũng có thể dùng cho việc kiểm tra các luật tối u truy vấn ngữ nghĩa
để cải thiện việc hiểu lĩnh vực ứng dụng Trong khi tri thức theo kiểu mục đích chung cóthể sử dụng mục đích tuỳ thuộc nhu cầu của ngời dùng trong nghĩa mở Tri thức theomục đích chung có thể sử dụng hiệu quả trong HQT CSDL Tuy vậy, điểm khác biệtquan trọng là tri thức hớng HQT CSDL yêu cầu độ chính xác cao hơn so với tri thứctheo mục đích chung
Bảng 2.1: So sánh các nhiệm vụ phát hiện tri thức trong CSDL
Trang 14phát hiện tri thức
Kiểu dự báo Đòi hỏi phát
Sự phụ thuộc
CSDL Hớng HQT CSDL Thiết kế và duy trì CSDL nhiều-nhiều (không có
học)
Độ chính xác tuyệt đối
Sự phụ thuộc Mục đích
chung Dự báo, mô tả nhiều-nhiều (không có
học)
Độ chính xác cao
Nhân quả Mục đích
chung Dự báo, mô tả nhiều-nhiều (không có
học)
Độ chính xác cao
Nối cụm Mục đích
chung Dự báo, mô tả nhiều-nhiều (không có
học)
chủ quan (Độ chính xác cao?)Phân lớp Mục đích
chung Dự báo Nhiều-một (cóhọc) Độ chính xác caoHồi qui Mục đích
chung Dự báo Nhiều-một (cóhọc) Độ chính xác caoTổng hợp Mục đích
chung Mô tả một-nhiều (có học) Tính phổ biến cao
Cột thứ ba trong bảng chỉ ra mục đích chính của việc phát hiện tri thức Cột này đợctinh lọc từ cột thứ hai Mục đích chính của tri thức hớng CSDL hoàn toàn cụ thể: tối ucâu truy vấn (nh trờng hợp luật SQO) và thiết kế và duy trì CSDL (nh trong trờng hợp sựphụ thuộc CSDL) Tri thức kiểu này thờng đợc dùng cho một sự kết hợp các mục đích
dự báo, mô tả và xác định trội
Dự báo liên quan đến xác định giá trị của các thuộc tính trên cơ sở các giá trị của cácthuộc tính khác Kỹ thuật đặc trng là Phân lớp và Hồi qui Tuy nhiên, dự báo cũng dựatrên quan hệ Nhân quả và mô hình hoá sự phụ thuộc cũng nh phát hiện luật liên kết.Mô tả liên quan đến việc phát hiện tri thức trừu tợng nhng hiểu đợc bởi ngời dùng Môtả thờng gắn với tổng hợp, thông tin gộp Do vậy, mô tả là mục tiêu chính của nhiệm vụTổng hợp và Phân cụm Đối với cả Tổng hợp và Phân cụm, việc mô tả các thuộc tínhchung nhau bởi các tập hợp dữ liệu đợc quan tâm Hơn nữa, việc mô tả cũng khá quantrọng trong các nhiệm vụ xác định phụ thuộc và quan hệ Nhân quả Chú ý là mục tiêuchính của phát hiện tri thức phụ thuộc vào dạng mà tri thức biểu diễn Chẳng hạn, mạngnhân quả thích hợp hơn cho mục tiêu mô tả hơn là Luật về sự phụ thuộc
Trang 15Ta sử dụng thuật ngữ xác định trội (highlighting) để xác định các mẫu, những qui luậthay những bất thờng đặc biệt trong dữ liệu Tính chất cơ bản của các mẫu đặc biệt này
là chúng có một giá trị bất ngờ hoặc một tần suất tơng đối không mong đợi Hơn nữa,khác với tri thức đợc phát hiện cho các mục đích mô tả, các mẫu này không cần thiêtthể hiện dới dạng trừu tợng Ví dụ điển hình là thăm dò sự sai khác với thông tin đợcphát hiện chỉ đơn giản là danh sách các điểm dữ liệu lệch ra ngoài Nhiệm vụ phát hiệnluật liên kết có thể đợc xem là một dạng xác định trội, bởi lẽ một trong các đòi hỏi rõràng của luật liên kết là tần suất tơng đối tối thiểu (giá trị support) trong dữ liệu
Cột thứ t chỉ ra loại dự báo liên quan đến từng nhiệm vụ phát hiện tri thức Mặc dù cácnhiệm vụ SQO và Sự phụ thuộc CSDL phát hiện tri thức hớng CSDL và theo mục tiêu cụthể, nhng cũng có các nhiệm vụ dự báo liên quan đến kiểu này Nói chung, các nhiệm
vụ SQO, Sự phụ thuộc CSDL, Liên kết, Nhân quả, Sự phụ thuộc và Phân cụm có kiểu dựbáo nhiều-nhiều trong đó giá trị của một vài thuộc tính có thể dùng để dự báo giá trị củacác thuộc tính khác Một cách nhìn khác về quan hệ nhiều-nhiều là xem xét các nhiệm
vụ nh một dạng phát hiện không có học, bởi vì ngời dùng không chỉ ra thuộc tính mụctiêu và hệ thống có sự tự chủ hoàn toàn để quyết định thuộc tính nào sẽ đợc đa ra trongtri thức Nhiệm vụ phát hiện sự sai khác không hoàn toàn đúng với mục tiêu dự báo nh-
ng có thể nói nó liên quan đến việc phát hiện không có học
Nhiệm vụ Phân lớp và Hồi qui liên quan đến dự báo nhiều-một trong đó giá trị củanhiều thuộc tính có thể sử dụng để dự báo giá trị của một thuộc tính do ngời dùng xác
định trớc Đối với nhiệm vụ Tổng hợp, từ lớp của một giỏ dữ liệu, chúng ta có thể “dựbáo” giá trị (hoặc khoảng giá trị, giá trị trung bình, ) của các thuộc tính khác Theo đó,nhiệm vụ Tổng hợp thuộc về dự báo một-nhiều Phân lớp, Hồi qui và Tổng hợp có thểxem nh một dạng của phát hiện có học, bởi vì ngời dùng chỉ ra thuộc tính đích (haythuộc tính lớp) và hệ thống phải phát hiện quan hệ nào đó giữa thuộc tính này và cácthuộc tính khác Tri thức đợc phát hiện phải bao gồm quan hệ đó Do vậy, tính tự chủcủa hệ thống chỉ ở chỗ xác định các thuộc tính liên quan đến giá trị thuộc tính đích và
có hạn chế hơn so với các nhiệm vụ không có học Tuy nhiên, các nhiệm vụ không cóhọc có thể chuyển thành có học
Cột thứ năm chỉ ra các đòi hỏi cần đợc thoả mãn bởi các tri thức đợc phát hiện liên quan
đến độ chính xác của kết quả
Các đặc tính khác của phát hiện tri thức nh tính thông minh và tính hữu dụng không baogồm trong bảng trên bởi vì chúng mang tính chủ quan và thay đổi lớn trong mỗi nhiệm
vụ trong từng lĩnh vực cụ thể
Phát hiện tri thức hớng CSDL (SQO và Sự phụ thuộc CSDL) có độ chính xác đúng Đây
là điểm khác biệt quan trọng so với các đòi hỏi của các nhiệm vụ phát hiện tri thứckhác Nhiệm vụ phát hiện sự sai khác liên quan đến phát hiện tri thức với mức ý nghĩa
do ngời dùng xác định Nhiệm vụ Liên kết cũng nh thế (với ngỡng Confidence) và tầnsuất tơng đối (ngỡng support) Nhiệm vụ tổng hợp liên quan đến phát hiện tri thức cótính phổ biến cao tức là luật đợc phát hiện phải bao hàm một số lớn dữ liệu (mà cácnhiệm vụ khác nh Phân lớp không có đòi hỏi nh vậy)
Các nhiệm vụ khác nh Sự phụ thuộc, Nhân quả, Phân lớp và Hồi qui chủ yếu liên quan
đến phát hiện tri thức có độ chính xác cao
Trang 16Chơng 3 Các kỹ thuật Khai phá dữ liệu
Khai phá dữ liệu là bớc tiếp theo của quá trình phát hiện tri thức và là giai đoạn quantrọng nhất Chúng ta sẽ khảo sát một số thuật toán nhận dạng và học máy một cách tổngquan và sau đó sẽ đi sâu vào một số phần ở các chơng sau
Vì tri thức có nhiều dạng thể hiện khác nhau nên việc phát hiện tri thức cũng đa dạng vàcần nhiều kỹ thuật và phơng pháp để sử dụng Chúng ta sẽ quan tâm đến các kỹ thuậtsau:
Các công cụ truy vấn, các kỹ thuật thống kê, hiển thị
Công cụ phân tích trực tuyến (OLAP)
Học dựa trên trờng hợp (k ngời láng giềng gần nhất)
Cây quyết định
Luật kết hợp
Mạng nơron
Thuật toán di truyền
3.1 Các công cụ truy vấn, các kỹ thuật thống kê, hiển thị
Hiện nay, phần lớn các hệ thống CSDL điều hành, CSDL báo cáo và kho dữ liệu vẫndùng chủ yếu những công cụ truy vấn SQL cho việc khai thác dữ liệu đầu ra Với cáccông cụ truy vấn này, nguời dùng sẽ đạt đợc các thông tin chính xác Với một số công
cụ phân tích SQL tốt, ngời lãnh đạo, nhà phân tích, ngời quản lý có thể kết xuất dữ liệu
ra theo cách tuỳ biến (ad-hoc), đáp ứng yêu cầu hỗ trợ quyết định đến khoảng 80 %.Phần còn lại, ớc tính 20%, là các thông tin tiềm ẩn, đòi hỏi phải có kỹ thuật cao hơn vàthờng dùng cho các tổ chức lớn có kho dữ liệu lớn 20% có thể là thông tin vô cùngquan trọng quyết định sự thành công trong môi trờng cạnh tranh
Chúng ta sẽ sử dụng một ví dụ minh hoạ trong cả chơng để biểu diễn quá trình pháthiện tri thức trong CSDL Một nhà sách có CSDL về các khách hàng mua sách theo cácchủ đề về thiếu nhi, thể thao, âm nhạc và kỹ thuật Mục tiêu của quá trình khai phá dữliệu là tìm ra các nhóm khách hàng có đặc tính chung để thực hiện các hoạt động tiếpthị Do đó, chúng ta quan tâm đến các câu hỏi chẳng hạn nh “Hồ sơ điển hình của một
độc giả về sách thiếu nhi là gì?” hoặc “Có mối tơng quan nào giữa sự quan tâm đếnsách thiếu nhi và quan tâm đến sách kỹ thuật?”
Tuổi trung bình của khách hàng là 46, thu nhập trung bình là 700000 Thú vị hơn khi tathấy trong số 400 ngời mua sách thiếu nhi có rất ít ngời (30) mua sách kỹ thuật Nhữngcon số thống kê rất quan trọng, vì chúng đa ra một chuẩn để phán xét hiệu quả của cácthuật toán học và nhận dạng Chúng ta cũng thấy qua con số thống kê tuổi của nhữngngời mua sách thiếu nhi là thấp và ngời mua sách kỹ thuật là thấp nhất Khi xem xét sốliệu của những khách hàng mua hai loại sách, ta cũng sẽ thấy thú vị Nếu tìm hiểu sâuhơn về khả năng mua sách theo độ tuổi chúng ta cũng thấy một bức tranh khác về kháchhàng
Trang 17Sự khác biệt thú vị xảy ra khi ta thống kê theo các nhóm con Các khách hàng mua sáchthiếu nhi thờng tập trung ở độ tuổi 30, nhng khách hàng mua sách thể thao thì trải rộngqua nhiều độ tuổi khác nhau.
Rõ ràng, SQL có thể thu thập đợc các thông tin chi tiết dựa trên cấu trúc của dữ liệu vànhững thông tin này có thể rất hữu ích cho các mục đích hỗ trợ quyết định
3.2 Các công cụ phân tích trực tuyến
Nh đã biết, công nghệ CSDL hiện nay chủ yếu dựa theo mô hình quan hệ Trong môhình quan hệ, dữ liệu biểu diễn dới dạng các bảng có quan hệ với nhau Do vậy, hìnhdung dữ liệu thờng là “phẳng” tức là hai chiều theo bản ghi và theo các cột thuộc tính.Các câu hỏi chỉ dựa trên bảng hai chiều tơng đối đơn giản và không cho phép đạt đợccác thông tin phức tạp và có giá trị Việc phân tích dữ liệu nhiều khi đa ra những câuhỏi phức tạp hơn bao gồm nhiều ràng buộc chẳng hạn nh “số sách thể thao bán đợctrong tháng 3 ở khu vực Đông Anh cho những ngời có độ tuổi từ 20 đến 30 là baonhiêu?” Những câu hỏi nh vậy đợc gọi là câu truy vấn nhiều chiều Những câu truy vấnnhiều chiều không phải dễ dàng trả lời trên những bảng dữ liệu “phẳng” Và mô hình dữliệu quan hệ không còn hiệu quả cho kiểu phân tích này Các công cụ phân tích trựctuyến đặt ra để giải quyết vấn đề này nhờ dựa trên công nghệ mô hình dữ liệu nhiềuchiều Một cách chuẩn tắc, công cụ phân tích trực tuyến hay công cụ phân tích trựctuyến đa chiều (MOLAP) lu dữ liệu dới khuôn dạng đa chiều, đặc biệt sẵn sàng chokhai thác trực tiếp Ngoài ra, có các công cụ nhiều chiều đợc gọi là công cụ phân tíchtrực tuyến kiểu quan hệ (ROLAP) bao gồm một cơ cấu đa chiều có kết nối đến dữ liệuthực sự lu dới dạng mô hình quan hệ Đây là mô hình lai cho phép lu dữ liệu hai chiều
và phân tích đa chiều
Điểm khác biệt giữa các công cụ phân tích trực tuyến và khai phá dữ liệu là công cụphân tích trực tuyến không học, chúng không tạo ra tri thức mới mà chỉ thể hiện và tổnghợp các dữ liệu chính xác ở nhiều góc độ nhìn khác nhau Các thuật toán khai phá dữliệu thông minh hơn và chúng không cần dạng lu trữ đặc biệt nào mà thờng dựa ngayvào các CSDL quan hệ
3.3 K ng ời láng giềng gần nhất
Khi chúng ta biểu diễn bản ghi dữ liệu nh một phần tử trong không gian nhiều chiều, thìchúng ta có thể xác định khái niệm láng giềng Giả thiết chúng ta muốn dự báo hành vicủa một tập khách hàng với một CSDL mô tả về các khách hàng đó Giả định cơ bản đòihỏi để làm dự báo nh vậy là khách hàng cùng một kiểu sẽ có cùng một hành động.Trong hình dung về không gian dữ liệu, một kiểu không gì khác hơn là một vùng dữliệu Nói cách khác, bản ghi có cùng kiểu sẽ phân bố ở gần nhau trong không gian dữliệu và chúng sẽ là “hàng xóm” của nhau Dựa trên ý tởng này, chúng ta có thể pháttriển một thuật toán học rất đơn giản nhng hiệu quả “k ngời láng giềng gần nhất” Luận
đề của k ngời láng giềng gần nhất là “làm nh láng giềng làm” Nếu chúng ta muốn dựbáo hành vi của một cá nhân nào đó, chúng ta bắt đầu nhìn vào hành vi của chẳng hạn
10 cá nhân gần với anh ta nhất trong không gian dữ liệu Và giá trị trung bình của cáchành vi của các hàng xóm này sẽ là dự báo cho hành vi của anh ta Số k trong k lánggiềng gần nhất chỉ số láng giềng đợc xem xét
K láng giềng gần nhất đơn giản cha phải là một kỹ thuật học, mà gần nh là một phơngpháp tìm kiếm Nếu nó dự báo cho từng phần tử trong tập dữ liệu có n bản ghi thì chíng
ta phải so sánh từng bản ghi với tất cả các bản ghi còn lại và nh thế độ phức tạp sẽ làbậc 2n và không đáp ứng cho tập dữ liệu lớn Nếu chúng ta muốn phân tích k láng giềng
Trang 18gần nhất đơn giản của một CSDL có hàng triệu bản ghi thì chúng ta phải làm một nghìn
tỷ phép so sánh Cách tiếp cận nh vậy rõ ràng là không cho phép tăng qui mô dữ liệu vàhoàn toàn không khả thi đối với các CSDL lớn
Một vấn đề của quá trình k láng giềng gần nhất là độ đo tức là xác định khoảng cáchgiữa hai phần tử của không gian Do các thuộc tính có nhiều khuôn dạng khác nhau, cóthể là giá trị liên tục hoặc rời rạc hoặc mờ chẳng hạn là số, nhng có thể là miền(domain) hoặc thời gian, là văn bản hoặc nhiều dạng khác, nên việc tìm một độ đo hiệuquả là rất khó Các thuộc tính quan trọng có thể có một trọng số cao hơn trong côngthức tính độ đo
Việc áp dụng thuật toán k láng giềng gần nhất chỉ là dự báo hiệu quả trong một số trờnghợp nhất định Chẳng hạn, với tập dữ liệu phân bố tơng đối đều trong cả không gian, kláng giềng gần nhất sẽ không nói lên đợc gì nhiều Nhng nếu trong không gian kháchhàng có thu nhập khác nhau lớn, chắc chắn các hành vi mua sắm cũng khác nhau và nhvậy thuật toán k ngời láng giềng gần nhất có thể hữu ích
3.4 Cây quyết định
Khi ta có các dữ liệu về hành vi khách hàng và muốn dự báo các khách hàng có đặc
điểm gì khi có cùng các đặc trng các hành vi Nh thế dẫn đến việc ta phải phân lớp cáckhách hàng thành các nhóm và sẽ có hành vi đặc trng của nhóm đó
Ta đang xét CSDL về những khách hàng mua sách Thông tin về khách hàng bao gồmtuổi, thu nhập, nghề nghiệp, Ta cần dự báo một kiểu khách hàng khi hỏi các thuộc tính
đã biết của họ để đoán nhận Chẳng hạn, ta muốn dự báo ai sẽ mua các sách thiếu nhi.Thuộc tính liên quan có thể là tuổi và thu nhập Trong hai thuộc tính, có thể tuổi quantrọng hơn, nghĩa là nếu dựa trên cơ sở tuổi của một ngời có thể dự báo anh ta có muasách thiếu nhi hay không Hơn nữa, chúng ta cũng cần phải nghiên cứu xem có một ng-ỡng tuổi hay không để tách biệt những ngời mua sách thiếu nhi và ngời không quantâm Theo cách này, chúng ta có thể bắt đầu với thuộc tính đầu tiên, tìm ra một ngỡngnào đó, rồi chuyển sang thuộc tính tiếp theo, lại tìm một ngỡng nào đó và lặp lại quátrình này cho đến khi có đợc sự phân lớp đúng và cuối cùng là tạo ra cây quyết định Cónhiều thuật toán về dựng cây quyết định Cơ sở toán học và mô tả quá trình phân lớpnhờ cây quyết định đợc trình bày kỹ ở trong chơng 5 và chơng 8
3.5 Luật kết hợp
Trong thực tế, những chuyên gia về kinh doanh và tiếp thị rất thích các luật đại thể nh:90% phụ nữ có xe máy đỏ và đeo đồng hồ Thuỵ sỹ thì dùng nớc hoa hiệu Chanel.Những thông tin nh vậy rất hữu ích cho việc định hớng cho các hoạt động tiếp thị vàkinh doanh Vấn đề là liệu có thể tìm đợc các kiểu luật nh vậy nhờ các công cụ khai phádữ liệu hay không Câu trả lời là có và trong lĩnh vực khai phá dữ liệu, đó chính lànhiệm vụ phát hiện luật kêt hợp Giả sử ta có một CSDL về các khách hàng với cácthông tin nh màu và kiểu xe máy, kiểu đồng hồ yêu thích và một số sản phẩm mà họmuốn mua, lúc đó ta có thể phát hiện các luật tơng tự nh trên
Việc phát triển một thuật toán phát hiện luật này trong một CSDL lớn không khó Tuynhiên, vấn đề là ở chỗ có thể có rất nhiều luật kiểu này và ta chỉ biết một tập hợp nhỏ dữliệu trong CSDL lớn Chẳng hạn, chỉ có một số không nhiều phụ nữ có xe máy đỏ và
đeo đồng hồ Thuỵ sỹ Số lợng các luật kết hợp trong một CSDL lớn gần nh vô hạn.Thuật toán sẽ không thể phát hiện hết các luật và không phân biệt đợc luật nào là thôngtin thực sự có giá trị và thú vị
Trang 19Vậy luật kết hợp nào là thực sự có giá trị và thú vị? Chẳng hạn ta có luật: Âm nhạc, Thểthao => Thiếu nhi, nghĩa là những ngời mua sách Âm nhạc và Thể thao thì cũng muasách về Thiếu nhi Lúc đó ta quan tâm đến số lợng trờng hợp khách hàng thoả mãn luậtnày hay độ hỗ trợ (support) cho luật này Giá trị support cho luật chính là: phần trăm sốbản ghi có cả Âm nhạc, Thể thao, Thiếu nhi hay tất cả những ngời thích cả 3 loại sách.Tuy nhiên, giá trị support là không đủ Có thể có trờng hợp ta có một nhóm tơng đốinhững ngời đọc cả ba loại sách nhng lại có một nhóm lớn hơn nhiều những ngời đọc cảsách âm nhạc, thể thao nhng không thích sách thiếu nhi Trong trờng hợp này tính kếthợp rất yếu, mặc dù support tơng đối cao Nh vậy, chúng ta cần thêm một độ đo phụ Đó
là độ tin cậy (confidence) Trong trờng hợp này, confidence chính là phần trăm các bảnghi có sách thiếu nhi trong số các bản ghi có sách âm nhạc và Thể thao
Thực tế, luật kết hợp chỉ hữu ích trong khai phá dữ liệu nếu chúng ta đã có một ý t ởngban đầu về cái chúng ta muốn biết Điều này minh hoạ vấn đề là không có thuật toánnào tự động đa cho chúng ta mọi thứ cần thiết trong CSDL Một thuật toán tìm ra nhiềuluật có thể cũng tìm ra rất nhiều các luật không có giá trị trong khi thuật toán khác chỉtìm ra hạn chế một số luật kết hợp không có điều chỉnh cũng có thể bị mất các thông tinquí giá
3.6 Mạng nơron
Một điều rất thú vị là các kỹ thuật học máy đã sử dụng nhiều lĩnh vực nghiên cứu khácnhau Thuật toán di truyền mô phỏng từ sinh học, mạng nơron mô hình hóa bộ óc conngời Học là một đặc tính quan trọng của tự nhiên, tất yếu nảy sinh trong các lĩnh vựcnghiên cứu khác nhau về cơ thể sống và cung cấp cho chúng ta các mô hình thích hợp
về các hành vi học Theo lý thuyết Freud và các kết quả nghiên cứu gần đây cho thấy trí
óc con ngời đợc mô tả nh một mạng nơron Bộ óc con ngời bao gồm một số lớn cácnơron (khoảng 1011) đợc nối kết với nhau bởi một số lợng lớn các khớp thần kinh Mộtnơron đơn lẻ đợc kết nối với các nơron khác bởi vài nghìn khớp thần kinh nh vậy Mặc
dù các nơron đợc mô tả nh các khối đơn của bộ óc, trí não con ngời có thể xử lý cácnhiệm vụ rất phức tạp nh ta đã thấy Sự tơng tự của mô hình mạng nơron nhân tạo cho tamột kỹ thuật thú vị cho phép tạo ra các máy học đuợc các vấn đề phức tạp hơn.Cácmạng nh vậy có thể đợc xây dựng sử dụng phần cứng đặc biệt nhng cũng hoàn toàn cóthể tạo ra các chơng trình phần mềm chạy đợc trên các máy tính thông thờng Cụ thể,một mạng nơron bao gồm một tập các nút : nút đầu vào nhận các tín hiệu vào, nút đầu
ra đa ra các tín hiệu ra và một số không hạn chế các lớp trung gian bao gồm các núttrung gian Có nhiều kiến trúc khác nhau cho mạng nơron và mỗi trong chúng sử dụngcác cách kết nối mạng khác nhau và chiến lợc học khác nhau để thực hiện các nhiệm
vụ Khi sử dụng mạng nơron, chúng ta phải phân biệt hai giai đoạn: giai đoạn mã hoátrong đó mạng nơron đợc học để thực hiện một nhiệm vụ nào đó và giai đoạn giải mãtrong đó mạng đợc sử dụng để phân lớp, làm dự báo hoặc thực hiện bất cứ nhiệm vụhọc nào liên quan Có một vài dạng mạng nơron nhng chúng ta sẽ xét qua ba loại chínhsau:
Perceptrons
Mạng lan truyền ngợc (Back propagation networks)
Mạng tự tổ chức Kohonen (Kohonen Self-organized Map)
Perceptron là dạng tổ chức sơ khai của mạng nơron lần đầu tiên đa ra bởi FrankRosenblatt năm 1958 Một perceptron là một mạng đơn giản gồm hai lớp với các đơn
vị đầu vào gọi là điểm thu nhận ảnh, các đơn vị trung gian gọi là các điểm kết hợp và
Trang 20các điểm ra gọi là điểm đáp ứng Perceptron có thể học các luật đơn giản và nh vậy cóthể đợc dùng để thực hiện các nhiệm vụ phân lớp đơn giản Tuy nhiên, ngời ta đã chỉ rarằng lớp các bài toán có thể giải đợc bằng một máy có kiến trúc perceptron rất hạn chế.Trong hai chục năm trở lại đây, mạng nơron nhân tạo đã đợc nghiên cứu nhiều với cáckiến trúc phức tạp hơn có thể giải quyết nhiều bài toán phức tạp hơn Một trong các pháttriển chính đó là các lớp ẩn và từ đó dẫn đến khái niệm mạng lan truyền ngợc.
Mạng lan truyền ngợc không chỉ có các nút đầu vào và đầu ra mà còn có một tập cáclớp trung gian với các nút ẩn Trong giai đoạn ban đầu, một mạng lan truyền ngợc cócác trọng số ngẫu nhiên cho các khớp thần kinh (hay liên kết) của nó Khi chúng ta dạymạng học, chúng ta cho một tập các dữ liệu học chạy qua mạng Với mỗi lần học, giá trị
đầu ra thực sự của mạng lại đợc so sánh với giá trị ra đòi hỏi thực tế Nếu có sự khácnhau giữa câu trả lời của mạng và câu trả lời thực tế thì các trọng số của các nút và khớpthần kinh mạng đợc điều chỉnh Quá trình này lặp đi lặp lại cho đến khi kết quả tínhtoán của mạng đạt đợc độ chính xác cần thiết Khi cấu trúc của mạng đã xác định sauquá trình học, có thể dùng mạng để phân lớp các đối tợng cha biết
Mạng lan truyền ngợc đã có sự cải thiện hơn về khả năng so với kiến trúc perceptron.Tuy nhiên, chúng cũng có các bất lợi Mạng nơron lan truyền ngợc cần một tập dữ liệuhọc rất lớn Một vấn đề khác là mặc dù nói rằng mạng nơron học nhng chúng khôngcho chúng ta một hình dung rõ ràng về chúng đã học cái gì, mà chỉ là những hộp đen, đ-
a ra câu trả lời nhng không cung cấp cho chúng ta một suy luận làm thế nào để đa racâu trả lời đó
Kohonen đã đa ra một phiên bản khác hoàn toàn về mạng nơron mà hiện nay đợc gọi làmạng nơron tự tổ chức Mạng nơron này đợc xem nh phiên bản nhân tạo của các bản đồtồn tại bên trong bộ óc nh các bản đồ nhìn, bản đồ không gian núi, Mạng nơron tự tổchức là một tập hợp các nơron hoặc đơn vị mà mỗi trong chúng có kết nối với các đơn
vị khác là hàng xóm xung quanh Các bản đồ Kohonen thờng hai chiều Trong các cài
đặt ban đầu, mạng nơron tự tổ chức đợc gán giá trị ngẫu nhiên Trong giai đoạn học, cácvector này đợc điều chỉnh dần dần để đa ra không gian tốt hơn Một cách tự nhiên hìnhdung quá trình học của bản đồ tự tổ chức là các phim Kohonen Phim Kohonen là hàngloạt các khung hình chỉ ra vị trí của các vector và liên kết của chúng với các đơn vị bêncạnh
3.7 Thuật toán di truyền
Nhờ các tơng tác hấp dẫn giữa công nghệ và tự nhiên và các phơng tiện can thiệp kỹthuật, chúng ta hiểu tự nhiên nhiều hơn Ngợc lại, tự nhiên là một nguồn mô phỏng chocác ý đồ kỹ thuật ý tởng này đợc áp dụng cho lĩnh vực khoa học máy tính liên quan
đến tính toán tiến hoá và sinh học Tính toán tiến hoá bao hàm việc giải quyết dựa trên
áp dụng các cơ cấu tiến hoá theo các hớng: các thuật toán di truyền, lập trình tiến hoá
và chiến lợc tiến hoá Ba vấn đề này có mối quan hệ chặt chẽ Các thuật toán di truyền
đợc xem nh kỹ thuật học máy thành công nhất
Ta thấy quá trình tiến hoá tự nhiên dựa trên hai vấn đề: quá trình chọn lọc tự nhiên hay
sự sống sót của các cá thể thích nghi và DNA nh một kỹ thuật cho các vấn đề mã ditruyền Theo thuyết tiến hoá của Darwin, mỗi loài đợc duy trì qua các cá thể sống và chỉ
có các cá thể nào thích nghi tốt nhất đối với môi trờng sẽ sống sót DNA có cấu trúcxoắn kép và thông tin đợc lu trong các phân tử DNA cấu thành từ 4 khối đặc trng bởi 4chữ cái (C, G, A và T) chứa đựng toàn bộ thông tin di truyền của một cá thể ngời haybất kỳ một tạo hoá sống nào Tập hợp các lệnh di truyền cơ thể ngời dài 3 tỷ chữ cái
Trang 21Mỗi cá thể thừa hởng vài đặc trng của cha và vài đặc trng của mẹ Sự khác nhau giữamọi ngời nh hình dạng, màu da là do mật mã di truyền khác nhau.
Một câu hỏi thú vị là tại sao tự nhiên lại sử dụng cơ cấu này cho tối u và phát triển Cơcấu chọn lọc tự nhiên có những thuận lợi và bất lợi Quá trình chọn lọc tự nhiên liênquan đến rất nhiều các cơ thể sống qua nhiều thời gian và hoạt động của sinh vật sống.Một bất lợi khác là việc tiến hoá loài sinh vật phụ thuộc vào các cơ hội Các loài sinhvật tiến hoá nhờ vào sự đột biến ngẫu nhiên của gen, nhng cơ hội mà một đột biến nhvậy thực sự dẫn tới cái gì đó có ý nghĩa thật hiếm hoi
Trang 22Chơng 4 kho dữ liệu
Kho dữ liệu (DataWarehouse) là một hớng công nghệ áp dụng cho các ứng dụng côngnghệ tin học trong các doanh nghiệp và tổ chức Thuật ngữ này gợi nên hình ảnh củanhà băng dữ liệu rộng lớn đợc bắt nguồn từ các hệ thống trên khắp thế giới, với đông
đảo các nhà phân tích của công ty khai thác những thông tin quí giá giúp công ty của họthu đợc nhiều lợi nhuận hơn
Một cách cơ bản, kho dữ liệu cung cấp dữ liệu lịch sử cho các ứng dụng hỗ trợ quyết
định Những ứng dụng nh vậy bao gồm báo cáo, xử lý phân tích trực tuyến (OnlineAnalysis Procesing - OLAP), hệ thống thông tin điều hành (Executive InformationSystem - EIS) và khai thác dữ liệu
Kho dữ liệu chứa các thông tin tập trung hoá và thống nhất Thống nhất ở đây nghĩa là
đã đợc làm sạch, hợp nhất và thiết kế lại, có thể ít nhiều phức tạp tuỳ thuộc vào việc cóbao nhiêu hệ thống cung cấp thông tin cho một kho và khác nhau trong việc xử lý cùngmột thông tin nh thế nào
- Kho dữ liệu khác với cơ sở dữ liệu tác nghiệp hoặc hệ thống xử lý giao tác trực tuyến (OLTP) ở mục đích và thiết kế của chúng Một hệ thống xử lý giao tác trực tuyến đợc thiết kế và tối u với dữ liệu đa vào và các cập nhật Trong khi kho dữ liệu đợc tối u hoá cho mục đích báo cáo và khôi phục dữ liệu và thờng là một hệ thống chỉ - đọc Một hệ thống xử lý giao tác trực tuyến chứa các dữ liệu cần thiết
để điều hành kinh doanh hàng ngày, nhng kho dữ liệu chứa các dữ liệu đợc sử dụng để phân tích kinh doanh Dữ liệu trong một hệ thống xử lý giao tác trực tuyến đợc cập nhật thờng xuyên và có độ linh hoạt cao với những phần tử dữ liệu
có thể cha hoàn chỉnh hoặc không biết ở thời điểm vào Kho dữ liệu chứa những dữ liệu lu trữ, ổn định, các lỗi giao tác đã đợc điều chỉnh Do mục đích của chúng khác nhau, hệ thống xử lý giao tác trực tuyến và kho dữ liệu sử dụng những chiến lợc mô hình hoá dữ liệu khác nhau Sự d thừa hầu nh không tồn tại trong hệ thống
xử lý giao tác trực tuyến bởi vì những dữ liệu d thừa làm phức tạp việc cập nhật Vì vậy, hệ thống xử lý giao tác trực tuyến đợc chuẩn hoá cao độ và thờng dựa trên mô hình quan hệ Nhng d thừa lại cần có trong kho dữ liệu, làm đơn giản hoá việc truy nhập của ngời sử dụng và tăng cờng việc thực hiện bằng cách tối thiểu hoá số lợng các bảng phải đợc kết nối với nhau Các kho dữ liệu có thể sử dụng cả mô hình quan hệ và mảng đa chiều.
Trang 23- -H ớng chủ đề: Các hệ tác nghiệp kinh điển tập trung quanh các ứng dụng của tổ chức, công ty trong khi kho dữ liệu liên quan tới các chủ đề chung Ví dụ, các ứng dụng của một công ty bảo hiểm là bảo hiểm nhân thọ, bảo hiểm an sinh, giáo dục trong khi các chủ đề chung là đối tợng là khách hàng, chính sách, phí bảo hiểm.v v
-Tích hợp: đây là khía cạnh quan trọng nhất của một kho dữ liệu Kho dữ liệu lấy thôngtin từ các hệ thống tác nghiệp khác nhau trong các tổ chức Những hệ thống này có thể
lu trữ cùng một thông tin bằng nhiều cách khác nhau, tức là giới tính của một kháchhàng có thể đợc lu trữ dới dạng có/không, 0 hoặc 1, nam hoặc nữ trong nhiều hệ thốngkhác nhau Tuy nhiên, khi phải lu trữ thông tin này trong kho dữ liệu thì cần phải xác
định một kế hoạch chung Nhờ đó, sự không nhất quán của các hệ thống tác nghiệpkhác nhau đợc loại bỏ và dữ liệu đợc đa vào theo một cách thống nhất Khái niệm tơng
tự cũng đợc áp dụng cho các tên cột, tên phụ lục, các thuộc tính v.v
Các HT tác nghiệp Kho Dữ liệu
So_du balance Sodu_TK Tien_mat
So_du_tai_khoan
CSDL A CSDL B CSDL C CSDL D
Hình 4.1 Đa dữ liệu vào kho dữ liệu một cách thống nhất
-Không bị phá huỷ: Không nh trong hệ tác nghiệp, dữ liệu trong kho dữ liệu không đợcsửa đổi Định nghĩa này chỉ mang tính nguyên tắc Thực tế có rất nhiều kho dữ liệu chophép thay đổi dữ liệu trong kho Tuy nhiên, việc này dẫn đến các vấn đề nghiêm trọngkhác, sẽ đợc giải thích sau đây
Trang 24Cập nhật Xoá Thêm Tra cứu Truy vấn
Các hệ thống
Truyền tải dữ
liệu
Hình 4.2 Sơ đồ tích hợp kho dữ liệu và các hệ thống tác nghiệp
-Phụ thuộc thời gian: Định nghĩa này cho thấy sự phân biệt giữa hệ thống tác nghiệp vàkho dữ liệu Những điểm sau làm rõ hơn định nghĩa:
+ Dữ liệu trong kho dữ liệu đợc lu trữ một cách đặc thù theo chu kỳ thời gian lâuhơn các hệ thống tác nghiệp
+ Kho dữ liệu lu giữ các giá trị hiện tại cho bất kỳ cột nào ở các thời điểm khácnhau, trong khi một hệ thống điều hành nói chung chỉ một giá trị hiện tại đơn lẻ đợc lutrữ
+ Các bảng trong kho dữ liệu có một cột đặc biệt để biểu diễn chiều thời gian.+ Các dữ liệu đợc đợc lu trữ dới dạng một sê ri các bản sao Mỗi bản sao biểu thịmột khoảng thời gian
+ Cột biểu diễn chiều thời gian cũng là một bộ phận của các chỉ mục trong cácbảng đợc lu trữ
+ Các truy vấn trong kho dữ liệu phần lớn trong một khoảng thời gian
4.1.2 Các kiểu kho dữ liệu
- Kiểu kho dữ liệu mà đợc sử dụng phụ thuộc vào các hoạt động nghiệp vụ của xí nghiệp và các kiểu hỗ trợ quyết định cần có.
-Một trong những kiểu đơn giản nhất của kho dữ liệu, là kho dữ liệu điều hành(Operational Data System - ODS) Đó là một cơ sở dữ liệu nghiệp vụ đã đợc sao chép và
điều chỉnh lỗi Kho dữ liệu điều hành thờng đợc sử dụng chính để hình thành những báocáo điều hành định kỳ và thực hiện các giao tác cụ thể cho các phân tích mang tính tổnghợp
- Tuỳ thuộc vào yêu cầu tổng hợp của một tổ chức hoặc công ty, một kho dữ liệu
điều hành có thể đợc cập nhật hàng tháng, hàng tuần, hay thờng xuyên hơn Lợi ích chủ yếu là tăng cờng việc thực thi trong hệ thống tác nghiệp, do các chức năng
Trang 25báo cáo và truy vấn đợc tải từ hệ thống xử lý xử lý giao tác trực tuyến sang kho dữ liệu điều hành.
Hình 4.3 Kiến trúc kho dữ liệu
Khi một tổ chức hoặc công ty chỉ cần tạo ra các báo cáo và ít thực hiện các phân tíchhoặc nghiên cứu thị trờng, kho dữ liệu điều hành là một giải pháp phù hợp Tơng tự, nếu
tổ chức hoặc công ty xử lý tơng đối ít giao dịch mỗi ngày, có lẽ không cần tổ chức mộtkho dữ liệu điều hành Thay vào đó, có thể sử dụng hệ thống tác nghiệp để làm báo cáo.Một kiểu kho dữ liệu khác là Chợ dữ liệu (Data Mart) Chợ dữ liệu thờng đợc giới hạntrong một phạm vi nhất định Các thông tin của nó thờng đợc lấy từ một văn phòng hoặcquá trình kinh doanh đơn lẻ, ví dụ chúng có thể đợc sử dụng để phân tích thông tin bánhàng trong một khu vực hoặc cho một dây chuyền sản xuất cụ thể Chợ dữ liệu thờngchỉ chứa đựng dữ liệu tổng kết, nhng chúng có thể đợc kết nối với các kho dữ liệu điềuhành để lấy ra đợc những chi tiết giao dịch khi cần Đôi khi các thông tin này do cácphòng công nghệ thông tin quản lý,, nhng chúng thờng đợc quản lý trực tiếp bởi ngời sửdụng trong một phòng hoặc nhóm làm việc
- Trong khi các phân tích nghiệp vụ tại các phòng ban đợc thực hiện ở Chợ dữ liệu, thì nhiều ứng dụng xử lý phân tích trực tuyến nh các hệ thống thông tin điều hành
và các ứng dụng khai phá dữ liệu lại cần nhiều thông tin đợc thu thập từ toàn bộ hoạt động của tổ chức xí nghiệp Kho dữ liệu xí nghiệp đợc sử dụng cho kiểu tập hợp và phân tích dữ liệu này Do phạm vi và sự phức tạp của nó, kho dữ liệu xí nghiệp thờng đợc quản lý tập trung bởi phòng công nghệ thông tin Đây là kiểu phức tạp nhất của kho dữ liệu, bởi vì dữ liệu phải đợc tích hợp, biến đổi và di chuyển từ nhiều hệ thống tác nghiệp theo một chủ đề chung
Các hệ thống tác nghiệp là các nguồn dữ liệu chủ yếu cho kho dữ liệu xí nghiệp Các hệthống tác nghiệp này và các nguồn dữ liệu khác sẽ có những dữ liệu không tơng thích
Trang 26hoặc không nhất quán với nhau Để chọn lọc và đa vào trong kho dữ liệu xí nghiệp, dữliệu phải đợc kết xuất, biến đổi về một khuôn dạng và chuẩn chung đợc qui định trớc.
4.1.3 Các thành phần của kho dữ liệu
Mặc dù kho dữ liệu dờng nh một thực thể đơn lẻ, nhng nó thực sự lại là một tập hợp đatầng, đa ứng dụng bao gồm rất nhiều thành phần Mỗi thành phần có thể đợc xử lý bởimột hay nhiều mảng phần cứng hoặc phần mềm
Dữ liệu
Dữ liệu bên ngoài
Dữ liệu Tác nghiệp
Kết xuất Biến đổi
Di chuyển
Các công cụ OLAP
Các công
cụ SQL, các ứng dụng
Các công cụ Khai phá
dữ liệu
Lưu trữ
Siêu dữ liệu
Hình 4.4 Các thành phần của kho dữ liệu
• Kho dữ liệu cần có các nguồn cung cấp dữ liệu để phục vụ mục đích khai khác theochủ đề Các nguồn dữ liệu bao gồm các hệ thống tác nghiệp hàng ngày và cả các dữliệu đợc lấy từ các nguồn bên ngoài xí nghiệp Các dữ liệu này có khuôn dạng, tổ chứcrất khác nhau và đợc lu trữ ở nhiều kiểu lu trữ và nơi lu trữ Chẳng hạn, dữ liệu có thể
đợc cung cấp từ các nguồn địa phơng dới các khuôn dạng Excel, FoxPro hoặc từ SQLServer Các nguồn dữ liệu bên ngoài có thể là từ các nhà cung cấp thông tin kinh tế, xãhội, thị trờng hoặc thời tiết Dữ liệu chọn lọc đa vào kho dữ liệu đợc "làm sạch" (tức làlàm cho phù hợp với các chuẩn lu trữ), hợp nhất, đa vào yếu tố thời gian (hay gán nhãnthời gian) và tải vào cơ sở dữ liệu của kho dữ liệu Có nhiều phơng pháp để thực hiệnviệc này bao gồm sử dụng các cổng kết nối (gateway), các tiện ích chuyển đổi(utilities) hoặc các chơng trình đợc lập ra thực hiện các nhiệm vụ đã định sẵn
Dữ liệu từ các nguồn cung cấp đợc chọn lọc, làm sạch, biến đổi và cuối cùng đợc đặtvào trong các cấu trúc dữ liệu khác Những thông tin này đợc lu trữ ở nơi gọi là cataloghoặc từ điển Các catalog đợc quản lý với các công cụ siêu dữ liệu Siêu dữ liệu là dữliệu định nghĩa hoặc mô tả lu trữ của dữ liệu Có hai kiểu siêu dữ liệu điển hình Mộtloại dành cho ngời sử dụng, chẳng hạn nh tên bảng và tên cột đợc gọi là siêu dữ liệugiao diện Loại thứ hai là các phần tử dữ liệu cụ thể ánh xạ vào trong cơ sở dữ liệunguồn cung cấp của nó nh thế nào đọc gọi là siêu dữ liệu bên trong
Các công cụ thiết kế và quản lý cũng là những thành phần quan trọng của một kho dữ liệu Mặt dầu, kho chứa những dữ liệu ổn định, nhng chúng không tĩnh Ta
Trang 27không thể chỉ xây một kho dữ liệu một lần cho mọi sử dụng về sau Kho dữ liệu là một hệ thống lu dữ liệu theo thời gian và có thể mở rộng khi nhu cầu khai thác, sử dụng của tổ chức, công ty tăng lên Thậm chí, thiết kế của kho dữ liệu có khả năng
bị thay đổi khi những thiết kế các hệ thống tác nghiệp nguồn liên quan với nó thay
đổi Những thay đổi này cần phải đợc ghi nhận trong siêu dữ liệu của kho dữ liệu Nghĩa là bất cứ khi một cấu trúc dữ liệu nào đó trong một hệ thống tác nghiệp thay đổi, ta phải điều chỉnh việc tích hợp, các phép biến đổi và di chuyển và lu trữ các thay đổi về mô tả và kiểu lu trữ dữ liệu trong siêu dữ liệu Nếu không những truy vấn về dữ liệu lịch sử có thể không đa ra kết quả hoặc đa ra những kết quả không hiểu nổi Không nh một hệ thống xử lý giao tác trực tuyến chỉ đa ra hình
ảnh hiện tại, kho dữ liệu cung cấp bức tranh dữ liệu hoàn chỉnh theo thời gian
Các dữ liệu từ các nguồn cung cấp có thể đợc chọn lọc, làm sạch và biến đổi trớc rồi chuyển vào trong kho dữ liệu, nhng chúng có thể đợc chuyển vào một nơi trung gian hoặc chính ngay kho dữ liệu và sau đó mới thực hiện các phép chọn lọc, làm sạch và biến đổi Dữ liệu của kho dữ liệu và cả siêu dữ liệu đợc lu trữ trong các hệ quản trị CSDL quan hệ hay đa chiều.
Một nhóm thành phần không thể thiếu của kho dữ liệu là các công cụ khai thác Các công cụ khai thác bao gồm các ứng dụng báo cáo, các công cụ truy vấn truyền thống kiểu SQL, các công cụ phân tích trực tuyến và đặc biệt là các công cụ khai khá dữ liệu Nếu khai phá dữ liệu đợc thực hiện trên nền tảng kho dữ liệu thì các bớc chọn lọc, làm sạch, biến đổi và di chuyển sẽ chính là bốn bớc đầu tiên của quá trình phát hiện tri thức trong CSDL trớc khi tiến hành bớc khai phá dữ liệu.
4.2 Các khía cạnh thiết kế
4.2.1 Xây dựng kiến trúc dữ liệu cho kho dữ liệu
4.2.1.1 Các kiến trúc dữ liệu nghiệp vụ
Việc đa ra các kiến trúc là bớc đầu tiên để đi tới sự thành công trong việc thực hiện mộtkho dữ liệu Trong phần này, ta đa ra ba mô hình kiến trúc Các mô hình này đợc sửdụng phụ thuộc vào qui mô và độ phức tạp của hệ thống Chúng đợc phân biệt bởi sốlớp dữ liệu (ở mức khái niệm chứ cha phải là cài đặt thực tế) Ta có thể xác định ba cấutrúc riêng biệt sau đây:
+ Kiến trúc đơn tầng: Nguyên tắc chủ chốt và ngầm định của kiến trúc đơn tầng
là mỗi phần tử dữ liệu chỉ đợc lu trữ một lần và chỉ một lần Trong kiến trúc đơn tầng,không có sự tách biệt giữa các lớp dữ liệu Mọi dữ liệu đều nằm trong cùng một lớp vàcác ứng dụng tác nghiệp cũng nh các ứng dụng thông tin đều thao tác trên cùng mộtnguồn dữ liệu Kiến trúc này quá đơn giản, thờng chỉ phục vụ cho mục đích báo cáo, ít
đợc sử dụng để phân tích
Kiến trúc này cho phép các ứng dụng tác nghiệp hoạt động hiệu quả với lợng lớn dữliệu, nhng lại ít hỗ trợ các ứng dụng phân tích thông tin do dữ liệu đợc thiết kế tối u cho
điều hành tác nghiệp, nhng cha chắc phù hợp cho nhu cầu phân tích theo chủ đề
+ Kiến trúc hai lớp đợc sử dụng rộng rãi hơn, thờng đợc áp dụng trong các tổchức nhỏ hoặc trong các giai đoạn đầu khi xây dựng kho dữ liệu lớn của xí nghiệp Kiếntrúc hai lớp tách biệt dữ liệu thành hai phần: lớp thấp hơn gồm dữ liệu thời gian thực, đ-
Trang 28ợc các ứng dụng tác nghiệp sử dụng và lớp cao hơn gồm dữ liệu dẫn xuất (derived data)
đợc sử dụng trong các ứng dụng thông tin Dữ liệu dẫn xuất có thể chỉ là sao chép đơngiản hoặc đợc tính toán, tổng hợp trên dữ liệu thời gian thực
Tuy nhiên, kiến trúc này nảy sinh một số vấn đề trong lu trữ và và quản lý Vấn đề đầutiên là phải nhân bản dữ liệu khi tạo thêm lớp dữ liệu dẫn xuất, do đó làm bùng nổ lu trữ
và tăng đáng kể công việc quản trị và bảo trì dữ liệu
+ Kiến trúc ba lớp là kỹ thuật hiện đại nhất, đợc dùng trong tất cả các tình huốngnghiệp vụ, khi cần có tầm nhìn tổng quát về dữ liêụ của một xí nghiệp lớn Kiến trúc balớp đợc đề xuất ra căn cứ vào vai trò quan trọng của mô hình dữ liệu xí nghiệp và yêucầu cần thêm một lớp trung gian cho phép chọn lọc, làm sạch, biến đổi dữ liệu trớc khicung cấp cho các kho dữ liệu theo chủ đề
Kiến trúc ba lớp chính là một cải tiến từ kiến trúc hai lớp xuất phát từ nhận thức rằngviệc chuyển từ dữ liệu thời gian thực sang dữ liệu dẫn xuất cần phải qua hai giai đoạn.Hai giai đoạn đó là:
Điều hoà (reconcile) dữ liệu từ các tập dữ liệu khác nhau trong lớp thời gian thực
Dẫn xuất dữ liệu theo yêu cầu sử dụng dựa trên các dữ liệu điều hoà (reconciled data)
Nh vậy, lớp dữ liệu điều hoà đợc tạo ra giữa lớp thời gian thực và lớp dữ liệu dẫn xuất.Việc điều hoà dữ liệu giữa các tập dữ liệu khác nhau đòi hỏi phải hiểu rõ các tập đó cóliên quan đến nhau nh thế nào, vai trò của chúng trong nghiệp vụ là gì Trong thực tế,việc này đợc xác định qua quá trình mô hình hoá dữ liệu đợc tiến hành ở mức toàn xínghiệp hay toàn tổ chức Lớp dữ liệu điều hoà phải giải quyết vấn đề kết nối các tập dữliệu riêng biệt với nhau khi có sự khác nhau về tên và khuôn dạng dữ liệu
Kiến trúc dữ liệu nghiệp vụ ba lớp cùng với kiến trúc về siêu dữ liệu sẽ cung cấp một hỗtrợ rộng nhất cho các yêu cầu xây dựng kho dữ liệu
4.2.1.2 Kiểu siêu dữ liệu
Siêu dữ liệu thiết kế (Build-time metadata)
Nguồn chính tạo ra siêu dữ liệu sử dụng trong kho dữ liệu là quá trình các ứng dụngnghiệp vụ và các dữ liệu nghiệp vụ đợc định nghĩa và mô tả Siêu dữ liệu đợc tạo ra và
sử dụng khi thiết kế và xây dựng đợc gọi là siêu dữ liệu thiết kế Do vậy, siêu dữ liệuthiết kế chủ yếu đợc tạo ra trong các hệ thống tác nghiệp, nhng lại đợc sử dụng trongkho dữ liệu Ngày nay, siêu dữ liệu thiết kế đợc sinh ra và lu trữ trong mô hình dữ liệu
và các công cụ thiết kế ứng dụng nh các công cụ CASE
Siêu dữ liệu thiết kế thờng ổn định so với dữ liệu nghiệp vụ đợc mô tả Nói chung, siêudữ liệu chỉ thay đổi khi cấu trúc tổng thể của nghiệp vụ hoặc triển khai ứng dụng bị thay
đổi
Siêu dữ liệu đợc định nghĩa khi thiết kế một ứng dụng sẽ không bị thay đổi kể từ lúc đavào sử dụng cho đến khi một phiên bản ứng dụng mới đợc đa ra Với các ứng dụng điềuhành, việc nâng cấp thờng xuất hiện 1-2 lần một năm, còn các ứng dụng thông tin cóthể thờng xuyên hơn (có khi hàng tháng)
Ngay cả khi ứng dụng đợc nâng cấp, chỉ có một phần nhỏ của siêu dữ liệu bị thay đổi.Siêu dữ liệu có thể ổn định trong chu kỳ năm, tuỳ thuộc vào việc kinh doanh của công
ty hoặc tổ chức
Siêu dữ liệu điều khiển (Control metadata)
Siêu dữ liệu điều khiển đợc sử dụng trong kho dữ liệu nh một cơ cấu quản lý và điềukhiển hoạt động của chính kiến trúc kho dữ liệu Vì vậy, chúng là một phần của siêu dữ
Trang 29liệu hoạt động (Production-time metadata) Siêu dữ liệu điều khiển có hai nguồn cungcấp
Thông tin cấu trúc vật lý chi tiết sinh ra trong lúc xây dựng kho dữ liệu Nguồn thứ haicủa siêu dữ liệu điều khiển là chính cấu trúc cơ sở kho dữ liệu Siêu dữ liệu này mô tảcác hoạt động hiện thời của kho dữ liệu
Nguồn của siêu dữ liệu không phải là siêu dữ liệu thiết kế Siêu dữ liệu điều khiển mô tả
về hiện trạng và cách dùng dữ liệu nghiệp vụ Siêu dữ liệu hiện trạng (currencymetadata) lu các thông tin về việc các ứng dụng hoặc các công cụ đã tạo lập và cập nhậtdữ liệu nghiệp vụ về mặt vật lý nh thế nào Siêu dữ liệu cách dùng (Utilisationmetadata) là thông tin thông qua đó các công cụ của ngời sử dụng truy cập vào kho dữliệu
Siêu dữ liệu hiện trạng tồn tại theo những mức chi tiết khác nhau ở mức chi tiết thấpnhất, thông tin hiện trạng về dữ liệu đợc lu trữ ở mức tệp hoặc bảng Trong trờng hợpnày, siêu dữ liệu sẽ mô tả tính chất theo thời gian của toàn bộ các tập dữ liệu Ví dụ làmột danh sách các khách hàng trong ngày 31 tháng 1 năm 2001 ở mức cụ thể thứ hai,siêu dữ liệu hiện trạng sẽ mô tả tính chất thời gian của mỗi sự xuất hiện của dữ liệu Vềmặt vật lý, đó là các bản ghi hoặc các hàng trong một bảng hoặc một tệp
Tại hai mức chi tiết là tệp/bảng và hàng/bản ghi, có các cách tiếp cận khác nhau để lutrữ siêu dữ liệu nh sau:
+ ở mức tệp/bảng, siêu dữ liệu hiện trạng đợc lu trữ trong các cấu trúc vật lý dớidạng các bảng hoặc tệp Đó là vì chúng đợc tách rời khỏi dữ liệu nghiệp vụ Để tạo rasiêu dữ liệu sẵn sàng đối với ngời sử dụng, chúng phải đợc sao chép vào trong siêu dữliệu cách dùng thông thờng
+ ở mức bản ghi/hàng siêu dữ liệu hiện trạng hầu nh luôn đợc lu trữ nh các nhãnthời gian Lợng các siêu dữ liệu loại này rất lớn, bởi vì chúng không đợc sao chép vàosiêu dữ liệu thông thờng, nhng lại đợc truy nhập trực tiếp bởi ngời sử dụng trong cáctình huống Ngời sử dụng rất ít khi phân biệt siêu dữ liệu điều khiển này với dữ liệunghiệp vụ
Tơng tự, siêu dữ liệu cách dùng cũng có mức cụ thể đó là tệp/bảng/khung nhìn tổngquan (view) và hàng/bản ghi và cột
Việc tạo lập và duy trì siêu dữ liệu cách dùng là nhiệm vụ của các công cụ đợc sử dụng
để truy nhập tới dữ liệu Các chức năng nh vậy có thể đợc tích hợp trong các công cụcủa ngời sử dụng, các công cụ truy nhập dữ liệu hoặc các chức năng bảo mật của CSDL.Siêu dữ liệu cách dùng rất quan trong đối với ngời dùng kho dữ liệu Siêu dữ liệu nàytạo ra những thuận lợi và bất lợi nhất định Thuận lợi là ở chỗ cấu trúc và lu trữ vật lý đ-
ợc xác định phù hợp nhất cho các nhu cầu sử dụng kho dữ liệu Tuy nhiên, chỉ có số ítcác công cụ hiện nay có thể quản lý và sử dụng siêu dữ liệu này
Trong giai đoạn đầu khai thác kho dữ liệu, việc thiếu vắng các công cụ hỗ trợ siêu dữliệu cách dùng có thể không phải là vấn đề có ý nghĩa Tuy nhiên, khi kho dữ liệu lớndần lên và việc khai thác càng đợc mở rộng trong phạm vi toàn xí nghiệp, đó có thể lại
là vấn đề
Trang 304.2.2 Các kỹ thuật thiết kế
Việc thiết kế một kho dữ liệu yêu cầu cần phải sử dụng một số kỹ thuật, ít đợc sử dụngtrong phát triển các ứng dụng tác nghiệp hoặc trong các ứng dụng thông tin truyềnthống Sự cần thiết của các kỹ thuật này xuất phát từ ba đặc trng của việc lu trữ nh sau:
+ Phạm vi của kho dữ liệu thờng bao gồm toàn bộ xí nghiệp
+ Kho dữ liệu chứa đựng bản ghi lịch sử của nghiệp vụ
+ Nguồn của tất cả dữ liệu trong kho dữ liệu là dữ liệu đang có, có thể phân tán
ở nhiều nơi, thay đổi cả cấu trúc, nội dung và chất lợng
4.2.2.1 Mô hình dữ liệu xí nghiệp
Trong phần này ta sẽ xem xét các kỹ thuật mô hình áp dụng trong môi trờng thông tinnói chung và trong kiến trúc dữ liệu ba lớp
Mô hình hoá dữ liệu
Nội dung của việc mô hình hoá dữ liệu rất đơn giản Nó cho ta một cách ghi chép đúng
đắn các khía cạnh của thế giới thực trong các ngữ cảnh cụ thể Mô hình hoá làm cho
ng-ời sử dụng hiểu rõ hơn về các đối tợng đợc mô hình hóa hoạt động nh thế nào, hậu quảcủa những hoạt động đó và ảnh hởng nếu thay đổi nó
Mô hình dữ liệu nghiệp vụ cung cấp cách nhìn tổng quát về nghiệp vụ, tập trung trên dữliệu đợc sử dụng, cho phép thiết kế các hệ thống máy tính hỗ trợ các cách thực hiệnnghiệp vụ Vì vậy, mô hình dữ liệu nghiệp vụ nhằm cung cấp:
+ Lu giữ các định nghĩa dữ liệu nghiệp vụ đầy đủ, ý nghĩa và chính xác
+ Xác định rõ ràng cấu trúc dữ liệu nghiệp vụ nhất quán và chính xác, chứathông tin hữu ích để thực hiện và quản lý các nghiệp vụ
+ Chỉ rõ các đặc tính giống nhau và khác nhau của dữ liệu từ các nguồn cung cấpkhác nhau và mối quan hệ giữa chúng
Mô hình qui trình nghiệp vụ tập trung vào các hoạt động nghiệp vụ, cung cấp:
+ Lu giữ các định nghĩa qui trình nghiệp vụ đầy đủ, ý nghĩa và chính xác
+ Xác định các mối quan hệ giữa các quá trình xử lý nghiệp vụ và bên trong quátrình nghiệp vụ
Thực thể, thuộc tính và quan hệ
Mô hình dữ liệu đợc sử dụng rộng rãi hiện nay tiếp cận theo mô hình thực thể liên kết.Trong cách tiếp cận này, thực thể là một loại đối tợng bất kỳ Mỗi thực thể có một địnhnghĩa nghiệp vụ tơng ứng, có thể tơng đối cụ thể ở trờng hợp này, hoặc có thể rất chungtrong trờng hợp khác
Mỗi thực thể có một số thuộc tính Một thuộc tính là một đặc trng nào đó của thực thể
đợc xét tới trong ứng dụng
Một điều rất quan trọng trong mô hình thực thể liên kết là mối quan hệ giữa các thựcthể (gọi là liên kết) Mỗi liên kết nói lên sự tơng tác giữa hai thực thể
Vai trò của mô hình hoá xí nghiệp
Mô hình hoá xí nghiệp mô tả các nghiệp vụ và dữ liệu ở mức chung nhất và cha phải làcác thiết kế cụ thể các ứng dụng Mô hình hoá xí nghiệp phải bao gồm:
+ Tích hợp các hệ thống đơn lẻ dựa trên các ứng dụng đã có
+ Hỗ trợ việc chia sẻ dữ liệu giữa các lĩnh vực nghiệp vụ khác nhau
Trang 31+ Quản lý có hiệu quả các nguồn dữ liệu nhờ các định nghĩa dữ liệu nhất quán.+ Hỗ trợ tạo lập và duy trì của các thông tin quản lý rộng lớn trong toàn xí nghiệp.Các mô hình xí nghiệp chủ yếu tập trung vào mục đích thứ nhất và thứ hai nh đã kểtrên.
Cấu trúc mô hình dữ liệu xí nghiệp (Enterprise Data Modeling - EDM)
Có nhiều cách tiếp cận đến mô hình hoá dữ liệu xí nghiệp
Cấu trúc cụ thể của một mô hình dữ liệu xí nghiệp đợc chia lớp trong một hình tamgiác, trong đó khối lợng thông tin sẽ nhỏ dần về phía đỉnh tam giác, nhng tăng rấtnhanh về phía đáy
Đỉnh của mô hình là lớp phạm vi và kiến trúc, cung cấp cách nhìn thống nhất về nghiệp
vụ Lớp này đa ra một số lợng hạn chế các khái niệm về nghiệp vụ phản ánh các lĩnhvực nghiệp vụ chung nhất Mục đích của lớp này là cung cấp cách nhìn dễ hiểu về cácnghiệp vụ ở tất cả các lớp dới
Lớp thứ hai là phân hoạch dữ liệu nghiệp vụ Lớp này đa ra cách định nghĩa thêm về nộidung của các khái niệm khác nhau, phân loại chúng theo các luật nghiệp vụ khác nhau.Lớp này cho phép các bộ phận khác nhau trong xí nghiệp kiểm tra lại các khái niệmnghiệp vụ cụ thể hơn Lớp này có mối liên quan về khái niệm với mô hình quan hệ thựcthể chung (Entity Relationship Modeling - ERM) Đây là lớp chủ chốt của mô hình dữliệu xí nghiệp
Lớp mô hình quan hệ thực thể chung đợc cấu trúc nh một biểu đồ quan hệ thực thể kinh
điển, xác định và mô tả cụ thể tất cả các thực thể, các thuộc tính và các mối quan hệ đợc
sử dụng cho tất cả các nghiệp vụ
Lớp thứ t của mô hình chứa các khung nhìn ứng dụng logic (logical application views),
có quan hệ rất chặt chẽ với mô hình quan hệ thực thể chung Một thực thể đơn lẻ trongmô hình quan hệ thực thể có thể xuất hiện nhiều lần trong khung nhìn ứng dụng logic,với các tập thuộc tính của nó, để đáp ứng đợc các ứng dụng nghiệp vụ khác nhau.Khung nhìn ứng dụng logic là quan hệ giữa các thực thể trong lớp này với một thực thể
đơn lẻ trong lớp trên Để đảm bảo các ứng dụng sử dụng dữ liệu một cách nhất quán,lớp cũng chỉ ra cách chia sẻ dữ liệu giữa các ứng dụng
Lớp cuối cùng là lớp thiết kế dữ liệu vật lý với các ràng buộc trong việc thực hiện vật lý,
ví dụ: hiệu năng, nguồn dữ liệu vật lý, phân bố vật lý của dữ liệu vào các vùng
Mô hình dữ liệu xí nghiệp và kiến trúc ba lớp
Khi so sánh mối quan hệ giữa các phạm vi dữ liệu của mô hình dữ liệu xí nghiệp và balớp của kiến trúc dữ liệu nghiệp vụ đã định nghĩa trong phần trên, có thể thấy một số t -
ơng quan nh sau:
+ Lớp dữ liệu điều hoà bao trùm toàn bộ phạm vi của nghiệp vụ, tơng đơng vớimô hình quan hệ thực thể chung
+ Dữ liệu thời gian thực (Real-time data) đợc tạo lập và quản lý bởi các ứng dụng
điều hành trong một phạm vi hạn chế, đợc mô hình thông qua khung nhìn ứng dụnglogic
+ Dữ liệu dẫn xuất có phạm vi hạn chế trong các nhu cầu của ngời sử dụng (hoặcnhóm ngời dùng) Nó đợc mô hình hoá thông qua khung nhìn ứng dụng logic
Khung nhìn ứng dụng logic cho dữ liệu thời gian thực và dữ liệu dẫn xuất có thể baotrùm lên nhau hoặc tơng đối cách biệt, tuỳ theo các nhu cầu nghiệp vụ
Trang 32Các mô hình cho dữ liệu thời gian thực, dẫn xuất, điều hoà tất nhiên là phải đợc đa vàotrong mức thiết kế dữ liệu vật lý một cách thích hợp.
4.2.2.2 Biểu diễn thời gian trong dữ liệu nghiệp vụ
Do nghiệp vụ thay đổi theo thời gian, nên nghiệp vụ phải biểu diễn yếu tố thời gian Tuynhiên, các cách tiếp cận truyền thống trong việc thiết kế các mô hình dữ liệu và các ứngdụng tập trung phần lớn vào cách nhìn tĩnh của thế giới
Đ
a yếu tố thời gian vào mô hình dữ liệu
Xét quan hệ đơn giản giữa hai thực thể Phòng và Nhân viên Một phòng có thể có nhiềungời, ngợc lại một ngời chỉ thuộc duy nhất một phòng Tuy nhiên, quan hệ kết nối này
có điểm mắc mớ: khẳng định "mỗi ngời chỉ thuộc duy nhất một phòng" chỉ đúng tạimột thời điểm nào đó Rõ ràng một ngời có thể thuộc các phòng khác nhau tại nhữngthời điểm khác nhau Khía cạnh thời gian đã bị bỏ qua trong các quan hệ thực thể theocách truyền thống Với kho dữ liệu, ta cần phải đề cập đến các khía cạnh thời gian mộtcách chính xác, bởi vì nó phải đa ra định nghĩa và cung cấp về cách nhìn lịch sử của dữliệu
Nhãn thời gian (timestamp)
Một cách tiếp cận thực tế đợc sử dụng rộng rãi đó là dùng nhãn thời gian cho dữ liệu
Do dữ liệu thay đổi cơ bản ở mức trờng, ta có thể biểu diễn thời gian ở mức này hoặc ởbất kỳ một mức cao hơn khác trong cấu trúc, chẳng hạn ở mức bản ghi/hàng/tệp/bảngtuỳ thuộc vào yêu cầu cụ thể
1. Theo dõi thời gian ở mức trờng
Đây là mức cụ thể nhất Biểu diễn thời gian ở mức trờng, nghĩa là gắn nhãn thời gianliên kết với mỗi trờng của dữ liệu nghiệp vụ Trong trờng hợp này, các thay đổi của dữliệu có thể đợc theo dõi một cách cụ thể Tuy nhiên, nhu cầu nghiệp vụ cần phải theodõi ở mức này là các câu hỏi trong trờng hợp cụ thể nhất Hơn nữa, một lợng lớn dữ liệu
có nhãn thời gian đợc tạo ra tơng đơng với lợng dữ liệu thực, nên chi phí lu trữ là khá
đắt
2. Theo dõi thời gian ở mức bản ghi/hàng
Những vấn đề kỹ thuật theo dõi thời gian ở mức trờng đơn giản hơn gán nhãn thời gian
ở mức bản ghi/hàng, ở đây nhãn thời gian của một bản ghi sẽ đợc cập nhật mỗi khi cóbất cứ trờng nào trong bản ghi bị thay đổi
Cách tiếp cận này sẽ đáp ứng đợc phần lớn nhu cầu theo dõi thời gian và nó là cách đợc
áp dụng phổ biến hiện nay
3. Theo dõi thời gian ở mức bảng/tệp
Có thể gán nhãn thời gian cho cả tệp/bảng Nhãn thời gian sẽ đợc cập nhật mỗi khi cóbất cứ trờng nào thay đổi Cách tiếp cận này không thích hợp cho việc điều khiển vàkiểm soát dữ liệu Tuy nhiên, đó thờng là mức ngời sử dụng muốn theo dõi hiện trạngdữ liệu
Các bản sao (snapshots) biểu diễn khung nhìn nghiệp vụ tại một thời điểm có thể có temthời gian ở mức ẩn hoặc rõ ràng
Dữ liệu thay đổi nh thế nào
Vấn đề đặt ra là ta cần phải biết sự thay đổi của dữ liệu đợc thu nhận và đợc biểu diễnqua thời gian nh thế nào?
Trang 33ở mức nghiệp vụ, dữ liệu đợc thay đổi qua các giao tác nghiệp vụ, chẳng hạn tạo, thay
đổi, xoá các bản ghi trong dữ liệu nghiệp vụ thời gian thực Một giao tác nghiệp vụ đơn
lẻ có thể ảnh hởng đến nhiều bản ghi dữ liệu Chính vì vậy, một giao tác nghiệp vụ đơn
lẻ có thể gây ra một số thay đổi trong CSDL
Hầu hết các hoạt động nghiệp vụ đợc hiểu một cách trực giác và đợc theo dõi bởi các sựkiện đã xuất hiện Tuy nhiên, có thể lu trữ các trạng thái hoặc các sự kiện trong môi tr-ờng thông tin theo hai cách tiếp cận, bởi lẽ việc đó rất quan trọng cho phép nhận ra sựkhác nhau của hai cách tiếp cận và các mối quan hệ giữa chúng
Quan sát dữ liệu thời gian theo trạng thái
CSDL trạng thái chứa một tập các bản ghi đã gán nhãn thời gian Mỗi bản ghi chỉ ratrạng thái của một thực thể tại một thời điểm
Ta xét một ứng dụng trong việc quản lý tài khoản ở ngân hàng Mỗi bản ghi chỉ ra sốtiền còn lại của tài khoản sau khi thực hiện một giao tác Mỗi bản ghi này là một bảnghi trạng thái Mỗi bản ghi có quan hệ với một bản ghi trớc bởi một sự kiện xảy ra(trong trờng hợp này, đó là sự kiện rút ra hoặc gửi tiền vào tài khoản) Dữ liệu tronggiao tác gửi tiền 250$ là dữ liệu sự kiện Mối quan hệ giữa dữ liệu sự kiện và dữ liệutrạng thái cũng đợc chỉ ra Nhãn thời gian tại trạng thái ba bằng thời gian sự kiện xảy racộng với thời gian tại trạng thái hai (thời gian trớc khi sự kiện xảy ra)
Dữ liệu trạng thái đợc lu trữ hàng ngày trong CSDL hoặc tệp đợc tham chiếu bởi rấtnhiều các ứng dụng thông tin và các ứng dụng nghiệp vụ Dữ liệu sự kiện thờng không
đợc lu cho mục đích nghiệp vụ Dữ liệu sự kiện chỉ đợc lu giữ trong các sổ nhật ký(database logs) của CSDL nhằm phục vụ các mục đích phục hồi
Quan sát CSDL thời gian dựa trên các sự kiện
Mối quan hệ giữa các dữ liệu sự kiện và dữ liệu trạng thái cho ta một cách biểu diễnkhác về thời gian trong dữ liệu lu trữ Cách tiếp cận này yêu cầu chỉ lu trữ các sự kiện
ợc lu trữ mỗi khi có thay đổi Số dữ liệu thay đổi thờng là toàn bộ bản ghi
Nói chung, cách tiếp cận sự kiện linh hoạt hơn cách tiếp cận trạng thái
Cấu trúc dữ liệu thời gian
Các nhãn thời gian cùng với các khái niệm về cách biểu diễn trạng thái và sự kiện chophép duy trì dữ liệu thời gian Tuy nhiên, ta phải xem xét một khía cạnh nữa trong dữliệu thời gian để thấy đợc lịch sử dữ liệu phản ánh nh thế nào trong CSDL Hơn nữa, vấn
đề này có quan hệ với cấu trúc của dữ liệu và các sự kiện mới ảnh hởng đến dữ liệu hiệntại nh thế nào
Hai phơng pháp cơ bản tơng ứng với hai kiểu dữ liệu: dữ liệu tạm thời và dữ liệu định
kỳ Mỗi bản ghi chứa một trờng khoá k và một nhãn thời gian t Trờng khoá là địnhdanh duy nhất xác định mỗi bản ghi, nên phải có đối với cả hai kiểu dữ liệu, nhng nhãnthời gian lại là một tuỳ chọn (có thể có hoặc không) trong dữ liệu tạm thời
Dữ liệu tạm thời
Đặc trng của dữ liệu tạm thời là khi có các thay đổi và loại bỏ các bản ghi dữ liệu vật lýhiện tại, nội dung của dữ liệu tạm thời ở thời điểm trớc đó bị xoá đi
Trang 34Các bản ghi có thể thêm vào ( ví dụ, ta thêm một bản ghi có khoá k6 ở thời điểm t1) vàxoá đi (bản ghi có khoá k3 ở thời điểm t2) Tuy nhiên, trong dữ liệu sau thời điểm t2,các nội dung trớc của bản ghi k3 không còn lu lại gì cả Các bản ghi có thể bị thay đổi,vì ở thời điểm t1, bản ghi k2 và k4 đã đợc thay đổi và bản ghi k4 lại bị thay đổi ở thời
điểm t2 Trong trờng hợp xoá, các trạng thái trớc của bản ghi bị thay đổi sẽ bị mất.Kiểu dữ liệu này hay đợc dùng nh dữ liệu thời gian thực trong môi trờng ứng dụng tácnghiệp, để chỉ các trạng thái đợc lu trữ nh các dữ liệu tạm thời Một CSDL sự kiện tạmthời chỉ chứa sự kiện cuối cùng và vì vậy, sẽ ít có giá trị trong xử lý nghiệp vụ
Dữ liệu định kỳ
Trong dữ liệu định kỳ, một bản ghi đợc thêm vào sẽ đợc lu trữ, đồng thời không bản ghi
ở thời điểm trớc đó không bị xoá hoặc và nội dung nghiệp vụ của nó cũng không baogiờ bị sả về mặt vật lý
Hơn nữa, các bản ghi mới luôn đợc thêm vào, thậm chí cả khi cập nhật hoặc xoá cácbản ghi đã tồn tại
Ví dụ, ở thời điểm t1, bản ghi có khoá k3 đợc cập nhật, nhng giá trị cũ C không bị ghi
đè bởi giá trị mới M mà một bản ghi hoàn toàn mới với khoá k3 (cùng khoá) nhng vớinhãn thời gian khác t1 đợc thêm vào Do vậy, nhãn thời gian là một thuộc tính bộ phậncủa khoá
Dữ liệu định kỳ luôn chứa những thay đổi của toàn bộ bản ghi Dữ liệu định kỳ là tạo ra
sự liên tục, theo khuôn mẫu cố định phản ánh những thay đổi của nó Mỗi lần có thay
đổi trạng thái hoặc sự kiện xảy ra, một bản ghi mới có thể đợc tạo ra
Dữ liệu định kỳ trong dữ liệu thời gian thực cuả các hệ thống tác nghiệp lu giữ bản ghitrạng thái trớc của dữ liệu có vai trò rất quan trọng, đặc biệt trong các hệ thống tàikhoản ở ngân hàng hay các hệ thống bảo hiểm
Ta xét cách thứ ba nhằm duy trì tính lịch sử Đó là phơng pháp tạo bản sao
Dữ liệu bản sao (snapshot data)
Dữ liệu bản sao là khung nhìn dữ liệu tại một thời điểm nào đó Nó không bị thay đổikhi dữ liệu gốc thay đổi Nó có thể đợc cập nhật, lúc đó sẽ bị thay thế toàn bộ hoặcgiống nh dữ liệu tạm thời
Kiểu dữ liệu này thờng xuất hiện trong lớp dữ liệu dẫn xuất Các bản sao thể hiện dữliêụ nghiệp vụ tại một vài thời điểm trong quá khứ Với các bản sao ở nhiều thời điểm,
sẽ tạo ra cách nhìn lịch sử về dữ liệu Hơn nữa, có thể xem việc dự đoán hoặc lập kếhoạch về các trạng thái dữ liệu tại thời điểm tơng lai dựa trên dữ liệu quá khứ cũng làcác bản sao
Sự cần thiết của dữ liệu lịch sử
Các đòi hỏi sử dụng dữ liệu lịch sử thờng bao gồm nh sau:
1. Tạo ra khung nhìn về nghiệp vụ tại một thời điểm bất kỳ Nói chung, ngời sử dụng cần phải xem xét nghiệp vụ tại các thời điểm khác nhau Tại
Trang 35một vài thời điểm, dữ liệu đặc biệt quan trọng, ví dụ nh kết thúc của một tài khoản hoặcchu kỳ thuế và các sự kiện nghiệp vụ quan trọng Những các truy vấn này phải có tính
ổn định, nghĩa là cùng một câu hỏi ở các thời điểm khác nhau phải cho cùng một kếtquả Điều này khó đạt đợc ở các hệ thống tác nghiệp hàng ngày Yêu cầu nh vậy đợcthoả mãn bởi các dữ liệu bản sao
2. Phân tích xu hớng nghiệp vụ
Phân tích xu hớng nghiệp vụ dựa trên hàng loạt các khung nhìn dữ liệu tại các thời điểmkhác nhau Chẳng hạn, các báo cáo doanh thu hàng tháng có thể đợc dùng để phân tích
xu hớng kinh doanh trong các tháng tiếp theo
Để phân tích xu hớng nghiệp vụ, ta phải chọn chu kỳ thời gian và thiết lập các dữ liệutại các thời điểm tơng ng Dữ liệu định kỳ rất thích hợp trong trờng hợp này
Vai trò của dữ liệu lịch sử trong kiến trúc kho dữ liệu
Trong ngữ cảnh kiến trúc dữ liệu ba lớp, dữ liệu lịch sử là tổ hợp của các kiểu dữ liệukhác nhau, xuất hiện và đợc sử dụng trong cả ba lớp
Dữ liệu nghiệp vụ lịch sử tồn tại trong cả ba lớp, nhng lại khác nhau trong mỗi lớp.Nguồn của dữ liệu lịch sử là lớp dữ liệu thời gian thực Trong hầu hết các trờng hợp, dữliệu lịch sử đợc lu trữ và sử dụng với vài sự mở rộng trong lớp này Dữ liệu lịch sử đợc
lu trữ theo các thời điểm khác nhau và do vậy, thờng xuất hiện trong lớp dữ liệu dẫnxuất Tuy nhiên, vai trò của dữ liệu lịch sử trong lớp điều hoà là rất quan trọng, bởi vìxuất phát từ đó, tất cả các dữ liệu dẫn xuất đợc hình thành
Dung l ợng của dữ liệu lịch sử
Đặc trng quan trọng của dữ liệu lịch sử là dung lợng tiềm năng lớn và chi phí cao trong
lu trữ Do vậy, dung lợng của dữ liệu lịch sử cần đợc lu giữ phải đợc xem xét trên cơ sởyêu cầu khai thác, sử dụng
Rõ ràng nếu tất cả dữ liệu đợc lu trữ ở mức cao nhất và không bao giờ bị xoá, tất cả cáctruy vấn tơng lai và các phân tích tơng lai đều có thể thực hiện đợc Tuy nhiên, cách tiếpcận này khó đợc thoả mãn khi phân tích lợi ích-chi phí Một số điểm cần lu ý nh sau:
+ Dữ liệu tổng hợp đợc sử dụng trong khoảng thời gian lâu hơn dữ liệu chi tiết
+ Các nghiệp vụ quản lý và điều hành dựa chủ yếu vào dữ liệu tổng hợp phục vụ cho việc đa ra các quyết định, trong khi đó, dữ liệu tác nghiệp thờng tồn tại trong khoảng thời gian ngắn hiện tại và xuất hiện ở mức chi tiết.
4.2.2.4 Nhân bản dữ liệu
Nhân bản dữ liệu (Data replication) đợc coi nh một công việc cơ bản trong xử lý dữ liệu.Tuỳ thuộc vào mục đích của dữ liệu đợc nhân bản, bản sao phải đợc đồng nhất vớinguồn của nó hoặc có thể bị thay đổi trong một số trờng hợp đặc biệt
Sự cần thiết phải nhân bản dữ liệu khi xếp vào kho dữ liệu là hiển nhiên xuất phát từ cácnhu cầu cần đợc thoả mãn nh:
+ Tạo ra lớp dữ liệu nghiệp vụ điều hoà
+ Tạo ra lớp dữ liệu dẫn xuất
+ Tạo ra lớp siêu dữ liệu cách dùng
Phần này giới thiệu tính năng kỹ thuật về nhân bản dữ liệu Ta sẽ bắt đầu với một câuhỏi là tại sao cách tiếp cận truyền thống để sao chép dữ liệu là không thích hợp trongmôi trờng kho dữ liệu
Trang 36Trong khi kiến trúc dữ liệu và các hoạt động mô hình hoá tạo ra một thách thức lớntrong phần thiết kế kho dữ liệu, việc thu thập dữ liệu trong quá trình triển khai lại baogồm phần lớn thời gian thực hiện Do vậy, việc lựa chọn cách tiếp cận sẽ ảnh hởng tới
sự thực hiện vật lý của mô hình dữ liệu xí nghiệp trong lớp điều hoà Hơn nữa, các vị trívật lý khác nhau của nguồn và đích có thể hạn chế khả năng thực hiện các công cụ triểnkhai
Do đó, khi triển khai kho dữ liệu, nhân bản dữ liệu phải tính đến các vấn đề: chức nănghoạt động, các nền tảng phần cứng, hệ điều hành và hệ quản trị CSDL đợc hỗ trợ, dễdàng bảo trì, hỗ trợ mềm dẻo cho các thay đổi nghiệp vụ, tính dễ dùng và hiệu năngthực hiện
Sao chép dữ liệu ở mức ứng dụng (Application-level data copying)
Theo cách tiếp cận truyền thống này, các yêu cầu về dữ liệu sao chép đợc xác định chỉtrong phạm vi của ứng dụng trong thời gian phát triển Một chơng trình sao chép dữ liệuthờng đợc thiết kế và xây dựng để trích ra dữ liệu từ nguồn và phân phát nó tới môi tr-ờng đích Cách tiếp cận này gọi là sao chép dữ liệu ở mức ứng dụng
Sửa chữa các chơng trình sao chép là một thách thức (khó khăn) khi CSDL tác nghiệpnguồn thay đổi về cấu trúc hoặc nội dung Với các thay đổi về nghiệp vụ, các chơngtrình sao chép cũng phải đợc sửa đổi Việc nâng cấp theo các thay đổi thờng rất phứctạp, bởi vì sẽ có nhiều phần liên quan đến một thay đổi và khó kiểm soát hết đợc Hơnnữa, sẽ cần phải có một khoảng thời gian ngng trệ bắt buộc để các chơng trình sao chép
đợc cập nhật trong lúc các thay đổi thiết kế trong CSDL nguồn đợc hoàn thành
Dữ liệu đợc sao chép bởi nhiều chơng trình từ nhiều nguồn dữ liệu tác nghiệp khác nhaukhó duy trì đợc tính nhất quán và có thể gây ra các xung đột đáng kể
Khi yêu cầu sao chép tăng, ngoài độ phức tạp của nghiệp vụ bảo đảm tính nhất quán dữliệu và nghiệp vụ, các tài nguyên tính toán có thể bị chiếm rất nhanh, ảnh hởng đến hiệunăng chung của hệ thống
Nhân bản dữ liệu
Nhân bản dữ liệu có các đặc trng sau:
+ Điều khiển đợc: Nhân bản dữ liệu sẽ đảm bảo tính nhất quán của kết quả, bất kểdữ liệu đó đợc sao chép khi nào, nh thế nào hoặc đợc thao tác nh thế nào, khi nào
+ Quản lý đợc: Nhân bản dữ liệu cung cấp khả năng tạo, sửa đổi và loại bỏ
+ Linh hoạt: Nhân bản dữ liệu cho phép kết hợp các chức năng và các kỹ thuật cầnthiết
+ Dễ dàng duy trì: Nhân bản dữ liệu có thể đáp ứng nhanh chóng và hiệu quả với cácthay đổi về cấu trúc hoặc vị trí của các tập dữ liệu nguồn và đích
+ Khả năng tích hợp các siêu dữ liệu: Nhân bản dữ liệu cung cấp sự liên kết tới siêudữ liệu ở cả dữ liệu nguồn và đích và sử dụng hoặc cung cấp siêu dữ liệu khi cần
+ Hiệu suất cao: Cung cấp các phơng pháp hỗ trợ các nguồn dữ liệu lớn ở nhiều mức
đồng bộ khác nhau
+ Tính đa dạng của nguồn dữ liệu: Nhân bản dữ liệu hỗ trợ sự đa dạng của các đặctrng nguồn dữ liệu của môi trờng tính toán hiện nay qua một cách tiếp cận đơn lẻ hoặcqua một tập các kết nối
+ Dễ sử dụng: Ngời sử dụng với kỹ năng kỹ thuật từ mức bình thờng đến mức quảntrị cơ sở dữ liệu đều có thể sử dụng công cụ này
Trang 37Để nhân bản dữ liệu theo một cách nhất quán phù hợp với các đặc trng nêu trên, các bớctrong quá trình nhân bản dữ liệu đợc xác định nh sau:
số kiểu dữ liệu dẫn xuất, việc định nghĩa cấu trúc dữ liệu đích có thể là một bộ phậntrong định nghĩa của tiến trình nhân bản Vì vậy, công việc này phải hỗ trợ cả việc xác
định dữ liệu đích đang tồn tại và tạo lập một định nghĩa mới nếu có yêu cầu
3 Tạo ánh xạ giữa nguồn và đích
Khi các định nghĩa của dữ liệu nguồn và đích đã có sẵn, nhiệm vụ tiếp theo là phải địnhnghĩa dữ liệu nguồn đợc chuyển vào dữ liệu đích nh thế nào Việc định nghĩa nhân bảnnày phải đòi hỏi xử lý rất nhiều kiểu chuyển đổi khác nhau Hơn nữa, các phần tử dữliệu nguồn có thể đợc két hợp, tổng hợp để sinh ra dữ liệu mới trong môi trờng đích
4 Xác định cách nhân bản
Có hai cách tạo nhân bản dữ liệu : làm tơi và cập nhật, trong đó làm tơi là cách dichuyển toàn bộ dữ liệu từ nguồn tới đích và cập nhật xác định và chỉ di chuyển các dữliệu bị thay đổi từ môi trờng nguồn tới môi trờng đích
5 Lập lịch thực hiện nhân bản
Các nhân bản dữ liệu có thể đợc lập lịch làm tơi hoặc cập nhật theo định kỳ, ví dụ hàngtuần, hàng tháng, vv
6 Kết xuất dữ liệu đòi hỏi từ nguồn
Đây là bớc diễn ra thực tế kết xuất dữ liệu từ nguồn sang đích tuân theo lịch đề ra ở bớc
5 và không cần có can thiệp của ngời sử dụng Phơng pháp kết xuất phụ thuộc vào côngnghệ lu trữ dữ liệu nguồn và cách nhân bản cũng đợc xác định ở bớc trớc
7 Di chuyển dữ liệu đã kết xuất từ nguồn sang đích
Phơng pháp di chuyển dữ liệu phải đáp ứng môi trờng không đồng nhất, trong đó nguồn
và đích có thể là các kiểu máy, có khuôn dạng, ở vùng lu trữ khác nhau
8 Chuyển đổi dữ liệu kết xuất dựa trên ánh xạ đã xác định
Bớc chuyển đổi có thể xảy ra trong môi trờng nguồn hoặc môi trờng đích hoặc cả hai.Các chuyển đổi thực hiện ở các mức khác nhau Ví dụ, thay đổi một hoặc nhiều trờngvới một bản ghi, kết hợp, gộp các bản ghi từ nhiều nguồn khác nhau v.v
9 Đa dữ liệu đã chuyển đổi vào đích
Dữ liệu có thể đa vào đích theo hai cách cơ bản: thay thế dữ liệu đang có và thêm vàodữ liệu đang có
10 Khẳng định sự thành công, thất bại của nhân bản
Các bớc trong quá trình tạo nhân bản dữ liệu đều có thể bị thất bại Khi đó, nên áp dụngmột cơ cấu quay lui khắc phục các lỗi cụ thể Tuy nhiên, nếu tiến trình không hoànthành, các báo lỗi cần đa ra để tìm cách khắc phục
11 Ghi chép các thông tin nhân bản vào siêu dữ liệu.
Trang 38Các công cụ nhân bản ghi chép thành công hay thất bại ở mỗi bớc vào trong siêu dữliệu, giúp ngời sử dụng có các thông tin về dữ liệu hiện trạng trong hệ thống đích.
12 Bảo trì các định nghĩa về nguồn, đích và ánh xạ nhân bản
Khi nghiệp vụ thay đổi, phải cập nhật lại định nghĩa của quá trình tạo nhân bản để phản
ánh các thay đổi trong dữ liệu nguồn, các yêu cầu mới cho dữ liệu đích, các sự chuyển
đổi dữ liệu mới v.v
Mô hình hoá dữ liệu xí nghiệp và nhân bản dữ liệu
Mô hình hoá dữ liệu xí nghiệp có quan hệ chặt chẽ với việc tạo ra quan hệ hoặc ánh xạgiữa dữ liệu nguồn và đích Tạo ánh xạ giữa dữ liệu nguồn và đích chính là thiết lậpnguồn nuôi dữ liệu cho đích sử dụng Do vậy, thiết lập ánh xạ nguồn và đích là mộtphần trong mô hình hoá dữ liệu xí nghiệp
Nhân bản dữ liệu đợc sử dụng rộng rãi trong các kỹ thuật lu trữ, quản lý dữ liệu hiệnnay Nhân bản dữ liệu đợc xác định theo nhu cầu của kho dữ liệu để xây dựng và duy trìcác cấu trúc dữ liệu của lớp dữ liệu điều hoà, lớp dữ liệu dẫn xuất và của kho siêu dữliệu Nhân bản dữ liệu thực chất cũng đợc dùng để đồng bộ hoá dữ liệu giữa các CSDLphân tán
4.2.3 Kiến trúc logic
Các kiểu dữ liệu và các khái niệm về các lớp dữ liệu nghiệp vụ cũng nh các loại siêu dữliệu cho ta cơ sở lý thuyết về cấu trúc kho dữ liệu Các mục trớc đã mô tả các công cụcơ bản để thiết kế kho dữ liệu Trong mục này, sẽ giới thiệu một cách nhìn tổng quát củamột cấu trúc kho dữ liệu
Dữ liệu Tác nghiệp
Kho dữ liệu nghiệp vụ
BIW
Dữ liệu điều hoà Dữ liệu dẫn xuất
Dữ liệu thời gian thực
Kho thông tin nghiệp vụ
• Hình 4.5 Kiến trúc logic kho dữ liệu nghiệp vụ
4.2.3.1 Dữ liệu nghiệp vụ trong kho dữ liệu
Trang 39ở đầu phần 4.2, dữ liệu thời gian thực, dữ liệu dẫn xuất, dữ liệu điều hoà chỉ là mứckhái niệm ở mức vật lý của kho dữ liệu, mỗi lớp này có phần vật lý tơng ứng Tuynhiên, chúng có thể không có các vùng vật lý riêng biệt và đợc triển khai theo nhiềucách khác nhau Ta xét một kiểu cấu trúc logic ở mức cao đợc minh hoạ trong hình 4.5.
• Các hệ thống điều hành (thời gian thực)
Các hệ thống điều hành là các ứng dụng thực hiện các tác nghiệp và các dữ liệu đợc sửdụng ở dới dạng các tệp hoặc trong các CSDL thời gian thực Các ứng dụng nh vậy tồntại dới nhiều khuôn dạng khác nhau và ở nhiều vùng lu trữ khác nhau Vì vậy, chúngvừa không đồng nhất, vừa phân tán Các ứng dụng mới tiếp tục đợc xây dựng và thậmchí ngày càng không đồng nhất và phân tán hơn trong quá khứ Các ứng dụng thờng đợcthực hiện trong các môi trờng khách/chủ khác nhau
Các hệ thống điều hành là nguồn dữ liệu cung cấp cho kho dữ liệu Dữ liệu nh vậy đợctạo ra qua các hệ thống xử lý giao tác Tuy nhiên, nguồn dữ liệu cung cấp cho Kho dữliệu cũng có thể là các dữ liệu bên ngoài, dữ liệu dự báo, dữ liệu lặp và dữ liệu cá nhân.Các nguồn dữ liệu này có thể đến từ các hệ thống tác nghiệp, các kho dữ liệu và các hệthống tơng tác khác
• Kho dữ liệu nghiệp vụ (Business Data Warehouse - BDW)
Kho dữ liệu nghiệp vụ là thể hiện vật lý của lớp dữ liệu điều hoà Các đặc trng của lớpdữ liệu này đã đợc mô tả trong phần trên Đặc trng của kho dữ liệu nghiệp vụ là tính chitiết, lịch sử, nhất quán, mô hình hoá và chuẩn hoá
Kho dữ liệu nghiệp vụ ít khi đợc ngời sử dụng trực tiếp Đó là nguồn dữ liệu trong khothông tin nghiệp vụ đợc trình bày sau đây:
• Kho thông tin nghiệp vụ (Business Information Warehouse - BIW)
Kho thông tin nghiệp vụ là một tên chung cho bất kỳ hệ thống nào đợc sử dụng trongviệc báo cáo, phân tích và dự báo về nghiệp vụ, bao gồm báo cáo thông tin quản lý, hỗtrợ quyết định và các hệ thống thông tin điều hành nh các hệ thống phân tích thị trờng,các ứng dụng khai phá dữ liệu, vv Kho thông tin nghiệp vụ gắn với lớp dữ liệu dẫnxuất trong mô hình kiến trúc ba lớp Hiện nay, hầu hết các kho thông tin nghiệp vụ đều
sử dụng cấu trúc quan hệ dựa trên hàng và cột
Kho thông tin nghiệp vụ chứa dữ liệu dẫn xuất đợc thiết kế để hỗ trợ các nhu cầu củangời sử dụng, hoặc từng cá nhân hoặc từng nhóm, hoặc các phòng Chúng có thể chứadữ liệu ở mức tổng hợp hoặc mức chi tiết, dữ liệu định kỳ trong một khoảng thời giannhất định hoặc các bản sao Cấu trúc của kho thông tin nghiệp vụ đợc thiết kế tối u choviệc thực hiện các câu hỏi trực tuyến hoặc các truy vấn xác định trớc hoặc tuỳ biến.Kho thông tin nghiệp vụ đợc sinh ra hoặc trực tiếp từ kho dữ liệu nghiệp vụ hoặc quamột kho thông tin nghiệp vụ khác Việc sinh ra kho thông tin nghiệp vụ trực tiếp từ khodữ liệu nghiệp vụ dựa trên quan hệ giữa dữ liệu dẫn xuất và dữ liệu điều hoà Khothông tin nghiệp vụ có thể kết xuất từ một kho thông tin nghiệp vụ khác, nhng khôngphải là cách sử dụng tốt nhất các tài nguyên tính toán Tuy nhiên, sự thuận lợi của việcnày, cần phải cân nhắc tới nguy cơ tạo ra hiện tợng phản ứng dây chuyền khi các kho dữliệu quá phụ thuộc vào nhau Điều này dẫn tới việc phân loại hai kiểu kho thông tinnghiệp vụ: kho thông tin nghiệp vụ tạm thời là nguồn cho các kho thông tin nghiệp vụkhác và kho thông tin nghiệp vụ ngời sử dụng không cho phép cung cấp dữ liệu cho cáckho thông tin nghiệp vụ khác Với kho thông tin nghiệp vụ tạm thời, yêu cầu phải có sựquản lý đặc biệt để bảo đảm tính nhất quán và tính toàn vẹn của dữ liệu đợc lu trữ
Trang 404.2.3.2 Siêu dữ liệu trong kho dữ liệu
Trong cả ba lớp của kiến trúc đều cần có siêu dữ liệu Tuy nhiên, không phải mỗi lớp
đều cần tất cả các siêu dữ liệu Giả sử ba thành phần của siêu dữ liệu ( đã mô tả ở mục4.2.1.2) sẽ thể hiện mức độ quan trọng khác nhau trong các lớp dữ liệu nghiệp vụ
Kiến trúc này yêu cầu một cơ sở chung của siêu dữ liệu thiết kế, chứa đựng các địnhnghĩa của cả ba lớp để có thể biểu diễn đợc các quan hệ giữa chúng
Cũng nh siêu dữ liệu thiết kế, các siêu dữ liệu điều khiển và siêu dữ liệu cách dùng cũngcần thiết trong cả ba lớp, nhng nội dung thực của các siêu dữ liệu này đợc lu trữ khácnhau tuỳ theo nhu cầu của từng lớp
4.2.3.3 Quản lý kho dữ liệu
Quản lý kho dữ liệu tuy không phải là một thành phần chứa dữ liệu trong cấu trúc khodữ liệu, nhng nó lại là chức năng đảm bảo cho cả môi trờng kho dữ liệu hoạt động Cácchức năng quản lý kho dữ liệu bao gồm:
- Truy cập dữ liệu liên quan đến khuôn dạng vật lý và vị trí lu trữ của dữ liệu
- Quản lý quá trình bao gồm tạo ra, làm tơi dữ liệu, đồng bộ dữ liệu giữa các lớp
- Di chuyển dữ liệu vật lý từ các nguồn khác nhau vào kho dữ liệu
- Bảo mật kho dữ liệu bao gồm cấp phát quyền truy cập và sử dụng nội dung dữ liệu
- Quản trị cơ sở dữ liệu vật lý của các kho dữ liệu
Tóm lại, chơng này tập trung trình bày về kho dữ liệu, một mảng kiến thức gắn liền vớiquá trình phát hiện tri thức và khai phá dữ liệu Tuy chỉ là một chơng ngắn ngủi, nhng
đã giới thiệu đợc kiến trúc và các thành phần của một kho dữ liệu Kiến trúc ba lớp đợcmô tả kỹ cùng với mô hình kiến trúc lôgic cần thiết cho quá trình thiết kế Các khíacạnh thiết kế chỉ ra các vấn đề mà ngời thiết kế sẽ phải đối mặt mà điều này không gặpphải khi thiết kế các hệ thống tác nghiệp