Nhµ kho d÷ liÖu (Data Warehouse)
Ngµy hoµn thµnh: 16 th¸ng 12 n¨m 2010
Lời nói đầu
Nhà kho dữ liệu (DW) là một hớng công nghệ áp dụng cho các ứng dụng công nghệ
tin học của doanh nghiệp và tổ chức ngày nay. Thuật ngữ gợi nên hình ảnh của nhà
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, DW 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 (OLAP), hệ
thống thông tin điều hành (EIS) và khai thác dữ liệu.
Một DW là một Nhà kho thông tin tập chung hoá và thống nhất. Thống nhất ở đây
nghĩa là làm sạch, hợp nhất và thiết kế lại. Nó có thể phức tạp ít hoặc nhiều hơn tuỳ
thuộc vào việc bao nhiêu hệ thống cung cấp thông tin cho một kho và chúng khác
nhau trong việc xử lý cùng một thông tin nh thế nào.
DW khác với cơ sở dữ liệu giao tác hoặc hệ thống OLTP ở mục đích và thiết kế
của chúng. Một OLTP đợ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 1DW đợc tối u hoá cho mục đích báo cáo và khôi phục dữ liệu, và nó
thờng là một hệ thống chỉ - đọc. 1 hệ thống OLTP chứa các dữ liệu cần thiết để
điều hành kinh doanh hàng ngày, nhng 1DW 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 OLTP là hiện thời và độ 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. Một DW chứa những dữ liệu lịch sử, ổn định đã đợc điều chỉnh các lỗi
giao tác . Cuối cùng, bởi vì mục đích của chúng khác nhau, hệ thống OLTP và DW
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 OLTP 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 OLTP đợc chuẩn hoá cao độ và thờng dựa trên mô hình quan
hệ. Nhng d thừa là cần có ở một DW bởi vì nó đơ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. Một số DW không hề sử dụng một mô hình quan hệ, thay
thống điều hành khác nhau đợc tháo 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..
-Không bị phá huỷ: Không nh hệ điều hành, dữ liệu trong kho dữ liệu không đợc sửa
đổi. Định nghĩa này chỉ mang tính lý thuyết và đã thay đổi trong thực tế. Thực tế có rất
nhiều kho dữ liệu cho phép thay đổi dữ liệu trong kho dữ liệu. Tuy nhiên, khía cạnh
này dẫn đến các vấn đề nghiêm trọng khác khi thực hiện sẽ đợc giải thích sau đây.
-Phụ thuộc thời gian: Định nghĩa này là sự phân biệt giữa hệ thống điều hành và Nhà
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ù trong một chu kỳ thời gian lâu
hơn các hệ thống điều hành.
+ Một kho dữ liệu giữ các giá trị hiện tại cho bất kỳ cột nào ở các thời điểm khác
nhau, 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 lu
trữ.
+ 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ác bả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.
1.2. Phạm vi của kho dữ liệu
Với sự phổ biến hiện nay của kho dữ liệu, các nhà sản xuất và các nhà t vấn đang phát
triển nhiều ý nghĩa khác nhau cho thuật ngữ Nhà kho dữ liệu. Theo một số định nghĩa,
ta có thể kết luận rằng kho dữ liệu gồm toàn bộ dữ liệu của xí nghiệp (hay thậm chí cả
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 4
vũ trụ!), các định nghĩa khác dẫn đến kết luận rằng một kho dữ liệu là một giải pháp
kỹ thuật dựa trên một công cụ cụ thể.
Phạm vi này đợc lựa chọn dựa trên một số lý do:
trình kinh doanh đơn lẻ. Ví dụ nh chúng có thể đợc sử dụng để phân tích thông tin bán
hàng trong một khu vực cụ thể hoặc cho một dây chuyền sản xuất cụ thể. Chợ dữ liệu
thờng chỉ 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ều hành để lấy ra đợc những chi tiết giao dịch nếu cần. Đôi khi đợc quản lý bởi
các phòng công nghệ thông tin, nhng thờng là chú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 nhiều ứng dụng OLAP (xử lý phân tích trực tuyến) có thể đợc thực hiện ở
Chợ dữ liệu, các phân tích qua các phòng ban, các hệ thống thông tin điều hành và các
ứng dụng khai thác dữ liệu cần các thông tin thu thập từ toàn bộ xí nghiệp để có hiệu
quả nhất. Kho dữ liệu của xí nghiệp đợc sử dụng cho kiểu tập hợp và phân tích dữ liệu
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 5
mở rộng này. Do phạm vi và sự phức tạp của nó, kho dữ liệu của doanh nghiệp thờng
đợc nhóm công nghệ thông tin trung tâm quản lý. Nh là tên của nó chỉ ra, một kho dữ
liệu của một xí nghiệp chứa các thông tin lấy từ một tổ chức. Đây là kiểu phức tạp nhất
của kho để xây dựng và lu trữ bởi vì dữ liệu phải đợc kết hợp từ đa hệ thống vào một
đối tợng chung.
Các hệ thống khác nhau thờng tạo ra những dữ liệu không tơng thích hoặc không nhất
quán và đôi khi dữ liệu phải trải qua một vài sự chuyển đổi trớc khi nó có thể đợc hợp
nhất trong một kho dữ liệu theo một cách có ý nghĩa đầy đủ.
1.4. Các thành phần của kho dữ liệu
Mặc dầu một kho dữ liệu nghe nh một thực thể đơn lẻ, nó thực sự là một tập hợp đa
tầ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ởi
một hay nhiều mảng phần cứng hoặc phần mềm. Không có nhà sản xuất nào có một
bộ kho dữ liệu hoàn chỉnh.
-Về mặt chức năng, 1 kho dữ liệu trích chọn dữ liệu từ các hệ thống điều hành và tải
nó vào một vùng lu trữ nơi nó đợc "làm sạch" (tức là làm cho phù hợp với các chuẩn l-
u trữ), hợp nhất, gán nhãn thời gian bằng cách này hay cách khác và tải vào cơ sở dữ
liệu để sử dụng nhờ các công cụ truy nhập dữ liệu.
lớp dữ liệu mà chỉ ở mức khái niệm chứ không hoàn toàn là cài đặt thực tế. Ta có thể
xác định 3 cấu trúc riêng biệt:
+ Kiến trúc đơn tầng: Nguyên tắc chủ chốt 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 hề có sự phân biệt giữa các kiểu dữ liệu, mọi dữ liệu đều đợc coi nh nhau và các
ứng dụng điều hành cũng nh các ứng dụng thông tin đều thao tác trên cùng một tập dữ
liệu. Kiến trúc này rất ít đợc sử dụng.
Kiến trúc này cho phép các ứng dụng điều hành hoạt động tốt trên số lợng dữ liệu lớn
nhng lại nghèo nàn cho việc hỗ trợ các ứng dụng phân tích thông tin.
+ Kiến trúc 2 lớp đợc sử dụng rộng rãi hơn nó thờng đợc xem xét trong các tổ
chức nhỏ hoặc trong các giai đoạn đầu của việc thực hiện 1 Nhà kho dữ liệu lớn của 1
xí nghiệp. Kiến trúc hai lớp tách dữ liệu thành hai phần lớp thấp hơn gồm dữ liệu thời
gian thực đựoc các ứng dụng điều hành sử dụng và lớp cao hơn gồm dữ liệu kết nhập
(derived) đợc sử dụng bởi các ứng dụng thông tin. Dữ liệu kết nhập có thể chỉ là sao
chép đơn giản hoặc có thể là tổng hợp tính toán từ dữ liệu thời gian thực.
Tuy nhiên nó đã gặp phải 1 số vấn đề về lu trữ và và quản lý. Một trong số vấn đề đầu
tiên gặp phải khi áp dụng cách tiếp cận này là sự nhân bản dữ liệu khi tạo thêm lớp dữ
liệu kết nhập làm bùng nổ đòi hỏi về lu trữ và tăng đáng kể vấn đề về quản trị và bảo
trì dữ liệu.
+ Kiến trúc 3 lớp là cách tiếp cận có sức mạnh nhất. Nó đợc đề xuất trong tất cả
các tình huống mà công việc đòi hỏi 1 cách nhìn tổng quát về dữ liêụ của 1 xí nghiệp
lớn. Sự thành công và sức mạnh của kiến trúc 3 lớp xuất phát từ việc nhận ra vai trò
quan trọng của mô hình dữ liệu xí nghiệp và sự thực hiện vật lý của lớp dữ liệu điều
hoà.
Kiến trúc ba lớp cải tiến từ kiến trúc hai lớp xuất phát từ nhận thức rằng việc chuyển từ
dữ liệu thời gian thực sang dữ liệu kết nhập cần phải qua hai giai đoạn. Hai giai đoạn
đó là:
Điều hoà dữ liệu từ các tập dữ liệu khác nhau trong lớp thời gian thực.
Kết nhập dữ liệu theo yêu cầu sử dụng dựa trên các dữ liệu đã đợc điều hoà.
Và nh vậy một lớp dữ liệu điều hoà đợc tạo ra nằm giữa lớp thời gian thực và lớp dữ
- Siêu dữ liệu đợc định nghĩa trong khi thiết kế của 1 ứng dụng sẽ không bị thay
đổi từ lần đa ra đầu tiên của ứng dụng cho đến khi 1 phiên bản mới đợc đa ra. Với các
ứng dụng điều hành thì 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 thì chúng có thể xuất hiện thờng xuyên hơn (có lẽ hàng tháng).
- Ngay cả khi 1 ứng dụng đợc nâng cấp thì cũng chỉ có 1 phần nhỏ của siêu dữ
liệu bị thay đổi. ý nghĩa công việc của mô tả siêu dữ liệu có thể là ổn định trong 1 chu
kỳ hàng 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 trong Nhà kho dữ liệu là dữ liệu đợc dùng để mô tả về
hiện trạng và việc sử dụng dữ liệu nghiệp vụ. Nguồn của siêu dữ liệu này không phải
là siêu dữ liệu ban đầu. Với siêu dữ liệu hiện trạng nó là các ứng dụng hoặc các công
cụ mà tạo lập và cập nhật dữ liệu nghiệp vụ về mặt vật lý. Với siêu dữ liệu đang sử
dụng, nguồn là các công cụ qua đó những ngời sử dụng truy nhập đến Nhà kho dữ liệu.
- Siêu dữ liệu hiện trạng tồn tại ở một số mức chi tiết khác nhau. ở mức kém chi
tiết nhất, thông tin hiện trạng về dữ liệu đợc lu trữ ở mức file hoặc bảng. Trong trờng
hợp nà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ụ
1 danh sách các khách hàng trong ngày 31 tháng 1 năm 1996, ở mức cụ thể thứ 2 thì
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ý nó là các bản ghi hoặc các hàng trong 1 bảng hoặc 1 file.
- ở 2 mức cụ thể là file/bảng và hàng/bản ghi cách tiếp cận khác nhau là cần
thiết để lu trữ siêu dữ liệu
+ ở mức file/bảng thì siêu dữ liệu hiện trạng đợc lu trữ trong các cấu trúc vật lý
dới dạng các bảng hoặc file. Đó là vì nó đợc tách rời khỏi dữ liệu nghiệp vụ. Để tạo ra
siêu dữ liệu nh vậy sẵn sàng đối với ngời sử dụng thì nó 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ãn thời gian. Có một số lợng lớn các siêu dữ liệu loại này bởi vì nó không đợc sao
chép vào siêu dữ liệu thông thờng nhng nó đợc truy nhập trực tiếp bởi ngời sử dụng
trong các tì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ệu nghiệp vụ.
- Mục đích của việc mô hình hoá dữ liệu là rất đơn giản. Nó cung cấp 1 cách
ghi chép đúng đắn đối với 1 vài khía cạnh của thế giới thực trong các ngữ cảnh đặc
biệt. Mô hình hoá tạo cho ngời sử dụng hiểu rõ hơn về các đối tợng đã đợc mô hình
hoa 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 1 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 mà hỗ trợ các cách
thực hiện nghiệp vụ. Vì vậy mô hình dữ liệu nghiệp vụ nhằm cung cấp:
+ Một sự ghi chép về các định nghĩa dữ liệu nghiệp vụ 1 cách đẩ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 mà nó
chứa thông tin hữu ích để chạy và quản lý các công việc.
+ 1 sự biểu thị các tính tơng tự khác nhau của dữ liệu từ các nguồn khá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 công việc, cung cấp:
+ Sự ghi chép về các định nghĩa qui trình nghiệp vụ 1 cách đầ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à trong 1 quá
trình xử lý.
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 là cách tiếp cận theo mô hình
thực thể liên kết. Trong cách tiếp cận này một thực thể là bất kỳ 1 loại đối tợng nào mà
công việc phải quan tâm tới. Mỗi thực thể có 1 định nghĩa công việc tơng ứng.
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 9
Một thực thể có thể là tơng đối cụ thể ở 1 trờng hợp nào đó, hoặc nó có thể rất chung
đối với 1 trờng hợp khác.
- Mỗi thực thể có 1 số thuộc tính. Một thuộc tính là bất kỳ 1 đặc trng nào đó
của thực thể mà nó mô tả về thực thể và nó là sự quan tâm của công việc.
mà nó xác định và mô tả 1 cách cụ thể tất cả cacs 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 công việc.
- Lớp thứ 4 của mô hình chứa quan điểm ứng dụng logic (logical application
views). Quan điểm này có quan hệ rất gần với mô hình quan hệ thực thể chung. Một
thực thể đơn lẻ trong mô hình quan hệ thực thể có thể cuất hiện 1 số lần trong quan
điểm ứng dụng logic, với các tập con các thuộc tính của nó, để có thể đáp ứng đợc các
nhu cầu của các ứng dụng công việc khác nhau. Quan điểm ứng dụng logic là 1 quan
hệ giữa các thự cthể trong lớp này với một thực thể đơn lẻ trong lớp trên. Để đảm bảo
là dẫn đến các ứng dụng sử dụng dữ liệu một cách nhất quán nó cũng có thể chỉ ra các
khả năng trong việc 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ý, có 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ý, sự phân bố vật lý của dữ liệu giữa 1
số vùng.
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 10
Mô hình dữ liệu xí nghiệp và kiến trúc 3 lớp
- Khi ta so sánh mối quan hệ giữa các phạm vi dữ liệu của EDM (mô hình dữ
liệu xí nghiệp) và 3 lớp của kiến trúc dữ liệu nghiệp vụ đã định nghĩa trong phần trên
thì có 1 số sự tơng quan.
+ Bởi vì lớp dữ liệu điều hoà bao trùm toàn bộ phạm vi của công việc. Nó tơng
đớng với ERM (mô hình quan hệ thực thể).
+ Dữ liệu thời gina 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 1 phạm vi hạn chế. Nó đợc mô hình thông qua quan điểm ứng
dụng logic (Logical application views)
+ Dữ liệu kết nhập, phạm vi của nó bị hạn chế bởi các nhu cầu của nhgời sử
dụng (hoặc nhóm ngời dùng). Nódddwowjc mô hình thông qua quan điểm ứng dụng
logic.
Quan điểm ứng dụng logic cho dữ liệu thời gian thực và dữ liệu kết nhập có thể
bao trùm lên nhau hoặc tơng đối riêng biệt tuỳ theo các nhu cầu công việc.
gian ở mức bản ghi/hàng. ở đây nhãn thời gian của 1 bản ghi sẽ đợc cập nhật mỗi khi
có bất cứ một trờng nào trong bản ghi bị thay đổi.
Từ cách nhìn về công việc thì cách tiếp cận này sẽ đáp ứng đợc hầu nh phần lớn các
nhu cầu trong việc theo dõi thời gian và nó là cách phổ biến hiện nay.
3. Theo dõi thời gian ở mức bảng/tệp
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 11
Cuối cùng ta 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
lại mỗi khi có bất cứ 1 trờng hợp nào bị 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 tra dữ liệu tuy nhiên nó thờng là mức mà những ngời sử
dụng muốn theo dõi về sự hiện trạng dữ liệu của họ.
Các bản sao (snapshots) nó biểu diễn một cách nhìn của công việc ở 1 vài thời điểm
trong thời gian.
Dữ liệu thay đổi nh thế nào
- Có 1 nhu cầu xuất hiện đó là ta cần phải biết các sự thay đổi của dữ liệu đợc
thu nhận và đợc biểu diễn qua thời gian nh thế nào?
- ở 1 mức công việc thì dữ liệu đợc thay đổi qua các giao tác công việc chẳng
hạn nh các giao tác: 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 công việc đơn lẻ có thể ảnh hởng đến nhiều hơn 1 bản ghi dữ liệu.
Chính vì vậy 1 giao tác công việc đơn lẻ có thể gây ra 1 số các kết quả trong 1 CSDL.
Ta sẽ tập trung vào các kết quả xảy ra trong CSDL.
- Ta thấy hầu hết các hoạt động công việc đợc hiểu 1 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 ta có thể lu trữ hoặc là các trạng thái hoặc
các sự kiện trong môi trờng thông tin có thể yêu cầu của cả 2 cách tiếp cận. Bởi vì nó
rất quan trọng khi nhận ra sự khác nhau của 2 cách tiếp cận và các mối quan hệ giữa
chúng.
Một cách nhìn của dữ liệu thời gian dựa trên các trạng thái
- Một CSDL trạng thái chứa 1 loạt các bản ghi đã gán nhãn. Mỗi bản ghi sẽ chỉ
ra trạng thái của 1 thực thể tại 1 thời điểm.
Các 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 cho phép duy trì dữ liệu thời gian. Tuy nhiên ta phải sẽm xét 1 khía cạnh cuối
cùng của dữ liệu thời gian để hiểu đợc lịch sử dữ lieẹu đợc phản ánh nh thế nào trong
CSDL. Điều này thì 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 đã tồn taị nh thế nào?
- Sẽ có 2 phơng pháp cơ bản và đã dẫn tới định nghĩa về 2 kiểu dữ liệu: dữ liệu
tạm thời và dữ liệu định kỳ. Mỗi bản ghi đợc chỉ ra có chứa 1 trờng khác k và 1 nhãn
thời gian t. TRong khi trờng khoá là 1 định danh duy nhất của bản ghi nó là bắt buộc
với cả 2 kiểu dữ liệu thì nhãn thời gian là 1 tuỳ chịn trong dữ liệu tạm thời.
- Cuối cùng ta sẽ xem xét 1 phơng pháp thứ 3 trong việc duy trì lịch sử đó là
phơng pháp tạo bản sao.
+ Dữ liệu tạm thời: bản chất của nó là các thay đổi và xoá bỏ của các bản ghi
dữ liệu đang tồn tại vật lý sẽ phá huỷ nội dung của dữ liệu trớc.
- Các bản ghi có thể thêm vào ( VD bản ghi K6 ở thời điểm t2) và xoá đi (bản
ghi K3 ở thời điểm t3). Tuy nhiên không có 1 dấu hiệu nào trong dữ liệu sau thời điểm
t3 của các nội dung trớc của bản ghi k3. Các bản ghi cũng có thể bị thay đổi vì ở thời
điểm t2, bản ghi k2 và k4 đã đợc thay đổi và bản ghi k4 đợc thay đổi ở thời điểm t3.
Nh trong trờng hợp xoá thì các trạng thái trớc của bản ghi bị thay đổi là bị mất.
- Kiểu dữ liệu này đợc tìm thấy trong dữ liệu thời gian thực của môi trờng điều
hành. Nh ta một luật chung chỉ các trạng thái đợc lu trữ nh các dữ liệu tạm thời. Mộc
CSDL sự kiện mà là tạm thời thì sẽ luôn chỉ chứa sự kiện sau cùng và vì vậy nó sẽ có
rất ít hoặc không có giá trị trong xử lý công việc. Một bản ghi trạng thái sau cùng là 1
con đờng chung và rất có giá trị trong việc theo dõi công việc.
Dữ liệu định kỳ
Trong dữ liệu định kỳ thì 1 bản ghi đợc thêm vào sẽ đợc lu trữ, nó không bao
giờ bị xoá về mặt vật lý hoặc và nội dung công việc của nó cũng không bao giờ 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ác bản ghi đã tồn tại.
trò rất quan trọng trong Nhà kho dữ liệu đợc sử dụng trong hớng phân tích. Nó tập
trung trên các lĩnh vực (vùng) cụ thể của dữ liệu nghiệp vụ. Dữ liệu lịch sử cũng tạo
thành 1 phần rất quan trọng trong dữ liệu xí nghiệp. ở đó nó sẽ cung cấp bản ghi cuối
cùng của nghiệp vụ.
Sự cần thiết của dữ liệu lịch sử
Các yêu cầu cho việc lu giữ lịch sử của nghiệp vụ gồm 2 lĩnh vực rộng lớn sau:
1. Một cách nhìn về công việc ở 1 thời điểm đã cho
- Nói chung, những ngời sử dụng cần phải xem xét về công việc nh nó đã tồn tại ở các
thời điểm khác nhau. Một vài thời điểm sẽ có công việc đặc biệt rất quan trọng ví dụ
nh sự kết thúc của 1 tài khoản hoặc chu kỳ thuế và các sự kiện công việc quan trọng
chẳng hạn nh việc tổ chức lại đây là các thời điểm mà yêu cầu các cách nhìn nh vậy.
Những cách xem xét này phải là chắc chắn. Cho phép cùng 1 câu hỏi ở các thời điểm
khác nhau phải sinh ra cùng 1 kết quả, các nhu cầu nh vậy đợc thoả mãn bởi các dữ
liệu bản sao.
2. Phân tích hớng công việc:
* Ví trí của dữ liệu lịch sử trong kiến trúc Nhà kho dữ liệu:
* Trong ngữ cảnh của kiến trúc dữ liệu 3 lớp thì dữ liệu lịch sử là 1 sự pha trộn của các
kiểu dữ liệu khác nhau và nó tập trung tiềm tàng trong bất kỳ lớp nào hoặc trong cả 3
lớp.
* Dữ liệu nghiệp vụ lịch sử thì tồn tại trong cả 3 lớp nhng với các lý do khác nhau trong
mỗi lớp. Tài nguyên 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 thì 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. Cách sử dụng chính của dữ liệu lịch sử là trong quản lý các công việc và do vậy
nó thờng xuatá hiện trong lớp dữ liệu kết nhập. 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ì nó là từ đây mà tất cả các dữ liệu kết nhập
đợc hình thành.
* Khối lợng của dữ liệu lịch sử:
* Có lẽ đặc trng quan trọng của dữ liệu lịch sử đó là khối lợng tiềm năng và chi phí liên
kết trong việc lu trữ nó. Tuy nhiên khối lợng của dữ liệu lịch sử đợc lu giữ lại thì phải
đợc xem xét với lợi ích công việc của nó.
trọng trong phần thiết kế lu trữ, thì việc thực hiện các chức năng? Thờng bao gồm
phần lớn giá cả và thời gian của toàn bộ sự thực hiện. Việc lựa chọn cách tiếp cận và
các khả năng của chúng có thể ảnh hởng tới sự thực hiện vật lý của EDM trong lớp
điều hoà.
* nhân bản dữ liệu là 1 phần trong việc thực hiện Nhà kho dữ liệu. ở đó hầu hết các thoả
hiệp đợc thực hiện - độ sâu của chức năng, độ rộng của phạm vi hỗ trợ, duy trì dễ
dàng, linh hoạt với các công việc thay đổi và các nhu cầu dữ liệu , dễ sử dụng và hiệu
quả.
Sao chép dữ liệu ở mức ứng dụng
* Trong cách tiếp cận truyền thống này, thì 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ệu thờ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.
+ Duy trì các chơng trình sao chép là 1 sự thách thức (khó khăn) khi CSDL điều hành
gốc thay đổi trong cấu trúc hoặc nội dung với các thay đổi của công việc thì các ch-
ơng trình sao chép cũng phải đợc cập nhật. Sự duy trì nh vậy thờng rất phức tạp bời vì
mặt logic thì số lợng của dữ liệu sẽ tăng trong các chơng trình này. Hơn nữa sẽ thờng
có 1 khoảng thời gian bắt buộc để các chơng trình sao chép phải đợc cập nhật trong 1
chu kỳ thời gian giữa thời điểm các thay đổi thiết kế trong CSDL nguồn đợc hoàn
thành và thời điểm chúng đợc đa vào sản xuất.
+ Tính nhất quán trong các chơng trình sao chép khó duy trì mỗi CSDL điều hành trở
thành nguồn cho nhiểu chơng trình sao chép. Tất cả các phần của tổ chức phải hiểu về
cấu trúc và ý nghĩa của dữ liệu nguồn này 1 cách nhất quán. Để có thể đảm bảo sự
thực hiện nhất quán này thì sự xung đột đáng kể sẽ xuất hiện.
+ Toàn bộ chi phí cho việc sao chép dữ liệu tăng theo hàm mũ
Khi số các chơng trình sao chép tăng, sự phức tạp trong việc bảo đảm tính nhất
quán trong và giữa các chơng trình này tăng rất nhanh. Và do vậy sớm tiêu thụ hết tất
các tài nguyên sẵn dùng đã đợc thiết kể để hỗ trợ cho môi trờng ngời sử dụng.
nhân bản dữ liệu - một định nghĩa
Nhân bản dữ liệu , ở góc độ của 1 Nhà kho dữ liệu , nó đa ra các đặc trng sau:
của dữ liệu đích phải đợc định nghĩa thông qua quá trình mô hình dữ liệu nh đã mô tả.
Tuy nhiên trong một vài trờng hợp cụ thể khi quá trình tạo bản sao đợc sử dụng để đa
đến(tạo ra) một vài kiểu dữ liệu kết nhập, sự định nghĩa của cấu trúc dữ liệu đích có
thể tạo thành bộ phận trong định nghĩa của tiến trình nhân bản. Bớc này vì vậy phải hỗ
trợ cả việc thu nhận một định nghĩa dữ liệu đích đang tồn tại và tạo lập một định nghĩa
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 cả dữ liệu nguồn và đích đã có sẵn, nhiệm vụ tiếp theo là phải
định nghĩ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ản này phải đòi hỏi xử lý một sự đa dạng của các kiểu chuyển đổi khác nhau.
Một nhiệm vụ phức tạp hơn là kết hợp một số phần tử dữ liệu nguồn để sinh ra dữ liệu
mới trong môi trờng đích.
4. Định nghĩa mốt nhân bản.
Có hai kiểu cơ bản trong việc tạo bản sao dữ liệu : refresh và update
Kiểu Refresh là kiểu bao gồm 1 sự di chuyển dữ liệu từ nguồn tới đích
Kiểu update sẽ 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. Rất cần thiết phải định nghĩa ra một kiểu sao chép dữ liệu trớc để
sử dụng. Tuy nhiên trong một số trờng hợp thì điều này cá thể quyết định thời gian
chạy.
5. Lập lịch xử lý nhân bản
Việc tạo bản sao dữ liệu chính nó là một quá trình lặp, nó thờng đợc xảy ra ở một
khoảng thời gian xác định ví dụ hàng tuần, hàng tháng, vv.
6. Thu nhận dữ liệu đợc yêu cầu từ nguồn.
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 16
Đây là bớc đầu tiên trong tiến trình sao lu thực tế, bớc thu nhận cùng với các bớc sau
đợc trông chờ xảy ra theo lịch trình đã định nghĩa, và không có sự can thiệp thêm của
con ngời. Các phơng thức dới đây cho việc trích chọn dữ liệu là phụ thuộc vào kỹ thuật
lu trữ dữ liệu nguồn và kiểu sao chép.
Mô hình dữ liệu xí nghiệp chính là cơ sở lý thuyết cho mối quan hệ giữa dữ liệu và ý
nghĩa nghiệp vụ, nó cũng là nền tảng cơ sở cho quan hệ nguồn, đích.
nhân bản dữ liệu - một cách sử dụng đặc thù
" nhân bản dữ liệu" đợc sử dụng rộng rãi trong công nghiệp máy tính hiện nay. Nó có
nghĩa những thứ khác nhau cho những ngời khác nhau. Trong trình bày này, nhân bản
dữ liệu đợc định nghĩa dới dạng các nhu cầu của Nhà 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 kết nhập và của kho siêu
dữ liệu. Một cách sử dụng tập trung vào nhu cầu đồng bộ hoá CSDL phân tán bất kể
công việc sử dụng tới các dữ liệu nào trong các CSDL này.
Định nghĩa này đã dẫn tới một nguyên tắc khác của nhân bản dữ liệu và đa đến một sự
thực hiện kỹ thuật khác. Trong phần này ta không thảo luận cụ thể cho việc sử dụng
nhân bản dữ liệu cho việc đồng bộ hoá trong CSDL phân tán nh thế nào. Các đặc thù
của nhân bản dữ liệu trong Nhà kho dữ liệu bao gồm :
* Các nguồn dữ liệu đầu vào gồm nhiều kiểu, dạng dữ liệu trong khi kiến trúc cho Nhà
kho dữ liệu dựa trên mô hình quan hệ
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 17
* Quan hệ giữa dữ liệu các lớp khác nhau dựa trên ý nghĩa của nghiệp vụ, tức là ứng
dụng phân tích thông tin đòi hỏi để tạo ra mô hình dữ liệu kết nhập và mối quan hệ
của nó với dữ liệu thời gian thực.
* Di chuyển dữ liệu đợc thực hiện theo cách cam kết hai pha thờng thấy trong các ứng
dụng cơ sở dữ liệu phân tán nhng đơn giản hơn do việc di chuyển dữ liệu chỉ một
chiều.
Các thành phần chức năng của nhân bản dữ liệu
Nh đã mô tả ở trên, ta có thể hiểu đợc một cấu trúc chung về nhân bản dữ liệu, cấu
trúc này đợc dựa trên 6 loại thành phần chức năng.
Các thành phần gồm :
- Quản trị ( Administration) là một điểm vào cho tất cả sự sử dụng của chức năng
nhân bản dữ liệu. Để thu nhận đợc lợi ích lớn nhất từ các định nghĩa đang tồn tại của
Trong chơng này, sẽ giới thiệu một cách nhìn tổng quát của một cấu trúc Nhà kho dữ
liệu.
2.3.1 Dữ liệu nghiệp vụ trong Nhà kho dữ liệu
Khi bắt đầu ở phần II thì dữ liệu thời gian thực, dữ liệu kết nhập, dữ liệu điều hoà là
các khái niệm, khi đi dần về hớng thực hiện vật lý của Nhà kho dữ liệu thì rõ ràng là
mỗi một trong các lớp này là một bản sao vật lý. Tuy nhiên nếu chúng không tập trung
Luận đề Nhà kho Dữ liệu
Version: 1.1
Trang 18
trong một vùng vật lý và tất cả đợc thực hiện theo các cách khác nhau. Xem xét một
kiểu cấu trúc logic ở mức cao.
* 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 đợc sử dụng để chạy công việc và các dữ liệu
chúng sử dụng, trong các file và các bảng là dữ liệu thời gian thực. Các ứng dụng nh
vậy ngày nay tồn tại dới nhiều khuôn dạng khác nhau và ở nhiều vùng khác nhau và vì
vậy nó vừ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ậm chí nó còn không đồng nhất và phân tán hơn trong quá khứ. Ngày này các ứng
dụng này đang đợc thực hiện trong một sự đa dạng của môi trờng Clien/server
Các hệ thống điều hành là nguồn của tất cả dữ liệu trong Nhà kho dữ liệu. Khẳng định
này là hiển nhiên khi ta xem xét sự mô tả dữ liệu bên trong các hoạt động hàng ngày
của công việc. Dữ liệu nh vậy đợc tạo ra qua các hệ thống xử lý giao tác trong chính
công việc. Tuy nhiên, khẳng định này yêu cầu một vài sự làm sáng tỏ khi giải quyết
dữ liệu bên ngoài, dữ liệu dự đoán, các sự sử chữa và hiệu chỉnh, dữ liệu sử dụng lại và
dữ liệu riêng t. Các kiểu dữ liệu này đợc đa vào Nhà kho dữ liệu từ các hệ thống điều
hành hoặc từ các hệ thống mà tơng tác với Nhà kho dữ liệu nh các hệ thống điều hành(
sẽ xem xét ở phần sau)
* Nhà kho dữ liệu nghiệp vụ
Nhà kho dữ liệu nghiệp vụ là sự thực hiện vật lý của lớp dữ liệu điều hoà, các đặc trng
của lớp dữ liệu này đã đợc mô tả trong phần trên. Đặc trng của BDW là tính, chi tiết,
lịch sử, nhất quán, mô hình hoá và chuẩn hoá.
Version: 1.1
Trang 19