Tải bản đầy đủ (.doc) (48 trang)

Tiểu luận môn Hệ hỗ trợ quyết định ỨNG DỤNG OLAP TRONG DATA WAREHOUSE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (597.57 KB, 48 trang )

Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
o0o
HỆ HỖ TRỢ RA QUYẾT ĐỊNH
HỆ HỖ TRỢ RA QUYẾT ĐỊNH
ỨNG DỤNG OLAP TRONG
ỨNG DỤNG OLAP TRONG
DATA WAREHOUSE
DATA WAREHOUSE
GVHD : PGS. TS. ĐỖ PHÚC
HVTH : NGUYỄN THỊ MAI
MÃ HV : CH1301038
LỚP : CAO HỌC KHÓA 8
TP.HCM T6 – 2014
TP.HCM T6 – 2014
SVTH: Nguyễn Thị Mai 1
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
MỤC LỤC
MỞ ĐẦU 4
I. NHU CẦU THÔNG TIN CỦA CÁC DOANH NGHIỆP 5
2.1 Truy cập dễ dàng 9
2.2.1 Thao tác cuộn lên (roll-up) 31
2.2.2 Thao tác khoan xuống (drill-down) 32
2.2.3 Thao tác cắt lát (slice) 32
2.2.4 Thao tác phân tích theo ô (dice) 32
2.2.5 Thao tác xoay (pivot/ rorate) 33
PHỤ LỤC THUẬT NGỮ VÀ VIẾT TẮT 47
SVTH: Nguyễn Thị Mai 2
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
LỜI CẢM ƠN


Em xin chân thành cảm ơn thầy PGS.TS Đỗ Phúc đã cung cấp cho em những
kiến thức quan trọng, nền tảng, giúp em định hướng tìm tòi, học tập và nắm vững
những nội dung cơ bản của môn học Hệ hỗ trợ ra quyết định, đồng thời giúp em mở
ra những hướng nghiên cứu mới, sâu hơn về các kỹ thuật cũng như các ứng dụng
đối với Hệ hỗ trợ ra quyết định.
Trong bài này em xin trình bày những khái niệm, hiểu biết cơ bản về OLAP và
ứng dụng trong data warehouse.
Do thời gian có hạn nên bài viết chưa thực sự hoàn chỉnh, còn nhiều hạn chế và
thiếu sót, mong thầy thông cảm.
Tp. Hồ Chí Minh, ngày 21 tháng 06 năm 2014
Học viên thực hiện
Nguyễn Thị Mai
SVTH: Nguyễn Thị Mai 3
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
MỞ ĐẦU
Phân tích thông tin là một khả năng cần thiết cho các cơ sở dữ liệu (database)
liên kết. Việc phân tích nhanh chóng dữ liệu lưu trữ trong các cơ sở dữ liệu và kho
(warehouse) là không thể thiếu trong kinh doanh và là yếu tố hàng đầu trong bối
cảnh thị trường cạnh tranh hiện nay.Tiến trình phân tích trực tuyến (gọi là OLAP)
cung cấp việc phân tích thông tin thời gian thực cho việc ra quyết định trong kinh
doanh. Bên cạnh đó, OLAP cung cấp cái nhìn linh hoạt về dữ liệu từ nhiều điểm
nhìn, một thuộc tính được đề cập tới là tính chất đa chiều của dữ liện hiện tại trong
cơ sở dữ liệu có sẵn. OLAP có thể được định nghĩa rõ ràng thông qua năm thuật
ngữ thông dụng – Phân tích nhanh thông tin chia sẻ đa chiều (Fast Analys of Shared
Multidimensional – FASMI). OLAP tìm các ứng dụng đặc biệt cho nhu cầu phân
tích của doanh nghiệp sở hữu kho dữ liệu lớn. Một kho dữ liệu lưu trữ dữ liệu đã
được phân tích hoặc không hữu dụng, OLAP xử lý dữ liệu để cung cấp nguồn thông
tin toàn diện. Nó có thể được sử dụng để tạo ra business intelligence, ví dụ như tri
thức của xu thế thị trường. Đó là một thành phần thiết yếu để thành công cho bất cứ
doanh nghiệp nào. Nó là công nghệ hứa hẹn sự phát triển, lãnh đạo và triển vọng

cho một tổ chức doanh nghiệp.
SVTH: Nguyễn Thị Mai 4
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
I. NHU CẦU THÔNG TIN CỦA CÁC DOANH NGHIỆP
1. Nhu cầu thông tin nghiệp vụ
Công ty A là một đối thủ quốc tế trong lĩnh vực sản xuất xe hơi và đang lập kế
hoạch mở rộng phạm vi thị trường toàn cầu với sự khởi đầu bằng hàng loạt chuỗi
mô tô mới. Từ khi công ty A chiếm lĩnh thị trường ở nhiều lĩnh vực khác nhau
trên toàn cầu, sự phát triển và lịch trình cho các bước tiếp theo là điều vô cùng
quan trọng để dẫn đến thành công. Điều cần thiết là thông tin chính xác về thời
kỳ khởi động, cho dù các công ty khác sẽ tham gia vào phong trào, việc mua mô
hình khách hàng mục tiêu hỗ trợ kế hoạch đề ra và nếu không có gì thay đổi, nên
đưa vào chính sách khuyến mãi cục bộ để có thể thu được lợi nhuận cao nhất. Tất
cả những câu hỏi này vẫn còn để ngỏ không với sự hiện diện của hệ hỗ trợ ra
quyết định tiên tiến nào. Với sự hỗ trợ của Hệ hỗ trợ ra quyết định có khả năng
tạo ra tri thức nghiệp vụ, công ty A có thể dễ dàng dẫn đầu trong cuộc cạnh tranh
của họ.
Việc kinh doanh ngày nay phải đối mặt với nhiều thử thách, đặc biệt là sự thu
hẹp nhanh chóng của thế giới. Hầu hết các doanh nghiệp lớn ngày nay bắc cầu
qua nhiều quốc gia, và công nghệ như Internet đóng play truant đến nguyên nhân
của toàn cầu hóa. Trong môi trường kinh doanh cạnh tranh, những người giỏi
nhất và nắm hầu hết thông tin, dường như chắc chắn là các nhà lãnh đạo. Nhưng
chỉ đơn thuần là sở hữu thông tin với số lượng lớn không đủ để đạt được lợi thế
hơn các đối thủ kinh doanh. Điều này giống như có tất cả nhưng lại không có gì.
Phân tích thông tin thành tri thức nghiệp vụ toàn diện là nhu cầu mỗi ngày, mỗi
giờ của doanh nghiệp.
Một số nhu cầu thông tin cho các doanh nghiệp hiện đại:
• Quyết định thông tin quan trọng.
• Các mô hình, các mối quan hệ và phân cấp trong xu hướng thị trường
• Các kiến thức nghiệp vụ liên quan đến đối thủ cạnh tranh.

SVTH: Nguyễn Thị Mai 5
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
2. Nhu cầu thông tin đa chiều
Thông tin, được lưu trữ trong cơ sở dữ liệu ngày nay, dưới dạng quan hệ. Các
bảng lưu trữ dữ liệu, có thể được truy vấn theo yêu cầu thông tin được khôi phục.
Điều này tương đối đúng miễn là phải đính kèm ngữ nghĩa vào dữ liệu. Khi một
người cần yêu cầu nội dung và ý nghĩa của thông tin này và mối quan hệ tới các
phần khác của thông tin, người ta sử dụng các truy vấn đơn giản.
Thông tin - phải được xem xét nhiều mặt, nhiều chiều. Việc xem thông tin từ
những điểm nhìn khác nhau chỉ ra rằng một người có thể mô hình hóa những
kịch bản khác nhau dựa trên cùng một tập thông tin, chỉ bằng cách sắp xếp chúng
thành nhiều định dạng phân tích khác nhau.
Tính đa chiều cho phép ấn định quan hệ giữa các lĩnh vực thông tin dường như
không liên quan. Nó cho phép kết hợp thông tin tư nhiều nguồn khác nhau và kết
hợp chúng để có thông tin hữu ích.
Xem xét ví dụ về nhu cầu khách hàng so với dữ liệu về giá cả của một sản
phẩm cụ thể. Dữ liệu này thể hiện tổng chi phí của tất cả các nhu cầu trong những
vùng khác nhau của doanh nghiệp. Nó cũng tập hợp nhu cầu trong những thời
điểm khác nhau. Tuy nhiên, đối với sự hiểu biết nhu cầu thị trường thực sự, cần
áp dụng chiều thời gian cũng như các địa điểm cụ thể với dữ liệu có sẵn. Thực tế
này đưa ra nhu cầu đa chiều của thông tin trực quan và có thể được truy cập.
SVTH: Nguyễn Thị Mai 6
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
II. KHO DỮ LIỆU - DATA WAREHOUSE
1. Khái niệm Kho dữ liệu
Kho dữ liệu là một cơ sở dữ liệu (database) được tập hợp từ nhiều nguồn của
một tổ chức và chủ yếu được dùng cho việc báo cáo (report) và phân tích
(analys). Cách tốt nhất để hiểu khái niệm này là nên trực tiếp xây dựng một
data warehouse database.
Một ứng dụng (application) thường có một cơ sở dữ liệu để chứa các thông

tin hoạt động của ứng dụng đó. Một tổ chức (organization, company ) có thể
có nhiều ứng dụng, do vậy có nhiều database khác nhau. Mỗi ứng dụng thường
tập trung vào một lĩnh vực hoạt động hay kinh doanh (domain) cụ thể nào đó.
Ví dụ: một ngân hàng thường sẽ có một ứng dụng banking để quản lý các tài
khoản và giao dịch cá nhân như checking account (debit card), saving account,
credit card Đồng thời, ngân hàng cũng có một ứng dụng khác chuyên quản lý
về các khoản vay, chẳng hạn vay tiền để mua nhà hoặc để đi học. Như vậy
SVTH: Nguyễn Thị Mai 7
Hình.1. Dữ liệu hai chiều đơn
giản
Hình.2. Dữ liệu đa chiều với trục thời gian
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
trong trường hợp này, ít nhất có 2 cơ sở dữ liệu hoạt động (operational
database) cùng tồn tại trong một ngân hàng.
Operational database thứ nhất chuyên về các giao dịch cá nhân (banking
transaction) hàng ngày. Cuối tháng công ty trả lương cho bạn bằng cách nạp
(deposit) một khoản tiền vào tài khoản của bạn. Sau đó, bạn chỉ việc đi đến
ATM để rút tiền. Như vậy, có ít nhất 2 bản ghi giao dịch (transaction record) đã
được chèn vào database.
Tương tự, khi bạn cần vay ngân hàng để mua một căn hộ mới, thông tin về
bạn sẽ được nạp vào một operational database chuyên về các khoản vay. Mỗi
tháng, ngân hàng yêu cầu bạn đóng một khoản tiền để trả nợ bao gồm cả lãi
suất. Một transaction record sẽ được đưa vào database chuyên về cho vay hàng
tháng.
Như vậy, có thể thấy 2 cơ sở dữ liệu ở trên được dùng với mục đích duy trì
hoạt động hàng ngày của ngân hàng. Do vậy, được gọi là Operational
Database.
Khi ngân hàng của bạn quyết định đưa ra một chiến lược kinh doanh mới để
thúc đẩy các hoạt động trong mảng cho vay bởi đây là thị trường rất tiềm năng.
Để làm được điều này, ngân hàng cần biết đối tượng nào có nhu cầu mua nhà

nhất, thường mua nhà loại nào, giá nhà nằm trong khoảng nào, khả năng chi trả
ra sao. Một cách để biết được điều này là ngân hàng có thể so sánh số liệu của 2
năm 2008 và 2009 nhằm vào đối tượng là tầng lớp trung lưu văn phòng tuổi 25-
30, thu nhập hàng tháng $500-$700, nhà mua là loại căn hộ 2 phòng ngủ, địa
điểm là quanh khu đô thị mới Z. Nếu số liệu của năm 2009 cao hơn 2008, có
thể dự đoán là nhu cầu của nhóm này tăng lên, do vậy ngân hàng có thể phát
động các gói khuyến mãi dành riêng cho lớp này. Chẳng hạn, khoản vay có thể
lớn hơn, lãi suất ưu đãi hơn, ngân hàng sẽ chịu trách nhiệm trong việc làm sổ
đỏ
SVTH: Nguyễn Thị Mai 8
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Để thực hiện điều này, rõ ràng ngân hàng của bạn sẽ phải thu gom dữ liệu từ
2 cơ sở dữ liệu trên hoặc mua dữ liệu từ một cơ quan chuyên về địa ốc nào đó.
Do tên của bạn có thể sẽ xuất hiện trong các operational database khác nhau,
người ta sẽ phải tìm cách để đồng nhất các thông tin này rồi dựa trên đó áp
dụng các công thức tính toán thích hợp để dẫn đến cái báo cáo như ở trên.
Do đây là một quá trình không hề đơn giản, nhiều khả năng ngân hàng sẽ
phải dùng một câu lệnh SQL cực kỳ phức tạp và dài dòng. Gặp trường hợp dữ
liệu đến từ nhiều nguồn khác nhau (csv, xml ), thậm chí có thể sẽ phải xây
dựng các bảng tạm (temp tables) ngay trong operational database để thực hiện
các bước trung gian. Một cách khác có thể là lập trình riêng một module cho
báo cáo này. Tất cả những cách tiếp cận nói trên đều không mang tính hệ thống
và thậm chí ảnh hưởng đến operational database.
Từ những lý do này, một cơ sở dữ liệu riêng cần phải được thành lập để có
thể tập hợp thông tin từ nhiều nguồn khác nhau, chuẩn hóa nó, tối ưu tốc độ để
phục vụ cho việc phân tích và lập báo cáo. Nói cách khác, đó là một kho dữ
liệu (data warehouse).
2. Mục tiêu của kho dữ liệu
Một kho dữ liệu phải đảm bảo được các mục tiêu sau:
2.1 Truy cập dễ dàng

Thông tin lưu trữ trong data warrehouse phải trực quan và dễ hiểu đối
với người dùng. Nói cách khác, dữ liệu nên được trình bày thông qua các
tên gọi quen thuộc và gần gũi với nghiệp vụ của người dùng.
Có thể phân chia người dùng (business user) ra 2 loại.
Người dùng cấp thấp chủ yếu thao tác trên các thông tin chi tiết.
Chẳng hạn như nhập số liệu về một khách hàng, theo dõi các giao dịch
của khách hàng cụ thể đó Báo cáo cho dạng công việc kiểu này
thường là thông tin chi tiết về một khách hàng, hoặc một danh sách các
SVTH: Nguyễn Thị Mai 9
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
khách hàng. Những báo cáo kiểu này có thể lấy ra trực tiếp từ cơ sở dữ
liệu hoạt động (operational database).
Người dùng cấp cao lại chủ yếu xử lý dữ liệu ở mức độ tổng hợp, để
từ đó phân tích rồi đưa ra các quyết định mang tính định hướng cho
nghiệp vụ. Họ không quan tâm đến một khách hàng cụ thể nào cũng
như không cần phải để ý cả một danh sách 1000 khách hàng. Thay vào
đó, cái làm họ bận tâm là số lượng khách hàng sử dụng dịch vụ
tăng/giảm 25% trong quý IV so với quý III cùng năm và tăng/giảm
45% so với cùng quý IV năm ngoái. Từ các thông số này, họ mới đưa
ra quyết định sẽ làm gì để cải thiện tình hình hoặc đặt ra mục tiêu tăng
trưởng 30% cho quý IV năm tới. Đây là đối tượng chủ yếu của Data
Warehouse. Do vậy, thông tin cho loại đối tượng này càng dễ hiểu và
gần với thực tế càng tốt. Một ví dụ dễ thấy là thay vì sử dụng các code,
data warehouse nên thể hiện thông tin bằng các mô tả hoặc tên.
Một điều nữa cần bàn đến là tốc độ truy cập data warehouse phải
nhanh. Do phải xử lý một số lượng lớn bản ghi cùng một lúc, hiệu suất là
một trong những yêu cầu phải có của một kho dữ liệu. Đây là nơi mà các
kỹ thuật tuning database (cơ sở dữ liệu điều chỉnh) được dịp phát huy hết
công suất: query tuning (điều chỉnh truy vấn), query hints (gợi ý truy
vấn), indexes (chỉ mục), parallel processing (xử lý song song), partition

(phân đoạn), materialized views
Đối với những người xây dựng kho dữ liệu, đây là mảnh đất tốt để
nâng cao khả năng làm việc với cơ sở dữ liệu lên mức chuyên gia. Mặc
dù không chính thức bắt buộc, nhưng phần lớn những người làm kho dữ
liệu tốt đều có kiến thức rất sâu về cơ sở dữ liệu. Nhiều người thậm chí
còn ở mức quản trị cơ sở dữ liệu. Với nhu cầu về dữ liệu càng lúc càng
lớn như hiện nay, sở hữu nhiều kỹ năng tốt cùng một lúc có thể đem lại
cho bạn nhiều lựa chọn và lợi thế hơn trong thị trường việc làm.
SVTH: Nguyễn Thị Mai 10
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
2.2 Thông tin nhất quán
Dữ liệu trong một data warehouse nhìn chung thường đến từ nhiều nguồn
khác nhau. Do vậy, cùng một thông tin nhưng các nguồn khác nhau có thể
trình bày theo các kiểu khác nhau, thậm chí còn sai lệch ít nhiều. Một ví dụ
đơn giản là cùng khách hàng tên “Huy Nguyen”, database A lưu trữ thông tin
này trong 2 trường First_Name và Last_Name, trong khi database B có thể
chỉ có một trường duy nhất Ho_va_Ten. Một cái tên công ty như
“International Business Trading” trong database A được thể hiện đầy đủ như
trên, nhưng trong database B có khi lại được trình bày dưới dạng viết tắt như
“Intl. Biz Trading”.
Một đặc điểm nữa của dữ liệu database là không có database nào chứa dữ
liệu sạch 100%. Cho dù có là dữ liệu của một công ty hàng đầu về IT như
Google, Amazon, Microsoft vẫn có lỗi. Database càng to càng dễ có dữ liệu
không sạch. Một ví dụ dễ thấy là một trường Description có thể chứa các ký
tự điều khiển CR LF. Điều này xảy ra khi người dùng nhấn Enter nhiều lần để
tạo ra các đoạn văn bản trong cùng một ô area box. Nhiều lúc dữ liệu sai xuất
hiện trong database là do lỗi lập trình.
Trước khi được đưa vào data warehouse, dữ liệu cần phải được làm sạch và
đảm bảo về chất lượng. Có làm sạch rồi thì việc đồng nhất dữ liệu mới trở nên
dễ dàng. Một nguyên tắc đơn giản được đặt ra cho quá trình này là:

- Nếu dữ liệu có cùng tên, chúng bắt buộc phải cùng chỉ đến một thực thể.
- Ngược lại, nếu dữ liệu chỉ đến các thực thể khác nhau, chúng phải được
đặt tên khác nhau.
Đây chính là những công việc chủ đạo của quá trình ETL (Extract -
Transform - Load).
SVTH: Nguyễn Thị Mai 11
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
2.4 Thích nghi với thay đổi
Thay đổi là điều không thể tránh khỏi cho bất cứ ứng dụng nào, không
riêng gì data warehouse. Do vậy, data warehouse cần phải được thiết kế để
xử lý những thay đổi có thể xảy ra. Có nghĩa là khi có thay đổi mới, dữ liệu
cũ trong data vẫn phải được bảo tồn tính đúng đắn.
2.5 Bảo mật
Dữ liệu trong data warehouse đến từ nhiều nguồn khác nhau, do vậy
hiển nhiên việc bảo đảm những thông tin không lộ ra ngoài là một yêu cần
thiết yếu. Để lộ dữ liệu của một database đã là cực kỳ nghiêm trọng. Để lộ
dữ liệu từ nhiều database là thảm họa.
2.6 Hỗ trợ ra quyết định
Đây có thể nói là mục tiêu quan trọng nhất của doanh nghiệp khi xây
dựng data warehouse. Mặc dù có những trường hợp xây dựng một cơ sở dữ
liệu tập trung để thu thập data từ nhiều nguồn khác nhau, nhưng những
trường hợp như vậy nên gọi là data integration (tích hợp dữ liệu) chứ
không phải data warehouse. Một doanh nghiệp trước khi xây dựng data
warehouse, nên tự đặt câu hỏi liệu data warehouse đó có giúp ích gì trong
việc ra quyết định kinh doanh của doanh nghiệp không.
Nói một cách nôm na, trong phạm vi của data warehouse, người ta muốn
dựa vào thông tin để từ đó thấy được cần phải làm những gì để kinh doanh
đạt kết quả tốt nhất.
Công cụ gần nhất và dễ dùng nhất là dựa trên các báo cáo (report) và
phân tích. Theo một số kinh nghiệm cho thấy người dùng thường tạo ra các

trend report để thể hiện xu hướng hoạt động thay đổi như thế nào theo thời
gian. Đây là một chỉ số quan trọng và thông dụng trong nhiều tổ chức. Các
KPI (Key Performance Indicators) có lẽ được xây dựng dựa trên thực tế
SVTH: Nguyễn Thị Mai 12
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
này. Một kiểu báo cáo nữa hay gặp là dashboard, trong đó thực ra là chứa
rất nhiều báo cáo liên quan với nhau được thể hiện dưới dạng các biểu đồ
(chart). Lợi thế của dashboard là nó rất trực quan, nhìn vào đó người ta có
thể ngay lập tức hình dung được tình hình hoạt động của công ty.
Với data warehouse, người dùng có thể dễ dàng xây dựng các report như
trên. Đồng thời, từ data warehouse, người ta có thể xây dựng các cube mà
không tốn quá nhiều công sức. Dựa trên cube, các công cụ phân tích sẽ
được dùng để phân tích dữ liệu cực kỳ nhanh chóng và trực quan.
2.7 Thành công
Hiển nhiên sản phẩm được tạo ra cũng phải hướng đến thành công.
Trong trường hợp của data warehouse, nó phải đem lại giá trị thực tế cho
người dùng như đã nói ở trên và phải được dùng liên tục thì mới được coi
là thành công. Việc có hay không có Data Warehouse trong một tổ chức
hoàn toàn không mang tính bắt buộc. Không có data warehouse, người ta
vẫn có thể tạo ra report nhưng dĩ nhiên mất nhiều công sức hơn. Để được
công nhận, giá trị thương mại mà data warehoue đem lại phải lớn hơn công
sức và tiền của bỏ ra đầu tư vào nó.
Trong nhiều tổ chức, business user ban đầu thường không hề có chút ý
niệm về data warehouse hoặc thậm chí hoài nghi về nó. Nhưng một khi
người dùng đã quen với nó, người ta sẽ thích nó và muốn ngày càng có
nhiều dữ liệu hơn trong data warehouse đơn giản bởi vì nó cung cấp rất
nhiều lựa chọn và hỗ trợ ra quyết định khá tốt. Đó gọi là thành công.
3. Các thành phần của kho dữ liệu
Một hệ thống kho dữ liệu về mặt lô gích được cho là có 4 thành phần
1. Nguồn dữ liệu (Operational Source Systems).

2. Khu vực xử lý (Staging Area).
3. Khu vực trình bày (Data Presentation Area).
SVTH: Nguyễn Thị Mai 13
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
4. Công cụ truy cập dữ liệu (Data Access Tools).
Các thành phần trên tương tác với nhau như sau:
- Data từ Nguồn dữ liệu được nạp vào Khu vực xử lý.
- Data đã qua xử lý được nạp từ Khu vực xử lý vào Khu vực trình bày.
- Công cụ truy cập dữ liệu do người dùng cuối thao tác sẽ làm việc trên dữ
liệu trong Khu vực trình bày.
3.1 Nguồn dữ liệu
Nói một cách đơn giản, đây là nơi mà dữ liệu xuất phát và thường là cơ sở
dữ liệu của một ứng dụng nào đó. Nói một cách khách quan, nguồn dữ liệu là
một thành phần nằm ngoài data warehouse. Như đã trình bày trong phần trước,
dữ liệu của một hệ thống data warehouse thường đến từ nhiều nguồn khác
nhau. Ví dụ: trong cùng một tổ chức, có phòng ban nhập dữ liệu vào Access
database, trong khi phòng ban khác lại dùng bảng biểu Excel. Thậm chí có nơi
dữ liệu được xuất ra từ những mainframe server 50, 60 tuổi theo dạng csv file.
Do tính chất đa dạng của nguồn dữ liệu, nên các phương pháp chuyển tải dữ
liệu từ nhiều nguồn về cùng một chỗ khá phong phú. Tùy theo quy định riêng
của từng tổ chức, bạn có thể được phép truy cập trực tiếp dữ liệu nguồn. Nhưng
cũng có nơi dữ liệu chỉ được truy cập qua Email, FTP, File Sharing Thậm chí
bạn có thể phải tạo ra các modules riêng để truy cập Web Services để lấy dữ
liệu về. Do đó, làm data warehouse không chỉ đơn thuần là database mà đòi hỏi
các nhà phát triển phải có kiến thức rộng và tổng hợp cũng như những kỹ năng
lập trình ứng dụng khác.
Xác định được dữ liệu đến từ những nguồn nào là một phần quan trọng trong
việc xây dựng kiến trúc cho hệ thống data warehouse (data warehouse
architecture).
SVTH: Nguyễn Thị Mai 14

Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
3.2 Khu vực xử lý (Data Staging Area):
Có thể hiểu đây là nơi các hoạt động xử lý dữ liệu diễn ra. Khu vực xử lý
vừa là một nơi lưu trữ dữ liệu vừa nơi diễn ra các quá trình chuyển đổi dữ liệu
trước khi chúng được đưa sang Khu vực trình bày.
Lý do cho sự tồn tại của thành phần này trong một hệ thống data warehouse
là bởi vì quá trình ETL khá phức tạp. Dữ liệu phải được làm sạch (cleanse),
chuyển đổi (convert), chuẩn hóa (conform). Những công đoạn này nhìn chung
đòi hỏi phải xây dựng các temp tables để chứa dữ liệu đang được xử lý và các
control tables để chứa metadata về quá trình ETL.
Staging Area cũng là nơi mà dữ liệu nguồn được lưu trữ như một dạng
backup storage. Do quá trình ETL hoàn toàn có khả năng gặp trục trặc giữa
chừng trong khi đang nạp dữ liệu từ Khu vực xử lý sang Khu vực trình bày, nên
dữ liệu nguồn cần phải được lưu trữ để lúc nào cũng có thể được sử dụng lại.
Có người sẽ hỏi tạo sao không yêu cầu các nguồn dữ liệu cung cấp lại dữ liệu
một lần nữa ? Việc này trên thực tế nhiều lúc hoàn toàn không khả thi.
Một ví dụ đơn giản như sau: Quá trình ETL chạy vào buổi tối sử dụng dữ
liệu của ngày hôm đó. Vì một lý do nào đó, nó buộc phải dừng lại giữa chừng.
Ngày hôm sau, ETL phải chạy lại trong chế độ phục hồi. Ngoài việc phải dọn
dẹp sạch sẽ những gì đã được lưu trữ dở dang trong presentation area, ETL đòi
hỏi phải có dữ liệu nguồn để bắt đầu lại từ đầu. Lúc này, do đã sang ngày mới
nên dữ liệu trong các cơ sở dữ liệu nguồn hoàn toàn có khả năng đã bị thay đổi
và mất đi giá trị nguyên thủy của ngày hôm qua. Nếu vẫn tiếp tục, ETL sẽ sử
dụng các dữ liệu không đúng, và do vậy phá vỡ tính đúng đắn của cả hệ thống.
Nếu như dữ liệu nguồn đã được lưu trữ trong staging area từ tối hôm trước, mọi
việc trở nên đơn giản hơn nhiều mà vẫn đảm bảo được tính vẹn toàn của data
warehouse.
Các công cụ ETL hiện đại trên thị trường hiện nay có khả năng xử lý tương
đối tốt một lượng lớn những yêu cầu về làm sạch, chuyển đổi, tra cứu, tích hợp
(cleansing, converting, lookup, aggregation ) Nhiều lúc nó khiến người dùng

SVTH: Nguyễn Thị Mai 15
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
cảm thấy có thể nạp dữ liệu trực tiếp từ nguồn vào data warehouse database, bỏ
qua staging area. Nhưng như đã trình bày ở trên, cách làm này tuy có thể tiết
kiệm được thời gian và không gian nhưng không hề ổn định. Những người làm
data warehouse lâu năm có một nguyên tắc vàng: "Luôn phải có staging
area".
3.3 Khu vực trình bày
Đây chính là data warehouse database. Hiện tại, phần lớn các data warehouse
database đều là cơ sở dữ liệu quan hệ (relational database) bởi đây là loại cơ sở
dữ liệu thông dụng nhất hiện nay trên thị trường. Dữ liệu trong relational
database được tổ chức theo dạng hình sao (star schema), về cơ bản tức là mô
phỏng tính đa chiều trong cơ sở dữ liệu quan hệ. Data warehouse database có
thể được tổ chức dưới dạng cube, tức là đa chiều theo đúng nghĩa. Cho dù được
lưu trữ theo kiểu gì, nguyên tắc thiết kế đa chiều là giống nhau giữa 2 loại
database.
Do nhu cầu của BI ngày càng cao, trên thị trường hiện nay xuất hiện khá
nhiều cơ sở dữ liệu thương mại và mã nguồn mở dành riêng cho kho dữ liệu.
Đặc điểm của các cơ sở dữ liệu này là phải xử lý được một khối lượng lớn dữ
liệu và tốc độ nhanh.
3.4 Công cụ truy cập
Có thể hiểu đây là các công cụ để làm báo cáo. Ở mức thấp nhất, đó có thể là
một công cụ soạn SQL đơn giản. Ở mức cao hơn, đó có thể là các bộ công cụ
chuyên về báo cáo như Business Objects, Cognos, Oracle BI Các công cụ
phân tích cũng ngày càng được sử dụng rộng rãi. Những công cụ thương mại kể
trên đều bao gồm các công cụ để tạo báo cáo một trực quan (bằng cách sinh ra
các SQL) và các công cụ phân tích truy cập vào các OLAP databases (cube).
SVTH: Nguyễn Thị Mai 16
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
4. Kiến trúc hệ thống kho dữ liệu

Kiến trúc của một hệ thống kho dữ liệu (data warehouse system) có thể được
tóm lược bằng các thành phần sau:
i) Cơ sở dữ liệu hoạt động (Operational Databases)
Cơ sở dữ liệu hoạt động lưu trữ thông tin yêu cầu cho giao dịch hiện tại
trong những phòng ban khác nhau của một tổ chức.
ii) Các ứng dụng từ xa (Remote Applications)
Các phòng ban khác nhau (bị cô lập) của một tổ chức có những chức năng
và công việc đặc biệt để thể hiện yêu cầu đầu vào ở dạng dữ liệu và sau đó
xử lý dữ liệu cho thông tin yêu cầu.
iii) Kho dữ liệu (Data Warehouse)
SVTH: Nguyễn Thị Mai 17
Hình.3. Kiến trúc kho dữ liệu
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Cơ sở dữ liệu tổng thể, lưu trữ thông tin được phân tích, trích xuất từ các
cơ sở dữ liệu hoạt động. Thông tin phân tích là một phần của cơ sở dữ liệu
hoạt động với tầm quan trọng chiến lược và có tính quản lý tại một giai
đoạn nào đó.
iv) Chợ dữ liệu (Data Marts)
Một chợ dữ liệu là một tập con của kho dữ liệu toàn doanh nghiệp, hỗ trợ
một yếu tố doanh nghiệp (phòng ban, khu vực, chức năng,…) Ví dụ, với
một kho dữ liệu của nhà kinh doanh giống như sự phân cấp cơ sở dữ liệu
khách hàng, một tập hợp các doanh thu, giá cả của sản phẩm, Mỗi nhóm
nhỏ có vai trò như một kho dữ liệu mini.
v) Khách hàng (Clients)
Họ là người sử dụng cuối cùng của kho dữ liệu có thể làm việc thông qua
mart, và cấp phát các thông tin cần thiết như ra quyết định, lập kế hoạch
chiến lược, phân tích nghiệp vụ. Đó là những nhóm yêu cầu thông tin
được khai thác (mine) từ các kho. Thời gian cần thiết để thu hồi là một
vấn đề lớn với hầu hết các kho dữ liệu.
Một kho dữ liệu lưu trữ thông tin chiến lược chỉ đơn thuần là trả lời các câu

hỏi đặc biệt về các sự kiện quá khứ. Nó có thể chỉ cấp phát thông tin liên quan
trực tiếp đến một số yếu tố hoặc lĩnh vực nào đó.
III. OLAP
1. Định nghĩa
Trái với hệ thống lưu trữ dữ liệu thông thường, nơi dữ liệu tồn tại dưới
hình thức các quan hệ, OLAP (On Line Analytical Processing) cung cấp cái
nhìn tốt hơn về dữ liệu tiềm năng chưa được khai thác. Nó hỗ trợ khung nhìn
đa chiều về dữ liệu, tạo ra sự tăng đa tạp về nội dung toong tin của cùng một
SVTH: Nguyễn Thị Mai 18
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
lượng dữ liệu. OLAp tạo ra truy cập hiệu quả, nhanh chóng, nhất quán đến
các khung nhìn đa dạng khác nhau của thông tin.
OLAP có thể được định nghĩa với 5 từ khóa: Fast Analys of Shared
Multimensional Information.
Fast: như là hầu hết các truy vấn phức tạp yêu cầu không tới 5 giây để xử
lý. Analys ám chỉ quá trình phân tích thông tin của tất cả các loại liên quan
để xử lý các truy vấn phức tạp và thiết lập tiêu chuẩn rõ ràng cho kết quả
truy vấn. Thông tin được sử dụng để phân tích nhìn chung được lấy từ các
nguồn được chia sẻ (Shared) như là kho dữ liệu. Thông tin có thể liên quan
đến một hoặc nhiều chiều. Ví dụ, một tập hợp đặc biệt các dữ liệu nghiệp vụ
có thể liên quan, khác nhau đến số liệu bán hàng, xu hướng thị trường, sức
mua của người tiêu dùng, điều kiện cung cấp và tính thanh khoản của doanh
nghiệp. Được trình bày trong chi tiết đa chiều (Multidimensional)), như
thông tin có thể hữu dụng và quan trọng trong việc ra quyết định quản lý.
2. Các dạng OLAP server
Nói một cách hợp lý, các OLAP server trình bày cho người dùng doanh
nghiệp các dữ liệu có cấu trúc đa chiều từ các kho dữ liệu hay kho dữ liệu
theo chủ đề, mà không cần quan tâm dữ liệu được chứa như thế nào và nằm
ở đâu. Tuy nhiên, kiến trúc vậy lý và sự thi hành của các OLAP server cần
phải chú ý đến việc cấp phát nơi lưu trữ dữ liệu. Các quá trình thực thi của

kho dữ liệu server cho tiến trình OLAP gồm:
2.1 Các ROLAP (Relational OLAP) server
Là các phương tiện server trung gian giữa server quản trị và công cụ
người dùng cuối client.
Dùng các hệ thống CSDL quan hệ hay quan hệ mở rộng để cấu hình
và quản lý dữ liệu đa chiều trong kho, và kho trung gian OLAP để bổ
sung những phần thiếu.
SVTH: Nguyễn Thị Mai 19
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Các ROLAP server
ROLAP dùng các bảng quan hệ để chứa dữ liệu cho quá trình phân
tích trực tuyến. Gọi lại một bảng sự kiện tương ứng với một cuboid cơ
sở thì hay hơn là một bảng sự kiện cơ sở. Bảng sự kiện cơ sở chứa dữ
liệu ở mức trừu tượng được chỉ ra bởi các khóa tham gia trong lược
đồ cho khối dữ liệu. Các dữ liệu tích hợp cũng được chứa trong các
bảng sự kiện, hơn là trong các bảng sự kiện tổng hợp. Một số bảng sự
kiện tổng hợp chứa cả dữ liệu của bảng sự kiện cơ sở và dữ liệu tích
hợp.
ROLAP server gồm: sự đánh giá khách quan trong mỗi hệ thống quản
lý dữ liệu (DBMS) cuối, sự thi hành của logic tích hợp, và các công
cụ và dịch vụ được thêm vào. Kỹ thuật ROLAP có khuynh hướng sử
dụng nhiều hơn kỹ thuật MOLAP.Ví dụ: Server DDS của
Microstrategy áp dụng hướng ROLAP.
Ưu: có khả năng co dãn (không có cell trống khi rải mỏng cube)
Khuyết: không truy cập trực tiếp vào cell, nên thực thi chậm
2.2 Các MOLAP (Multidimentional OLAP) server
Dùng bộ máy lưu trữ ma trận đa chiều (kỹ thuật sparse matrix) để
chứa và quản lý dữ liệu đa chiều. Chúng ánh xạ hướng nhìn đa chiều
trực tiếp từ cấu trúc ma trận của khối dữ liệu.
SVTH: Nguyễn Thị Mai 20

Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Các MOLAP server
Ưu: do truy cập trực tiếp vào cell nên thực thi nhanh, cho phép chỉ
mục nhanh đến các dữ liệu tổng hợp đã được tính trước.
Khuyết: khó co dãn và dư thừa (có nhiều cell trống), khả năng lưu trữ
sẽ thấp nếu tập dữ liệu thưa thớt.
Nhiều server MOLAP chấp nhận sự thể hiện lưu trữ hai mức độ dày
đặc và thưa thớt của các tập dữ liệu: những khối con dày đặc được
nhận dạng và chứa trong cấu trúc mảng, trong khi những khối con
thưa thớt dùng kỹ thuật nén để tận dụng khả năng chứa có hiệu quả.
2.3 Các HOLAP (Hybrid OLAP) server
Hướng lai ghép OLAP là sự kết hợp hai kỹ thuật OLAP và
MOLAP
Dữ liệu chính được lưu dưới dạng ma trận đa chiều (MOLAP), và
dữ liệu chi tiết (dữ liệu để drill-down) thì lưu dưới dạng các bảng
quan hệ (OLAP)
SVTH: Nguyễn Thị Mai 21
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Các ROLAP server
Ưu:
Kết hợp khả năng co dãn của ROLAP và năng suất của MOLAP
Linh họat với người dùng
Ví dụ: Microsoft SQL Server 2000 ứng dụng server lai ghép này
Specialized SQL server:
Với sự phát triển của yêu cầu trên tiến trình OLAP trong CSDL
quan hệ, một số hệ thống CSDL dùng các Specialized SQL server để
cung cấp các truy vấn đặc trưng trên lược đồ hình sao và lược đồ bông
tuyết trong môi trường read-only.
Hầu hết các hệ thống kho dữ liệu chấp nhận kiến trúc server-client. Các kho
dữ liệu quan hệ cư trú tại kho dữ liệu/ kho dữ liệu theo chủ đề của server site.

Các kho dữ liệu đa chiều có thể cư trú ở CSDL của server site hoặc client
site.
3. Kỹ thuật cài đặt OLAP
Tiến trình phân tích trực tuyến (OLAP) được cài đặt theo nhiều cách khác
nhau. Tuy nhiên, cách phổ biến nhất là giai đoạn lấy thông tin từ những cơ
sở dữ liệu khác nhau của công ty, như là kho dữ liệu là staged được lưu trữ
tạm thời thành cơ sở dữ liệu OLAP đa chiều có thể thu hồi bởi các hệ thống
front-end.
SVTH: Nguyễn Thị Mai 22
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Cơ sở dữ liệu đa chiều được tối ưu hóa để truy hồi nhanh chóng. Nhiều kỹ
thuật để truy xuất và phân tích thông tin một cách nhanh chóng được sử dụng
dựa trên thủ tục quản lý cơ sở dữ liệu.
OLAP về cơ bản liên quan đến tính đa chiều của dữ liệu. Mô hình đa chiều
mang đến nhiều thuận lợi của mối quan hệ vốn có trong dữ liệu để lưu dữ
liệu trong ma trận đa chiều được gọi là Data Cubes hoặc Hypercubes (với dữ
liệu có nhiều hơn ba chiều). Một bảng tính tiêu chuẩn, đánh dấu một cơ sở
dữ liệu thông thường là ma trận hai chiều. Một ví dụ về bảng tính các khu
vực bán sản phẩm trong một thời điểm đặc biệt. Các sản phẩm được thể hiện
ở các hàng với doanh thu bán hàng cho mỗi vùng bao gồm các cột. Thêm
chiều thời gian vào phần tài chính của đơn vị sẽ tạo ra ma trận ba chiều có
thể được thể hiện sử dụng cube.
SVTH: Nguyễn Thị Mai 23
Hình.4. Cài đặt OLAP
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Trong hình 4, có 3 cube dữ liệu 3 chiều được tổ chức thành dữ liệu bán hàng
với thông tin quý tài chính và khu vực bán hàng. Mỗi ô có thể chứa dữ liệu
cho sản phẩm cụ thể, qúy bán hàng cụ thể và khu vực bán hàng cụ thể. Bằng
cách them các chiều có thể tạo ra một hình siêu lập phương mặc dù chỉ có
thể nhìn thấy trực quan ba chiều, các chiều khác không thể nhìn thấy được.

Dữ liệu có thể được truy vấn trực tiếp với sự kết hợp của nhiều chiều, thông
qua các truy vấn cơ sở dữ liệu phức tạp.
2.1 Một số khái niệm
Một mô hình đa chiều lưu trữ dữ liệu liên quan đến hai loại bảng là fact
table và dimension table.
2.3.2 Fact table
Fact table có thể được hiểu như là bảng chứa các dữ liệu có tính
chất đo lường. Một fact (hay còn gọi là measure) trong data
warehouse được dùng để minh họa cho một trường (field/column)
chứa một giá trị đo lường được và đóng một vai trò quan trọng với
business. Trên thực tế, ta hay gặp nhất các fact ở dạng số (numeric)
và có tính chất cộng (additive).
Dưới đây là một ví dụ đơn giản về một fact table:
SVTH: Nguyễn Thị Mai 24
Hình.6.Hình.5.
Hình.5.
Hệ hỗ trợ ra quyết định GVHD: PGS.TS Đỗ Phúc
Daily Sales Fact Table
Date Key (FK)
Product Key (FK)
Store Key (FK)
Quantity Sold
Dollar Sales Amount
Có thể dễ dàng nhận thấy fact table Daily Sales chỉ có 2 loại dữ liệu chính:
Foreign Key và Fact. Date Key, Product Key, và Store Key là các foreign
keys. Quantity Sold và Dollar Sales Amount là các fact (measure). Date
Key, Product Key, và Store Key liên kết đến các dimension table tương
ứng là Date, Product, Store. Ta sẽ nói về dimension table ở phần sau.
Với cách tổ chức như trên, việc tính tổng lượng hàng hóa bán ra hoặc tổng
thu nhập khá là đơn giản. Ta chỉ việc thực hiện phép toán cộng trên các

record là xong. Cũng không khác nhiều lắm so với việc dùng table trong
operational database. Điều khác biệt ở đây là tốc độ và sự thuận tiện. Do
cấu trúc của fact table khá đơn giản chỉ chứa duy nhất foreign key và fact,
ngoài ra không có bất cứ thông tin nào khác nên tốc độ truy cập bảng khá
nhanh. Một kỹ thuật hay dùng là tạo index cho các foreign key. Một kỹ
thuật nữa là xây dựng sẵn các aggregate tables để tính toán trước một đại
lượng nào đó dựa trên fact table.
2.1.2 Fact grain
Fact grain (độ mịn) là một khái niệm để xác định mức độ chi tiết
của thông tin chứa trong fact table. Một quy định bắt buộc khi thiết
kế fact table là:
tất cả các record trong fact table phải có cùng độ mịn.
SVTH: Nguyễn Thị Mai 25

×