Tải bản đầy đủ (.pdf) (100 trang)

OLAP và ứng dụng OLAP và ứng dụng

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 (3.72 MB, 100 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

NGUYỄN THỊ HỒNG

OLAP VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ KỸ THUẬT
Chuyên ngành: CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học:
PGS. TS. NGUYỄN KIM ANH

HÀ NỘI – 2013


MUC LUC
LỜI CẢM ƠN.................................................................................................................. 2
DANH MỤC VIẾT TẮT ................................................................................................... 3
DANH MỤC HÌNH VẼ ..................................................................................................... 4
LỜI MỞ ĐẦU.................................................................................................................. 6
CHƯƠNG 1: CƠNG NGHỆ OLAP ................................................................................. 9
1.1. Giới thiệu về Data Warehouse........................................................................ 9
1.1.1. Định nghĩa data warehouse ............................................................. 9
1.1.2. Các đặc trưng của kho dữ liệu ......................................................... 10
1.1.3. Kiến trúc của kho dữ liệu[7] ............................................................... 13
1.1.4. Ứng dụng của kho dữ liệu ................................................................ 16
1.2. Tổng quan về OLAP ....................................................................................... 16
1.2.1. Định nghĩa OLAP ............................................................................. 16
1.2.2. Tại sao phải xây dựng các ứng dụng OLAP ..................................... 17


1.2.3. Các đặc điểm của ứng dụng OLAP .................................................. 24
1.2.4. Tổ chức và xử lý dữ liệu của hệ thống OLAP ................................... 31
1.2.5. Các mơ hình OLAP[7] ........................................................................ 33
CHƯƠNG II OLAP TRONG ORACLE SERVICE .......................................................... 41
2.1. OLAP trong Oracle[7] ....................................................................................... 41
2.1.1. Tích hợp đầy đủ cơng nghệ đa chiều. .............................................. 41
2.1.2. Quản trị, phát triển ứng dụng dễ dàng ............................................. 41
2.1.3. Bảo mật ........................................................................................... 42
2.1.4. Hiệu năng và tính sẵn sàng cao ....................................................... 42
2.1.5. Giảm thiểu chi phí ............................................................................ 43
2.1.6. Hỗ trợ Report và dashboard trong Oracle OLAP .............................. 43
2.2. Các thành phần trong Oracle OLAP ............................................................... 45
2.2.1. Cube ................................................................................................ 46
2.2.2. Measure ........................................................................................... 47
2.2.3. Dimension ........................................................................................ 47
2.2.4. Hierachie và Level ........................................................................... 49
2.3. Quy trình thiết kế các đối tượng trong Oracle OLAP ....................................... 52
2.3.1. Xây dựng Dimension........................................................................ 52
2.3.2. Xây dựng Fact ................................................................................. 53
2.3.3. Phân tích và xử lý dữ liệu ................................................................ 53
2.4. OLAP với công cụ Oracle và công cụ IBM ...................................................... 55
2.4.1. Công cụ Oracle ................................................................................ 55
2.4.2. Công cụ IBM .................................................................................... 61
2.4.3. So sánh các công cụ ........................................................................ 65
CHƯƠNG 3 ỨNG DỤNG TRONG PHÂN TÍCH THU NHẬP CHI PHÍ MSB.................... 69


OLAP va Ứng dụng

3.1. Bài tốn .......................................................................................................... 69

3.2. Phân tích ........................................................................................................ 69
3.2.1. Phân tích bài tốn ............................................................................ 69
3.2.2. Giải pháp thực hiện .......................................................................... 70
3.3. Mơ hình hệ thống............................................................................................ 70
3.3.1. Mơ hình tổng quan ........................................................................... 70
3.3.2. Mơ hình thiết kế cơ sở dữ liệu.......................................................... 71
3.4. Thiết kế chi tiết ............................................................................................... 74
3.4.1. Thiết kế Kho dữ liệu DW .................................................................. 74
3.4.2. Thiết kế OLAP.................................................................................. 78
3.4.3. Thiết kế Report ................................................................................ 85
3.5. Kết quả ........................................................................................................... 88
3.5.1. Báo cáo thu nhập chi phí ................................................................. 88
3.5.2. Báo cáo kinh doanh ......................................................................... 89
3.5.3. Báo cáo phân tích ............................................................................ 90
3.5.4. Bảng phân tích ................................................................................. 91
3.5.5. Báo cáo thống kê ............................................................................. 95
KẾT LUẬN ..................................................................................................................... 97
4.1
4.2

Những điều đã làm được ........................................................................... 97
Những điều còn hạn chế ............................................................................ 97

TÀI LIỆU THAM KHẢO .................................................................................................. 98

-1-


OLAP va Ứng dụng


LỜI CẢM ƠN
Lời đầu tiên, tác giả xin bày tỏ lòng biết ơn chân thành và sâu sắc tới PGS.TS Nguyễn
Kim Anh, người đã tận tình và nghiêm khắc hướng dẫn để luận văn này được hoàn
thành.
Tác giả chân thành cảm ơn Viện Công nghệ thông tin và truyền thông, Viện Đào tạo
Sau Đại học, trường Đại học Bách khoa Hà Nội, đã tạo mọi điều kiện thuận lợi cho tác
giả trong quá trình học tập và nghiên cứu. Cảm ơn các thầy cô đã cùng tác giả trao đổi
những kiến thức và kinh nghiệm quý báu để giúp cho luận văn được hoàn thiện hơn.
Tác giả cũng gửi lời cảm ơn tới đồng nghiệp, Công ty Cổ phần giải pháp phần mềm tài
chính và Ngân hàng Thương mại Cổ phần Hàng Hải đã tạo điều kiện thuận lợi để giúp
tác giả hoàn thành luận văn.
Bên cạnh đó, sự quan tâm của gia đình, bạn bè là nguồn động viên khơng thể thiếu để
giúp tác giả hồn thành luận văn này. Xin chân thành cảm ơn.

Học viên: Nguyễn Thị Hồng
Lớp:

-2-

12ACNTT-HY


OLAP va Ứng dụng

DANH MỤC VIẾT TẮT
Từ

Mô tả

Ý nghĩa


OLAP

Online Analytical Processing

Xử lý phân tích trực tuyến

DW

Data warehouse

Kho dữ liệu

ETL

Extract, Transform, Load

Lọc, Truyển đổi, Tải

OLTP

Online Transaction Processing Xử lý giao dịch trực tuyến

Staging

Staging

Vùng đệm

Data Mart


Data Mart

Kho dữ liệu chuyên đề

Drill-down

Drill-down

Khoan xuống

Roll-up

Roll-up

Cuộn lên

Drill-across

Drill-across

Khoan ngang

Drill-through

Drill-through

Khoan xuyên

Dimension


Dimension

Chiều

Fact

Fact

Sự kiện

-3-


OLAP va Ứng dụng

DANH MỤC HÌNH VẼ
Hình 1.1 Mơ hình DW .............................................................................................. 9
Hình 1.2 Đặc trưng DW ............................................................................................ 11
Hình 1.3 Tính ổn định trong DW .............................................................................. 13
Hình 1.4 Kiến trúc DW ............................................................................................. 14
Hình 1.5 Kiến trúc DW-Staging ............................................................................... 15
Hình 1.6 Kiến trúc DW-Staging-Data Marts ............................................................ 15
Hình 1.7 Vị trí OLAP ............................................................................................... 25
Hình 1.8 Mơ hình Fact-Dimension ........................................................................... 27
Hình 1.9 Biểu diễn mơ hình Fact-Dimension ........................................................... 28
Hình 1.10 Mơ hình phân cấp .................................................................................... 29
Hình 1.11. Mơ hình ROLAP ..................................................................................... 34
Hình 1.12: Mơ hình dữ liệu ROLAP ........................................................................ 35
Hình 1.13. Lược đồ hình sao .................................................................................... 35

Hình 1.14. Lược đồ bơng tuyết ................................................................................. 36
Hình 1.15. Mơ hình MOLAP .................................................................................... 37
Hình 1.16. Mơ hình HOLAP .................................................................................... 39
Hình 1.17. ROLAP và MOLAP................................................................................ 40
Hình 2.1 Bảng tổng hợp tạo trong ứng dụng Oracle ................................................ 44
Hình 2.2 Báo cáo dạng biểu đồ về hiệu xuất theo quý ............................................. 44
Hình 2.4 Báo cáo tổng hợp theo các năm ................................................................. 45
Hình 2.5 Mối quan hệ các đối tượng chiều ............................................................... 46
Hình 2.6. Mơ hình phân tách dữ liệu ........................................................................ 54
-4-


OLAP va Ứng dụng

Hình 3.1. Mơ hình tổ chức hệ thống ......................................................................... 71
Hình 3.2. Mơ hình lưu thơng tin giá vốn .................................................................. 73
Hình 3.3. Mơ hình lưu thơng tin lịch sử giao dịch.................................................... 74
Hình 3.4. Màn hình lọc điều kiện ............................................................................. 89
Hình 3.5. Báo cáo thu nhập chi phí quy đổi VND .................................................... 89
Hình 3.7. Báo cáo kinh doanh tồn hàng .................................................................. 90
Hình 3.8. Báo cáo phân tích thu nhập chi phí ........................................................... 91
Hình 3.9. Bảng phân tích lợi nhuận theo phân hệ..................................................... 92
Hình 3.10 Bảng phân tích thu nhập chi phí theo ngân hàng chun doanh. ............ 93
Hình 3.11 Báo cáo phân hệ tiền vay (Loan) ............................................................. 93
Hình 3.12. Báo cáo huy động vốn ............................................................................ 94
Hình 3.13 Báo cáo cho sản phẩm tiền gửi ................................................................ 94
Hình 3.14 Bảng phân tích lợi nhuận theo phân hệ và sản phẩm .............................. 95
Hình 3.15 Top 10 khách hàng ................................................................................... 96

-5-



OLAP va Ứng dụng

LỜI MỞ ĐẦU
Cùng với sự tiến bộ không ngừng của khoa học và công nghệ, ngày càng xuất hiện
nhiều ứng dụng cơ sở dữ liệu với các yêu cầu phân tích đặc biệt. Trong lĩnh vực quản
trị và phân tích cơ sở dữ liệu, các thiết kế cơ sở dữ liệu quan hệ thông thường bắt đầu
bộc lộ nhiều nhược điểm. Điều này làm phát sinh nhu cầu nghiên cứu về việc thiết kế
cơ sở dữ liệu đa chiều đáp ứng được nhu cầu phân tích của doanh nghiệp. Vấn đề lọc,
tách dữ liệu cũng là bài tốn khó cho những cơ sở dữ liệu lớn. Để giải quyết vấn đề
này, cấu trúc kho dữ liệu ( data warehouse - DW) được xây dựng đáp ứng nhu cầu
thực tế.
Việc phân tích, đánh giá kết quả kinh doanh dựa trên nhiều mặt đòi hỏi nhà quản lý
phải dựa trên kết quả từ nhiều khía cạnh. Để hỗ trợ nhà quản lý, việc xây dựng DW
OLAP đem lại nhiều kết quả cao trong q trình phân tích và đánh giá doanh thu.
Thực trạng hệ thống dữ liệu của Ngân hàng thương mại cổ phần Hàng Hải được lấy từ
nhiều nguồn khác nhau, dữ liệu giữa các hệ thống không đồng bộ như: Kondor, Credit
Card, Core, vTreasury … Yêu cầu từ trung tâm tài chính là đưa tất cả dữ liệu về một
cơ sở dữ liệu thống nhất. Đồng thời xây dựng được báo cáo hỗ trợ nghiệp vụ phân tích
thu nhập chi phí, quản lý lỗ lãi, phân bổ lợi nhuận, …
Từ những yêu cầu thực tế, nhu cầu phải xây dựng kho dữ liệu OLAP là cần thiết.
Chúng tơi xây dựng DW chung cho tồn ngân hàng, các hệ thống báo cáo và phân tích
lấy dữ liệu từ DW đưa vào các khối OLAP để phân tích dữ liệu. Dữ liệu thô trước khi
đưa vào DW được xử lý trên vùng đệm DW gọi là Staging, lưu trữ dữ liệu hàng ngày,
và vùng lưu dữ liệu thô lịch sử của hệ thống nguồn gọi là Hstaging.
Mục đích của chính luận văn là nghiên cứu “Xây dựng hệ thống phân tích trực tuyến
trên nền tảng Data warehouse”. Đây là bài tốn có nhiều ứng dụng để giải quyết các
phát sinh từ nhu cầu thực tế. Các ngân hàng đang ngày càng cải tiến cơ sở hạ tầng và
công nghệ đáp ứng yêu cầu phân tích, đánh giá kết quả hoạt động kinh doanh của chi

nhánh, hội sở cũng như toàn ngân hàng.

-6-


OLAP va Ứng dụng

Mơ hình OLAP đã và đang được phân tích, xây dựng trên nhiều hệ thống như Oracle,
DB2, … Các bài tốn phân tích trực tuyến đã được đề xuất, được ứng dụng trên nhiều
hệ thống ngân hàng trên thế giới. Hiện nay tại Việt nam, ngân hàng thương mại cổ
phần Hàng Hải là một trong những ngân hàng đầu tiên xây dựng hệ thống kho dữ liệu
tập trung DW làm tiền đề cho các ứng dụng OLAP sau này. Kho dữ liệu tập trung
được lưu trữ trong cơ sở dữ liệu Oracle, hệ thống báo cáo được xây dựng trên cơng cụ
kéo thả Cognos theo mơ hình BDM (Banking data model – Mơ hình dữ liệu ngân
hàng) của IBM.
Ngoài Lời cảm ơn, Lời mở đầu, Kết luận, Danh sách tài liệu tham khảo, nội dung
chính của luận văn được trình bày trong ba chương. Cụ thể:
Chương 1: “Công nghệ OLAP”, nhắc lại một số khái niệm và đặc trưng cơ bản về DW
và OLAP. Giới thiệu tổng quan về mơ hình và quy trình xây dựng OLAP.
Chương 2: “OLAP trong Oracle service” giới thiệu chi tiết về OLAP, các thành phần
và quy trình thiết kế OLAP trong cơ sở dữ liệu Oracle và công cụ hỗ trợ của IBM
(Banking data model – Mơ hình dữ liệu ngân hàng). Đưa ra giải pháp thiết kế kho
OLAP trên cơ sở dữ liệu Oracle và sử dụng IBM Cognos để xây dựng báo cáo BI.
Chương 3: “Ứng dụng trong phân tích thu nhập chi phí tại MSB”, đưa ra ứng dụng
thực tế áp dụng mơ hình OLAP trên nền tảng kho dữ liệu tập trung – DW tại ngân
hàng thương mại cổ phần Hàng Hải – MSB xây dựng trên cơ sở dữ liệu Oracle.
Hệ thống ứng dụng OLAP đã và đang được vận hành trên hội sở chính và tồn chi
nhánh của MSB. Chúng tơi vẫn đang tiếp tục nghiên cứu nhằm tối ưu các thuật toán
xây dựng hệ thống.
Luận văn được hồn thành tại Viện Cơng nghệ thơng tin và truyền thông, trường Đại

học Bách khoa Hà Nội, dưới sự hướng dẫn của PGS.TS Nguyễn Kim Anh. Mặc dù đã
rất cố gắng, song luận văn chắc chắn vẫn cịn nhiều thiếu sót. Tác giả rất mong nhận
được sự góp ý của các thầy cơ và đồng nghiệp để luận văn được hoàn thiện hơn. Xin
chân thành cảm ơn.
Hà Nội, ngày 25 tháng 11 năm 2013

-7-


OLAP va Ứng dụng

-8-


OLAP va Ứng dụng

CHƯƠNG 1: CÔNG NGHỆ OLAP
1.1. Giới thiệu về Data Warehouse
1.1.1. Định nghĩa data warehouse

Hình 1.1 Mơ hình DW
Kho dữ liệu (data warehouse), gọi một cách chính xác hơn là kho thông tin, là một cơ
sở dữ liệu đượ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 và phân tích, được thiết kế với việc tiếp cận các ý kiến trong mọi lĩnh vực
kinh doanh. Nó cung cấp các công cụ để đáp ứng thông tin cần thiết cho các nhà quản
trị kinh doanh tại mọi cấp độ tổ chức – không những chỉ là những yêu cầu dữ liệu
phức hợp, mà còn là điều kiện thuận tiện nhất để đạt được việc lấy thơng tin nhanh,
chính xác. Kho dữ liệu là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ
liệu đa chiều và mối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ
họa, …

Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte. Kho dữ liệu
được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều kiểu dữ liệu khác
nhau sao cho có thể kết hợp được cả những ứng dụng của các công nghệ hiện đại và kế
thừa được từ những hệ thống đã có sẵn từ trước.
-9-


OLAP va Ứng dụng

Kho dữ liệu là một cơ sở dữ liệu quan hệ được thiết kế để truy vấn và phân tích nhanh
hơn so với q trình xử lý giao dịch. Nó thường lưu dữ liệu lịch sử từ các dữ liệu giao
dịch, nhưng nó có thể lưu dữ liệu từ nhiều nguồn khác. Nó tách biệt việc phân tích từ
giao dịch và việc tổ chức để hợp nhất dữ liệu từ nhiều nguồn.
Môi trường kho dữ liệu bao gồm các giải pháp trích xuất dữ liệu, truyền dữ liệu, thay
đổi dữ liệu và tải dữ liệu (ETL), cơ cấu OLAP, cơng cụ phân tích khách hàng, và ứng
dụng quản lý tiến trình thu thập dữ liệu và cung cấp dữ liệu cho nghiệp vụ.
-

-

-

* Ý nghĩa của kho dữ liệu [1]
Truy cập dữ liệu một cách thống nhất:
o Thu thập và kết hợp thông tin từ nhiều nguồn vào một vùng chung nhất.
Các thông tin được lấy từ nhiều hệ thống, được lọc, tách và chuyển đổi
vào một nguồn duy nhất.
o Cung cấp một khung nhìn tích hợp. Khung nhìn tích hợp được thể hiện
qua giao diện hệ thống hỗ trợ. Người dùng có thể dễ dàng thao tác trên
đó.

o Giao diện người sử dụng khơng biến đổi. Giao diện được thiết kế thống
nhất, vẹn tồn khơng thay đổi.
Dữ liệu được tích hợp và tổ chức:
o Làm cho hệ thống trở nên dễ hiểu, rõ ràng, dễ phân tích. Dữ liệu được bố
trí, phân cụm theo đối tượng, theo thời gian, … dễ dàng cho người dừng
truy cập và phân tích.
o Hỗ trợ khả năng chia sẻ. Dữ liệu được chia sẻ, phân tách cho nhiều hệ
thống dùng chung.
Chuyển đổi dữ liệu thành thông tin: Cung cấp thông tin chính xác đúng thời
điểm và đúng định dạng. Dữ liệu được chuyển đổi về dạng thống nhất theo
nguyên tắc của hệ thống DW.
1.1.2. Các đặc trưng của kho dữ liệu

- 10 -


OLAP va Ứng dụng

Hình 1.2 Đặc trưng DW [9]
1.1.2.1. Hướng đối tượng
Kho dữ liệu được thiết kế để giúp phân tích dữ liệu. Nó tập trung vào việc mơ hình hóa
và phân tích dữ liệu hỗ trợ nhà quản lý ra quyết định mà không tập trung vào các xử lý
thơng thường. Nó được tổ chức xung quanh các chủ thể chính, như khách hàng
(customer), sản phẩm (product), bán hàng (sales).
DW tập trung vào việc mơ hình hóa và phân tích dữ liệu cho các nhà quản lý đưa ra
quyết định, mà không tập trung vào các hoạt động hay các xử lý toàn tác hàng ngày.
Cung cấp một khung nhìn đơn giản và súc tích xung quanh các sự kiện của các chủ
thể.

- 11 -



OLAP va Ứng dụng

Ví dụ với dữ liệu của một ngân hàng, sử dụng kho dữ liệu ta có thể trả lời các câu hỏi
“Số dư các tài khoản thuộc nhóm nợ hai là bao nhiêu ?”,“ Trích lập dự phòng chung,
dự phòng cụ thể của một chi nhánh là bao nhiêu?”, “Có bao nhiêu tài khoản phát sinh
mới trong ngày/tháng?”.
1.1.2.2. Tính tích hợp
Tính tích hợp là mối quan hệ gần gũi với hướng đối tượng. Kho dữ liệu sẽ gộp dữ liệu
từ nhiều nguồn khác nhau ( MS SQL, Oracle, DB2, Sysbase..) về một nguồn chung
(Oracle..). Hiện nay có rất nhiều cơng cụ hỗ trợ việc chuyển đổi, tích hợp dữ liệu từ
nhiều nguồn vào nguồn duy nhất như IBM Datastage của IBM hay ODI của Oracle
hay SIIS của Microsoft.
Tính tích hợp cũng thể hiện trong việc khai phá và đưa các dạng dữ liệu về chung một
dạng đồng nhất. Như mơ tả hình bên dưới, các tài khoản thanh toán, tài khoản vay, tài
khoản séc đều sẽ được DW đưa chung vào một chủ thể Tài khoản.

1.1.2.3. Tính ổn định

- 12 -


OLAP va Ứng dụng

Tính ổn định có nghĩa là dữ liệu khi nhập vào kho dữ liệu ít bị biến đổi, thao tác cập
nhật, xóa ít khi được thực hiện. Dữ liệu trong kho dữ liệu chỉ có thao tác thêm mới;
đọc. Mục tiêu của kho dữ liệu là để lưu trữ dữ liệu lịch sử. Do đó khơng thể thay đổi
dữ liệu đã được tổng hợp lưu lại trong kho.


Hình 1.3 Tính ổn định trong DW
1.1.2.4. Gắn với thời gian
Để có quyết định về phương hướng kinh doanh, người ra quyết định cần có dữ liệu
trong một phạm vi thời gian đủ dài. Điều này ngược với quá trình xử lý OLTP ở chỗ
hiệu quả của yêu cầu phụ thuộc vào dữ liệu lịch sử được di chuyển tới kho lưu trữ.
Mục tiêu của DW là sự thay đổi theo thời gian. Dữ liệu lưu trữ theo thời gian.
-

Yêu cầu quan trọng đối với kho dữ liệu là phạm vi về thời gian dài hơn so với
các hệ thống tác nghiệp:
o Cơ sở dữ liệu tác nghiệp: Dữ liệu chỉ có giá trị hiện thời, dữ liệu đang tác
nghiệp, đang xử lý.
o Dữ liệu của kho dữ liệu: Cung cấp thơng tin lịch sử ( ví dụ như 5-10 năm
trước).
o Yếu tố thời gian được lưu trữ trong CSDL. Lưu vết thời gian để hỗ trợ
truy cập, phân tích, đánh giá.
1.1.3. Kiến trúc của kho dữ liệu[7]
1.1.3.1. Kiến trúc cơ bản

- 13 -


OLAP va Ứng dụng

Hình 1.4 Kiến trúc DW
Kiến trúc cơ bản này bao gồm ba vùng: Nguồn dữ liệu; Kho; Dữ liệu sau xử lý (User,
Reporting, Mining). Trong hình vẽ chúng ta thấy siêu dữ liệu (metadata) và dữ liệu thô
của hệ thống OLTP cũng được thể hiện ở DW, bên cạnh đó thấy xuất hiện dữ liệu tổng
hợp (summary data). Tổng hợp là một lợi thế của kho dữ liệu bởi vì nó đã tính tốn sẵn
kết quả phục vụ cho báo cáo, truy vấn.

1.1.3.2. Kiến trúc bao gồm vùng Staging
Ở kiến trúc trên, chúng ta phải làm sạch và xử lý dữ liệu trước khi đẩy vào kho dữ liệu.
Trong kiến trúc này, kho dữ liệu sử dụng một khu vực trung gian để xử lý dữ liệu
trước khi đẩy vào kho, nó gọi là Staging. Hình vẽ dưới minh họa cho kiến trúc này.

- 14 -


OLAP va Ứng dụng

Hình 1.5 Kiến trúc DW-Staging
Dữ liệu từ nhiều nguồn có nền tảng khác nhau (Oracle, DB2, Sysbase, MS SQL…) sẽ
được gom, chuyển đổi, tập hợp về Staging trên một nền tảng chung.
1.1.3.3. Kiến trúc bao gồm vùng Staging và Data Marts (Kho dữ liệu chủ đề)

Hình 1.6 Kiến trúc DW-Staging-Data Marts
Kiến trúc ở mục trên khá phổ biến nhưng ta có thể tùy chỉnh thêm để phục vụ các bộ
phận khác nhau. Data marts được hiểu là các vùng dữ liệu theo chủ đề. Do đó trong
kiến trúc này, chúng ta sẽ thêm vùng data mart vào để phân tách dữ liệu theo mục đích
khác nhau, phục vụ đối tượng khác nhau.
- 15 -


OLAP va Ứng dụng

1.1.4. Ứng dụng của kho dữ liệu
Kho dữ liệu – DW là thuật ngữ khá phổ biến hiện nay cho các cơ sở dữ liệu lớn, đặc
biệt trong lĩnh vực ngân hàng. Hiện nay các ngân hàng lớn như Vietcombank,
Techcombank, BIDV, … đang và đã lên kế hoạch xây dựng các kho dữ liệu chung.
Việc xây dựng kho dữ liệu tạo nền tảng cho các ứng dụng phân tích của ngân hàng. Nó

là bước đệm để phát triển các ứng dụng OLAP.
1.2. Tổng quan về OLAP
1.2.1. Định nghĩa OLAP
OLAP (On-Line Analytical Processing – Xử lý phân tích trực tuyến) là một thuật ngữ
dùng để chỉ các ứng dụng và kỹ thuật nhằm thu thập, quản lý, tổ chức và biểu diễn dữ
liệu đa chiều cho mục đích phân tích và tổng hợp.
Trong vịng hơn 10 năm trở lại đây, một lượng đáng kể dữ liệu tác nghiệp đã được
chuyển vào lưu trữ trong các cơ sở dữ liệu (CSDL) quan hệ. CSDL quan hệ đã được sử
dụng rộng rãi trong nhiều lĩnh vực với sự quan tâm đặc biệt đến việc xử lý giao dịch.
Để thành công trên đấu trường này, các nhà sản xuất CSDL quan hệ đặt việc xử lý có
hiệu quả cao một lượng lớn các giao dịch nhỏ và khả năng sẵn sàng chịu lỗi của dữ
liệu lên thành các vấn đề quan trọng hàng đầu. Các hệ thống hoạt động theo mô hình
này gọi là các hệ thống giao dịch trực tuyến OLTP ( On-Line Transaction Processing).
Các hệ thống OLTP được đặc trưng bởi nhiều người sử dụng tạo, cập nhật, truy vấn
từng bản ghi riêng lẻ. Do đó các cơ sở dữ liệu OLTP được tối ưu hóa các giao dịch cập
nhật. Trong khi đó các ứng dụng OLAP được sử dụng bởi các nhà phân tích và quản
lý, những người thường mong muốn có một cái nhìn ở mức độ tổng hợp cao hơn của
dữ liệu. Vì vậy, các cơ sở dữ liệu OLAP được tối ưu cho việc xử lý phân tích.
Như phần trên đã trình bày, các hãng sản xuất hệ quản trị CSDL quan hệ cũng đã đưa
ra các công cụ để xây dựng các kho dữ liệu trong thời gian gần đây. Kho dữ liệu lưu
trữ các thơng tin mang tính chiến thuật để trả lời các câu hỏi như “Ai?” và “Cái gì?” về
các sự kiện trong quá khứ. Một câu hỏi thường được gửi đến kho dữ liệu có dạng như
sau: “Tổng thu nhập của Ngân hàng trong quý 2 là bao nhiêu?”.

- 16 -


OLAP va Ứng dụng

Một điều quan trọng là ta cần phân biệt giữa các khả năng của một kho dữ liệu với các

khả năng của một hệ thống OLAP. Khác với kho dữ liệu thường được xây dựng dựa
trên mô hình quan hệ, OLAP sử dụng một khung nhìn đa chiều của các dữ liệu tổng
hợp nhằm cung cấp sự truy cập nhanh chóng đến các thơng tin mang tính chiến lược
để thực hiện phân tích dữ liệu đó sâu hơn.
OLAP cho phép các nhà phân tích, các nhà quản lý, các nhân viên điều hành có thể
hiểu thấu ý nghĩa bên trong của dữ liệu thông qua việc truy cập nhanh chóng, ổn định
và có giao tiếp với nhiều dạng khung nhìn dữ liệu.
Trong khi OLAP cũng có khả năng trả lời các câu hỏi “Ai?” và “Cái gì?” thì chính khả
năng trả lời được các câu hỏi “Cái gì/Nếu?” và “Tại sao?” đã tách biệt OLAP với các
kho dữ liệu. OLAP cho phép ra quyết định về các hoạt động trong tương lai. Một phép
tính thơng thường trong OLAP phức tạp hơn việc tổng hợp dữ liệu một cách đơn giản,
ví dụ OLAP sẽ cho ta lời giải của câu hỏi sau: “Giá bán nước ngọt có ga cho các đại lý
sẽ bị ảnh hưởng như thế nào nếu giá xi-rơ tăng lên 200 đồng/lít và chi phí vận chuyển
giảm xuống 100 đồng/km”. OLAP và kho dữ liệu là sự bổ sung cho nhau. Kho dữ liệu
lưu trữ và quản lý dữ liệu. OLAP sử dụng dữ liệu trong kho dữ liệu để phân tích, tổng
hợp trên nền các khung nhìn đa chiều. Từ đó thu được các thơng tin chiến lược nhằm
mục đích hỗ trợ quyết định và quản lý.
OLAP được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rất lớn mà nếu
cho thực thi các truy vấn này trong hệ thống OLTP sẽ không thể cho kết quả hoặc sẽ
mất rất nhiều thời gian.
Vậy OLAP là gì, ta có thể định nghĩa nó như sau:
OLAP là một loại cơng nghệ phần mềm cho phép các phân tích, quản lý và thực hiện
để đạt được cái nhìn sâu sắc tới dữ liệu một cách nhanh chóng, nhất quán, truy cập một
cách rộng rãi về thông tin được chuyển đổi từ dữ liệu thô để phản ánh chiều thực tế
của doanh nghiệp theo cách hiểu của người dùng.
Định nghĩa về OLAP chứa đựng nhiều yếu tố chính: Tốc độ, nhất quán, truy cập có
tính tương tác và cái nhìn đa chiều về tất cả các yếu tố chính.
1.2.2. Tại sao phải xây dựng các ứng dụng OLAP
- 17 -



OLAP va Ứng dụng

Dữ liệu tác nghiệp đã tăng lên đều đặn và đáng kể trong khoảng 20 năm qua. Trước
đây các doanh nghiệp và các cơ quan chính phủ làm việc với dữ liệu vào cỡ Megabyte
và Gigabyte, còn ngày nay họ đang phải làm việc với dữ liệu ở mức Terabyte và
Petabyte. Với dữ liệu lớn như vậy thì việc hiểu được ý nghĩa hàm chứa bên trong dữ
liệu là hết sức cần thiết. Do vậy, nhu cầu của doanh nghiệp trong việc phân tích dữ liệu
kỹ càng hơn, tổng hợp nhanh hơn, cho các thơng tin có chất lượng cao hơn đang ngày
càng tăng lên.
Thị trường ngày nay có tính cạnh tranh và sơi động hơn rất nhiều so với trước đây.
Các doanh nghiệp kinh doanh thành công hay thất bại phụ thuộc rất nhiều vào sự tinh
vi, tốc độ xử lý của hệ thống thông tin của họ, mà đặc biệt là khả năng phân tích, tổng
hợp sử dụng hệ thống đó. Càng nhanh chóng nắm bắt được tình hình kinh doanh, tình
hình tổ chức doanh nghiệp mình cũng như nhu cầu, thị hiếu của thị trường thì các
doanh nghiệp càng tận dụng được nhiều cơ hội phát triển. Doanh nghiệp hoạt động
trong một môi trường kinh tế phát triển nhanh, cạnh tranh khốc liệt nên vai trò của mỗi
cá nhân trong sự phát triển chung của doanh nghiệp ngày càng cao. Điều này dẫn đến
số lượng các cá nhân của một tổ chức, những người phải thực hiện các phân tích phức
tạp cũng tăng lên.
Những hạn chế của hệ thống OLTP trong việc phân tích dữ liệu
Các hệ quản trị CSDL quan hệ và các công cụ cung cấp giao diện cho người sử dụng
gắn liền với chúng được xây dựng và tối ưu cho việc phát triển các hệ thống xử lý giao
dịch trực tuyến (OLTP). Các hệ thống này chủ yếu cho phép người sử dụng có thể hỏi
đáp, cập nhật dữ liệu, tổng hợp dữ liệu một cách đơn giản. Do vậy, chúng có rất nhiều
hạn chế khi ta muốn sử dụng chúng để phân tích dữ liệu trực tuyến. Các nhược điểm
đó là: Quản lý kém hiệu quả các quan hệ đa chiều; các khả năng phân tích được xây
dựng sẵn trong hệ thống rất hạn chế; và sự tổng hợp dữ liệu hết sức khó khăn.
1.2.2.1. Cơ sở dữ liệu quan hệ khơng thể quản lý có hiệu quả các quan hệ đa
chiều


- 18 -


OLAP va Ứng dụng

Cấu trúc hai chiều: CSDL quan hệ cổ điển về cơ bản là không được thiết kế để phục
vụ quản lý được các cấu trúc đa chiều. Dữ liệu được lưu trữ trong các bảng quan hệ
theo cách thông thường sẽ biểu diễn các cấu trúc đa chiều được trải phẳng ra.
Dữ liệu đa chiều được trải phẳng ra giống như việc ta vẽ các bản vẽ kỹ thuật của mơ
hình ba chiều của một tịa nhà theo các góc chiếu khác nhau. Để xây dựng lại mơ hình
thì ta cần phải tìm ra các bản vẽ có liên quan với nhau và kết hợp các bản vẽ đó để tạo
nên bức tranh hai chiều của mơ hình ba chiều. Việc xây dựng lại mơ hình bằng cách
liên kết các bản vẽ hai chiều là khó, cần nhiều công sức và rất dễ mắc lỗi. Người sử
dụng gặp khó khăn với các cơng cụ hỏi đáp dữ liệu sử dụng SQL: một tập hợp nhiều
các bảng quan hệ biểu diễn nhiều chiều sẽ làm cho người sử dụng khó có thể hiểu và
sử dụng. Người sử dụng phải biết dữ liệu được chứa trong các bảng nào, các bảng
được liên kết với nhau như thế nào và làm thế nào để xây dựng được câu truy vấn SQL
đúng để liên kết các bảng lại với nhau.
Kết nối nhiều bảng và hiệu năng kém trở thành vấn đề: Người sử dụng phải quan tâm
đến việc tối ưu các câu truy vấn để đạt được hiệu năng khả dĩ. Một CSDL quản lý bán
hàng có thể có các bảng và thành phần dữ liệu như sau:
Bảng 1: Product Sales/Sales office

1.000.000 bộ

Bảng 2: Product Description

1.000 bộ


Bảng 3: Sales office/District Cross Ref

100 bộ

Bảng 4: District/Region Cross Ref

10 bộ

CSDL được chuẩn hóa trên tiết kiệm khơng gian lưu trữ bởi vì mỗi sản phẩm, văn
phòng bán hàng, văn phòng quận và vùng chỉ xuất hiện một lần trong CSDL. Một câu
truy vấn cần tổng hợp và so sánh dữ liệu về văn phòng bán hàng, quận và vùng phải
kết nối bốn bảng lại với nhau. Mỗi bản ghi phải được so sánh với mọi bộ trong mọi
bảng khác. Trong CSDL này cho phép kết nối như trên có thể phải thực hiện đến 1000
tỷ phép so sánh (1.000.000 * 1.000 * 100 *10). Quá trình so sánh này thường phải
thực hiện trên các câu truy vấn có tính chất phân tích và tổng hợp. Vì vậy nếu nhiều sử
dụng cùng thực hiện nhiều câu truy vấn như trên có thể làm cho hệ thống quản trị bị
quá tải.
- 19 -


OLAP va Ứng dụng

Các cơ sở dữ liệu phi chuẩn làm giảm hiệu năng và cạn kiệt tài nguyên hệ thống: Do
các kết nối nhiều bảng sử dụng tài nguyên và khó hiểu đối với người dử dụng cho nên
hầu hết các nhà sản xuất CSDL quan hệ đều khuyên là người sử dụng nên tạo ra các
bảng phi chuẩn đặc biệt nhằm hỗ trợ cho các xử lý có yêu cầu phân tích và tổng hợp.
Các bảng phi chuẩn là các bảng mà đã được kết nối trước. Điều này có lợi là nó tránh
được việc phải tiêu phí thời gian cho việc thực hiện kết nối nhưng thực hiện này có
nhiều nhược điểm, các nhược điểm được xét đến cả trong hiệu năng và việc sử dụng
tài nguyên hệ thống.

Làm cạn kiệt tài nguyên hệ thống: Sự phi chuẩn tạo ra các bảng dữ liệu cực lớn bởi vì
trong mỗi bản ghi dữ liệu được lưu trữ dư thừa. Các câu truy vấn OLAP sẽ phải tìm
kiếm trong các bảng rất lớn làm cho chi phí xử lý câu truy vấn chưa chắc đã rẻ hơn so
với chi phí của việc kết nối bảng. CSDL lớn nghĩa là các câu truy vấn phải thực hiện
nhiều lần vào/ra đĩa hơn khi tìm kiếm trong tồn bộ hoặc một phần CSDL. Tìm kiếm
trong một CSDL lớn cũng có xu hướng đẩy một lượng dữ liệu lớn vào vùng đệm gây
tràn bộ nhớ, điều này ảnh hưởng đến các chương trình khác cùng chạy trong hệ thống.
Hiệu năng hoạt động kém: Trong ví dụ CSDL bán hàng, mỗi mặt hàng có thể chứa
một chỉ dẫn sản phẩm, một văn phòng bán hàng, một quận, một vùng. Nếu phần chỉ
dẫn sản phẩm chiếm đến 25 byte, các trường khác chiếm 10 byte thì sẽ có 55 byte
được thêm vào trong mỗi bản ghi Product Sales. Nếu bản ghi này ban đầu có kích
thước 10 byte và ta có 10 triệu bản ghi cần được phân tích thì kích thước của bảng sẽ
tăng từ khoảng 100 megabyte lên 550 megabyte. Bất kỳ câu truy vấn nào phải tìm
kiếm trong bảng này sẽ phải tìm kiếm trong lượng dữ liệu nhiều gấp hơn 5 lần với hiệu
quả giảm đi tương ứng. Trong điều kiện đó thì việc đạt được thời gian trả lời nhanh là
không thể thực hiện được. Như vậy, mặc dù thực hiện các bảng phi chuẩn đã loại bỏ
việc phải thực hiện kết nối nhưng chưa hẳn nó đã làm tăng hiệu quả xử lý. Trong thực
tế, đối với một số câu hỏi hiệu quả đạt được còn giảm đi.

- 20 -


OLAP va Ứng dụng

Dữ liệu thưa làm cho CSDL lớn hơn: Sự phi chuẩn làm tăng độ thưa trong CSDL.
Hình dung rằng mỗi bản ghi Product Sales được gắn thêm một trường để ghi kho hàng
và 25% số bản ghi có kho hàng gắn với chúng và 75% khơng có. Khi bảng ghi chuẩn
được tạo ra, 75% số bản ghi sẽ không chứa thông tin trong trường kho hàng. Không
gian lãng phí này sẽ làm tăng kích thước của CSDL ảnh hưởng đến hiệu quả thực hiện.
Phải vào/ra đĩa nhiều hơn: Các bảng phi chuẩn lớn khơng thể đặt tồn bộ vào trong bộ

nhớ vì vậy hệ thống sẽ phải thực hiện nhiều thao tác vào/ra hơn để nhận dữ liệu. Tốc
độ vào/ra ổ đĩa chậm hơn rất nhiều so với nhận dữ liệu từ bộ nhớ. Các bảng lớn cần
chỉ số để tăng tốc độ truy nhập nhưng chúng cũng làm tăng đáng kể thời gian cần thiết
để tải và cập nhật CSDL.
1.2.2.2. Sự hạn chế trong khả năng phân tích của hệ quản trị CSDL quan hệ
Hệ quản trị CSDL quan hệ khơng có các khả năng vốn có thể thực hiện các thao tác
OLAP cơ bản như tổng hợp theo mức (roll-up), xem các mức chi tiết (drill-down),
phân hoạch (slicing and dicing) và quản lý các quan hệ phức tạp giữa các bảng và
trong một bảng. Hệ quản trị CSDL quan hệ chỉ có một số hàm xây dựng sẵn thao tác
trên một chiều duy nhất.
Sự hạn chế về chức năng: Ví dụ như SQL chỉ có thể thực hiện SUM và AVG cùng một
trường trong các bản ghi nhưng không thể SUM và AVG cho nhiều cột trên cùng một
hàng. Người sử dụng có thể tạo ra một biểu thức liên quan đến nhiều trường trong một
bảng ghi trong một bảng duy nhất nhưng biểu thức đó khơng thể tham chiếu đến các
bảng khác trừ khi các bảng này đã được kết nối trước trong một khung nhìn. Các hạn
chế này là các hạn chế vốn có trong mơ hình quan hệ bởi vì nó chỉ làm việc với các
bảng hai chiều.
Các công cụ truy vấn của người sử dụng: Bất kỳ một thao tác phân tích nào vượt ra
khỏi các câu lệnh select và update quan hệ cơ bản thì đều phải được xử lý bằng các
công cụ dành cho người sử dụng.

- 21 -


OLAP va Ứng dụng

Yêu cầu về thiết kế cụ thể và lập trình: Các cơng cụ này thường địi hỏi nhiều cơng sức
trong việc lập trình và thiết kế cụ thể để có thể đạt được sự thể hiện tốt và các chức
năng cần thiết như các tính tốn liên quan đến nhiều phần tử phức tạp, lập báo cáo
chuyên dụng …

Vấn đề về hiệu năng của mạng và hệ thống: Các chương trình của người sử dụng chạy
trên máy PC đầu tiên phải lấy dữ liệu từ CSDL quan hệ và sau đó chuyển dữ liệu này
về cho chương trình thơng qua mạng máy tính. Do các ứng dụng OLAP thường làm
việc với các CSDL rất lớn nên chắc chắn phải truyền trên mạng một lượng dữ liệu lớn
về cho các chương trình, trước khi các chương trình này có thể thực hiện các thao tác
tổng hợp, xem mức chi tiết hơn, phân hoạch …
Truyền một lượng dữ liệu lớn không chỉ làm giảm đáng kết hiệu năng của chương
trình mà nó cịn nhanh chóng làm cho mạng bị quá tải gây ảnh hưởng tới các người
dùng khác trên mạng. Máy phục vụ OLAP có thể trực tiếp thực hiện các thao tác phân
tích, do vậy chỉ có các kết quả được truyền lại cho người sử dụng để hiển thị và phân
tích sâu hơn.
1.2.2.3. Các hệ quản trị CSDL quan hệ không thể dễ dàng tổng hợp dữ liệu
Cơng việc phân tích thường u cầu các dữ liệu được tổng hợp nhưng dữ liệu trong
CSDL quan hệ thường được lưu trữ dưới dạng chi tiết. Trong một số trường hợp ta có
thể tổng hợp dữ liệu trong CSDL quan hệ bằng cách sử dụng câu lệnh SELECT kết
hợp với các hàm có sẵn như Sum, AVG và mệnh đề GROUP BY. Các phép tổng hợp
đơn giản đó khơng thể thực hiện được các thao tác như tổng hợp dữ liệu theo các mức
cao dần và chi tiết hóa theo từng mức giảm dần.
Chi phí tài nguyên cho việc tính tốn lớn: Mặc dù các phép tổng hợp đó là các phép
tính tốn khá đơn giản nhưng chi phí của chúng khá đắt. Để tổng hợp dữ liệu ta thường
phải chạy các chương trình duyệt tất cả các bộ trong CSDL. Nhiều chương trình cùng
một lúc gửi các câu truy vấn mang tính tổng hợp đến hệ quản trị - điều này là thường
xuyên trong các ứng dụng phân tích – có thể làm cho hệ quản trị bị quá tải.

- 22 -


OLAP va Ứng dụng

Chi phí thời gian: Bên cạnh chi phí cao, người sử dụng có thể phải mất nhiều thời gian

trước khi có được câu trả lời cần thiết, để xoay xở được với vấn đề chi phí cao và tốn
thời gian trong các câu truy vấn tổng hợp, các tổ chức thường tạo ra các bảng tổng hợp
chứa dữ liệu tổng hợp thường được sử dụng. Các bảng tổng hợp phải được người sử
dụng xác định trước và những cái khơng được thì sẽ khơng sẵn sàng để sử dụng. Đây
là một hạn chế nghiêm trọng đối với việc phân tích trực tuyến.
Khó sử dụng: Nhiều bảng tổng hợp – mỗi bảng cho một loại tổng hợp sẽ làm cho cấu
trúc của CSDL rất phức tạp và rắc rối, gây khó khăn khi sử dụng. Người sử dụng phải
biết được bảng tổng hợp nào tồn tại và thông tin gì chứa trong từng bảng tổng hợp có
thể sử dụng. Nắm được các thông tin này trong một hệ thống phức tạp đối với những
người không tham gia thiết kế CSDL không phải là điều đơn giản.
Cập nhật ảnh hưởng đến xử lý: Các bảng tổng hợp phải được cập nhật định kỳ để bảo
đảm tính thống nhất và tính chính xác của từng thơng tin trong các bảng. Các lần cập
nhật phải được sắp xếp thời gian sao cho chúng khơng ảnh hưởng đến cơng việc xử lý
bình thường và để cho chúng không làm cho hệ quản trị bị bận quá mức. Do vậy,
khoảng thời gian giữa các lần cập nhật cho mỗi bảng là khá lớn, các bảng có thể khơng
đồng bộ với nhau tại một thời điểm nào đó. Điều này khiến cho q trình phân tích bị
trì hỗn hoặc dẫn tới các kết quả không thống nhất.
Người sử dụng bị hạn chế trong sử dụng: Dù người sử dụng đang dùng CSDL tổng
hợp hay chi tiết thì các câu truy vấn phân tích vẫn có các ảnh hưởng khơng thể dự
đốn trước trong mơi trường quan hệ. Bởi vì rất khó có thể đánh giá được ảnh hưởng
của các câu truy vấn phức tạp của người sử dụng, cho nên họ hiếm khi được phép truy
cập trùy ý vào CSDL. Họ chỉ được phép sử dụng các câu truy vấn đã được xây dựng
sẵn, được thiết kế với ảnh hưởng tối thiểu đến hệ thống. Họ có thể thay đổi các điều
kiện tìm kiếm và sắp xếp nhưng không thể được phép xây dựng các câu truy vấn theo
mong muốn. Do đó, các nhà phân tích kinh doanh bị hạn chế rất nhiều các phép phân
tích mà họ muốn thực hiện.

- 23 -



×