NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net ›...

70
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC BÌNH NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI NGÂN HÀNG TMCP ĐẠI DƯƠNG TRÊN NỀN TẢNG HỆ QUẢN TRỊ CSDL ORACLE 10G LUẬN VĂN THẠC SĨ Hà Nội - 2014

Transcript of NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net ›...

Page 1: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC BÌNH

NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN

PHẨM TẠI NGÂN HÀNG TMCP ĐẠI DƯƠNG TRÊN

NỀN TẢNG HỆ QUẢN TRỊ CSDL ORACLE 10G

LUẬN VĂN THẠC SĨ

Hà Nội - 2014

Page 2: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC BÌNH

NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN

PHẨM TẠI NGÂN HÀNG TMCP ĐẠI DƯƠNG TRÊN

NỀN TẢNG HỆ QUẢN TRỊ CSDL ORACLE 10G

Ngành: Công nghệ thông tin

Chuyên ngành: Công nghệ phần mềm

Mã số: 60.48.10

LUẬN VĂN THẠC SĨ

Cán bộ hướng dẫn khoa học: GS.TS. Vũ Đức Thi.

Hà Nội - 2014

Page 3: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

LỜI CẢM ƠN

Trước hết, em xin gửi lời cảm ơn trân trọng nhất tới GS.TS. Vũ Đức Thi,

Viện CNTT, Viện KH&CN VN, người đã trực tiếp hướng dẫn, giúp em định

hướng , tận tình chỉ bảo và hỗ trợ em trong suốt quá trình nghiên cứu và thực

hiện luận văn.

Em xin gửi lời cám ơn tới các thầy cô trong khoa Công Nghệ Thông Tin

cùng toàn thể các thầy cô trường Đại học Công Nghệ đã tận tình dạy dỗ và dìu

dắt chúng em trong suốt thời gian học tập tại trường.

Em xin gửi lời cảm ơn tới Ngân hàng TMCP Đại Dương đã tạo môi

trường để em nghiên cứu và cài đặt thử nghiệm hệ thống thành công.

Cuối cùng em xin gửi lời cám ơn tới gia đình, bạn bè, những người luôn

luôn bên cạnh và tạo mọi điều kiện thuận lợi nhất để em có thể hoàn thành tốt

luận văn.

Hà Nội, tháng 10 năm 2014

Sinh viên : Nguyễn Đức Bình Lớp K18 Khoa Công Nghệ Thông tin, Trường Đại Học Công Nghệ

Page 4: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm nghiên

cứu, tìm hiểu của riêng cá nhân tôi. Trong toàn bộ nội dung của luận văn,

những điều được trình bày hoặc là của cá nhân tôi hoặc là được ổng hợp từ

nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và

được trích dẫn hợp pháp.

Tôi xin hoàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định

cho lời cam đoan của mình.

Page 5: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

MỤC LỤC

PHẦN MỞ ĐẦU. ............................................................................................... 1

CHƯƠNG 1: LÝ THUYẾT KHO DỮ LIỆU ..................................................... 4

1.1. Tổng quan về kho dữ liệu. ......................................................................... 4

1.1.1. Lịch sử phát triển của kho dữ liệu: ................................................ 4

1.1.2. Định nghĩa. ................................................................................... 5

1.2. Đặc trưng kho dữ liệu................................................................................ 5

1.2.1. Tính bền vững. .............................................................................. 5

1.2.2. Biến thời gian. .............................................................................. 5

1.2.3. Hướng chủ đề. .............................................................................. 6

1.2.4. Tính tích hợp. ............................................................................... 7

1.3. Sự khác nhau giữa hệ thống OLTP và kho dữ liệu .................................... 7

1.4. Kiến trúc kho dữ liệu. ................................................................................ 9

1.4.1. Kiến trúc kho dữ liệu cơ bản ......................................................... 9

1.4.2. Kiến trúc kho dữ liệu với vùng đệm. ............................................. 9

1.4.3. Kiến trúc kho dữ liệu với vùng đệm và kho dữ liệu cục bộ. ........ 10

1.5. Thiết kế kho dữ liệu ................................................................................ 10

1.5.1. Thiết kế logic và thiết kế vật lý trong kho dữ liệu ....................... 10

1.5.2. Thiết kế logic. ............................................................................. 11

1.6. Lược kho dữ liệu. .................................................................................... 12

1.6.1. Lược đồ sao. ............................................................................... 12

1.6.2. Lược đồ bông tuyết. .................................................................... 12

1.6.3. So sánh lược đồ sao và bông tuyết. ............................................. 13

1.6.4. Lược đồ khác. ............................................................................. 14

1.7. Thiêt kế vật lý. ........................................................................................ 14

1.7.1. Chuyển thiết kế logic thành thiết kế vật lý. ................................. 14

1.7.2. Tạo thiết kế vật lý ....................................................................... 14

1.8. Đối tượng trong kho dữ liệu. ................................................................... 15

1.8.1. Sự kiện và bảng sự kiện. ............................................................. 15

1.8.2. Chiều và bảng chiều. ................................................................... 15

1.8.3. Khối dữ liệu. ............................................................................... 15

1.9. Chiến lược xây dựng kho dữ liệu: ........................................................... 18

1.9.1. Chiến lược từ trên xuống. ........................................................... 18

1.9.2. Chiến lược từ dưới lên ................................................................ 19

1.9.3. So sánh 02 phương pháp thiết kế................................................. 20

1.9.4. Chiết xuất dữ liệu. ....................................................................... 22

1.9.5. Chuyển đổi dữ liệu. ..................................................................... 22

Page 6: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

1.9.6. Nạp dữ liệu. ................................................................................ 23

1.10. Kho dữ liệu cục bộ. .............................................................................. 28

CHƯƠNG 2: XÂY DƯNG KHO DỮ LIỆU SẢN PHẨM ............................... 30

2.1. Giới thiệu. ................................................................................................. 30

2.1.1. Ngân hàng TMCP Đại Dương. ......................................................... 30

2.1.2. Hệ thống CORE BANKING. ........................................................... 31

2.1.3. Thực trạng hệ thống. ........................................................................ 33

2.2. Xây dựng kho dữ liệu ................................................................................ 34

2.2.1. Đặc tả các thông tin cơ bản của dự án: ............................................. 34

2.2.2. Phân tích nghiệp vụ. ......................................................................... 35

2.2.3. Xây dựng kho dữ liệu trung tâm. ...................................................... 39

2.2.4. Xây dựng kho dữ liệu cục bộ. .......................................................... 47

CHƯƠNG 3: CÀI ĐẶT, THỬ NGHIỆM ......................................................... 49

3.1. Giới thiệu về công cụ Oracle Warehouse Builder. ..................................... 49

3.2. Môi trường cài đặt và các thành phần: ....................................................... 50

3.3. Cài đặt với Oracle Warehouse Builder....................................................... 50

3.3.1. Xây dựng bảng chiều. ...................................................................... 50

3.3.2. Xây dựng cube ................................................................................. 52

3.3.3. Thiết lập nguồn, chiết xuất và xử lý dữ liệu. .................................... 53

3.3.4. Triển khai. ....................................................................................... 55

3.3.4. Nạp dữ liệu vào kho dữ liệu. ............................................................ 56

3.4. Báo cáo dựa trên kho dữ liệu. .................................................................... 50

KẾT LUẬN VÀ ĐỊNH HƯỚNG. .................................................................... 60

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

Page 7: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

Danh mục các ký hiệu, chữ viết tắt

Ký hiệu Chuỗi văn bản gốc Mô tả

3NF Third Normal Form Chuẩn hóa 3NF

Client/Server

OLAP

Client/Server Online Analytical

Processing

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

khách/chủ

CNTT Information Technology Công nghệ thông tin

CSDL Database Cơ sở dữ liệu

DDL Data Define Language Ngôn ngữ định nghĩa dữ liệu

OWB Oracle Warehouse Build Công cụ xây dụng kho dữ liệu

DBMS Database Management System Hệ quản trị cơ sở dữ liệu

DF Datafile Tệp dữ liệu

DWH Data Warehouse Kho dữ liệu

DSS Decision Support System Hỗ trợ quyết định

ETL

Extraction, Transportation,

Loading

Trích suất, Trao đổi, Tải

ID ID Định danh

NN NOT NULL Khác rỗng

OD Oracle Designer Sản phẩm

OLAP On Line Analytical Processing Xử lý phân tích trực tuyến

OLTP On Line Transaction Processing Xử lý tác nghiệp trực tuyến

Page 8: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

DANH MỤC HÌNH VẼ ĐỒ THỊ

Hinh 1. 1: Sơ đồ luồng dữ liệu ............................................................................ 4

Hinh 1. 2: Tính bền vững của DWH. .................................................................. 5

Hinh 1. 3: Đặc trưng biến thời gian. ................................................................... 6

Hinh 1. 4: Đặc trưng hướng chủ đề..................................................................... 6

Hinh 1. 5: Đặc trưng tính tích hợp. ..................................................................... 7

Hinh 1. 6: So sánh OLTP với DWH. .................................................................. 8

Hinh 1. 7: Kiến trúc kho dữ liệu cơ bản. ............................................................. 9

Hinh 1. 8: Kiến trúc kho dữ liệu vùng đệm. ........................................................ 9

Hinh 1. 9: Kiến trúc DWH với vùng đệm, DM. ................................................ 10

Hinh 1. 10: Lược đồ ngôi sao. .......................................................................... 12

Hinh 1. 12: So sánh 2 lược đồ bông tuyết và ngôi sao. .................................... 13

Hinh 1. 11: Lược đồ hình bông tuyết. ............................................................... 13

Hinh 1. 13: So sánh thiết kế logic với thiết kế vật lý. ........................................ 14

Hinh 1. 14: Khối dữ liệu 3 chiều. ..................................................................... 16

Hinh 1. 15: Phép cắt dữ liệu. ............................................................................ 17

Hinh 1. 16: Phép khoan dữ liệu. ....................................................................... 17

Hinh 1. 17: Phép quay dữ liệu. ......................................................................... 18

Hinh 1. 18: Chiến lược xây dựng DWH. .......................................................... 18

Hinh 1. 19: Kiển trúc Inmon ............................................................................. 19

Hinh 1. 20: Kiến trúc Kimball .......................................................................... 19

Hinh 1. 21: So sánh 2 cách Kimball và Inmon. ................................................. 21

Hinh 1. 22: Quá trình ETL. .............................................................................. 21

Hinh 1. 23: Cấu trúc chiều cơ bản. ................................................................... 23

Hinh 1. 24: Chiều thời gian. ............................................................................. 25

Hinh 1. 25: Quá trình hợp nhất các chiều phụ thuộc. ........................................ 26

Hinh 1. 26: Kiến trúc kho dữ liệu cục bộ độc lập. ............................................. 28

Hinh 1. 27: Kiến trúc Kho dữ liệu cục bộ phụ thuộc. ........................................ 29

Hình 2. 1: Giới thiệu Ocean Bank. ................................................................... 30

Hình 2. 2: Mô tả core banking. ......................................................................... 32

Hình 2. 3: Sơ đồ hệ thống dữ liệu tại Ocean Bank. ........................................... 33

Hình 2. 4: Luồng nghiệp vụ huy động. ............................................................. 35

Hình 2. 5: Luồng nghiệp vụ cho vay. ................................................................ 35

Hình 2. 6: Mô hình thực thể của nghiệp vụ huy động & cho vay trên core. ...... 37

Page 9: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

Hình 2. 7: Mô hình CSDL quan hệ của nghiệp vụ huy động trên core. ............. 38

Hình 2. 8: Kiến trúc kho dữ liệu Ocean Bank. .................................................. 40

Hình 2. 9: Mô hình giải pháp luồng dữ liệu. ..................................................... 41

Hình 2. 10: Bảng danh sách thực thể dữ liệu cho kho và nguồn. ....................... 41

Hình 2. 11: Bảng danh sách dữ liệu tham khảo đẩy vào kho dữ liệu. ................ 42

Hình 2. 12: Bảng danh sách dữ liệu chiều thay đổi theo thời gian. ................... 42

Hình 2. 13: Thêm thành phần thời gian vào dữ liệu. ......................................... 43

Hình 2. 14: Bảng dữ liệu chính trong kho. ........................................................ 43

Hình 2. 15: Tạo thêm dữ liệu tính toán, tổng hợp. ............................................ 45

Hình 2. 16: Danh sách các chiều và phân cấp. .................................................. 45

Hình 2. 17: Thiết kế CSDL của kho dữ liệu. ..................................................... 47

Hình 2. 18: Lược đồ khối dữ liệu cục bộ về huy động. ..................................... 48

Hình 3. 1: Các thành phần của OWB. ............................................................... 49

Hình 3. 2: Bảng chiều thời gian. ....................................................................... 51

Hình 3. 3: Phân cấp bảng chiều thời gian. ........................................................ 51

Hình 3. 4: Bảng chiều loại hình tiền gửi . ......................................................... 51

Hình 3. 5: Phân cấp chiều loại hình tiền gửi. .................................................... 52

Hình 3. 6: Bảng chiều khách hàng. ................................................................... 52

Hình 3. 7: Phân cấp bảng chiều khách hàng. .................................................... 52

Hình 3. 8: Khối cube huy động. ........................................................................ 53

Hình 3. 9: Đơn vị đo Cube. .............................................................................. 53

Hình 3. 10: Chiều của cube. ............................................................................. 53

Hình 3. 11: Thiết lập nguồn dữ liệu. ................................................................. 54

Hình 3. 12: Chiết xuất và xử lý dữ liệu chiều thời gian. .................................... 54

Hình 3. 13: Chiết xuất và xử lý dữ liệu chiều loại hình tiền gửi. ....................... 54

Hình 3. 14: Chiết xuất và xử lý chiều phân loại khách hàng. ............................ 54

Hình 3. 15: Giao diện triển khai thiết kế logic. ................................................. 55

Hình 3. 16: Giao diện thiết kế kịch bản nạp dữ liệu vào kho. ............................ 56

Hình 3. 17: Thông tin về tiến trình nạp dữ liệu. ................................................ 56

Hình 3. 18: Mã nguồn nạp dữ liệu vào kho. ...................................................... 57

Hình 3. 19: Dữ liệuchiều loại hình tiền gửi . ..................................................... 57

Hình 3. 20: Dữ liệu cube. ................................................................................. 58

Page 10: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

1

PHẦN MỞ ĐẦU.

1. ĐẶT VẤN ĐỀ.

Hệ thống giao dịch Ngân hàng là một hệ thống với số lượng giao dịch

cực lớn hàng ngày được thực hiện trải dài trên các phần mềm nghiệp vụ như

core bank, Internet Banking, Mobi Banking, Smart Banking… Qua đó tại ra

một khối dữ liệu khổng lồ lưu trữ trải dài trên nhiều hệ thống nghiệp vụ và

không nhất quán. Gây khó khăn việc xử lý và khai thác thông tin hữu ích một

cách nhanh chóng để giúp nhà quản trị, lãnh đạo đưa ra các quyết sách đúng

đắn, kịp thời và hiệu quả cho cơ quản, tổ chức của mình. Ví dụ: thông qua

việc nghiên cứu thói quen mua sắm của các khách hàng thì eBay, Amazon có

biết chính xác các sản phẩm bạn muốn mua là gì để đưa ra gợi ý. Điều ngày

giúp cho khách hàng tiết kiệm thời gian, doanh nghiệp bán được nhiều hàng

hơn.

Với hệ thống dữ liệu tổ chức dữ liệu tốt có thể giúp doanh nghiệp xây

dựng các mô hình dự báo như một công ty viễn thông có thể dự đoán tốt hơn

về việc khách hàng rời mạng. Hay Wal-Mal có thể dự đoán sản phẩm nào sẽ

được bán ra. Đặc biệt với lĩnh vực dịch vụ có số lượng lớn giao dịch như tài

chính, hàng không, viễn thông… nhu cầu về việc tổ chức dữ liệu lớn để đáp

ứng yêu cầu phân tích dự báo là vô cùng cần thiết.

Cuộc khủng hoảng kinh tế năm 2010 đã khiến các tổ chức tài chính

phải nhìn nhận lại định hướng phát triển bền vững thông qua công tác dự báo

nhằm quản lỷ rủi ro mức thấp nhất và nâng cao chất lượng phục vụ khách

hàng dựa trên việc nâng cấp hệ thống phần mềm hoạt động ôn định, dựa trên

nhu cầu của khách hàng. Hệ thống nghiệp vụ liên tục bị quá tải phần lớn là

do tài nguyên dành cho việc thực hiện các báo cáo, các báo cáo nhằm nghiên

cứu nhu cầu khách hàng không thể thực hiện hoặc mất quá nhiều thời gian.

Để giải quyết vấn đề trên, tôi đề xuất xây dựng kho dữ liệu theo phương

pháp tiếp cận phù hợp để giải quyết bái toán. Kho dữ liệu sẽ là nền tảng cho

việc triển khai hệ thống báo cáo phân tích tách biệt với hệ thống giao dịch

nghiệp vụ.

Page 11: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

2

2. Mục tiêu luận văn.

Trên cơ sở tính cấp thiết và tính thực tiễn của việc triể khai xây dựng

một hệ thống phục vụ báo cáo phân tích tách biệt với hệ thống giao dịch

nghiệp vụ. Tôi đã nghiên cứu và tìm hiểu, chọn đề tài luận văn là “Nghiên

cứu và xây dựng kho dữ liệu sản phẩm tại Ngân hàng TMCP Đại Dương

dựa trên nền tảng hệ quản trị CSDL Oracle 10g”.

Đây là một vấn đề lớn và khó khăn, tôi bước đầu đã tìm hiểu và làm chủ

được kiến thức về kiến trúc kho dữ liệu. Mục đích của luận văn là nghiên cứu

lý thuyết và áp dụng kiến thức theo cách phù hợp để tiến hành xây dựng kho

dữ liệu tại Ngân hàng TMCP Đại Dương đáp ứng nhu cầu sử dụng hiện tại và

làm nền tảng cho việc triển khai hệ thống Business Intelligence

3. Phương pháp và phạm vi nghiên cứu luận văn.

Đây là đề tài lớn mang tính áp dụng công nghệ và tính đặc thù của từng

lĩnh vực khi triển khai. Để đảm bảo chất lượng và trong khẳ năng cho phép

đề tài xin giới hạn vào nhưng phần cốt lõi của kiến trúc kho dữ liệu trong lĩnh

vực ngân hàng trên nền tảng công nghệ Oracle gồm:

Tìm hiểu về kiến trúc kho dữ liệu và tính cần thiết cũng như sự khác

biệt so với hệ thống giao dịch nghiệp vụ.

Tìm hiểu về giải pháp kiến trúc kho dữ liệu của nhà cung cấp giải pháp

Oracle và các công nghệ hỗ trợ việc phân tích dữ liệu nhằm triết xuất

thông tin: Oracle warehouse build, Oracle Business Intelligence

Discover

Nghiên cứu giải pháp xây dựng kho dữ liệu phù hợp với thực trạng về

nhân lực, chi phí tại Ngân hàng TMCP Đại Dương.

Tìm hiểu các kiến thức cơ bản về nghiệp vụ ngân hàng thương mại và

cách tổ chức dữ liệu tại hệ thống giao dịch nghiệp vụ tại Ngân hàng

TMCP Đại Dương.

Tìm hiểu về nhu cầu dữ liệu tri thức từ Ban Điều hành để tổ chức dữ

liệu phù hợp.

Xây dựng kho dữ liệu với chủ đề sản phẩm dựa trên nền tảng công

nghệ Oracle và thiết lập công cụ khai thác dữ liệu từ kho dữ liệu để

chứng mình tính khả thi và đáp ứng yêu cầu của kho dữ liệu đã xây

dựng.

Page 12: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

3

4. Nội dung luận văn.

Luận văn được thực hiện dựa trên nhu cầu thực tế tại Ngân hàng TMCP

Ocean Bank. Và dựa trên quá tính tìm hiểu thực tế nhu cầu và nghiên cứu,

đánh giá các giải pháp công nghệ. Luận được tổ chức thành các nội dung

chính như sau:

Mở đầu: Đặt vấn đề, mục tiêu và phạm vi nghiên cứu của luận văn.

Chương 1: Cơ sở lý thuyết - Trình báy về kiến trúc kho dữ liệu gồm các khái

niêm cơ bản: Định nghĩa kho dữ liệu, kiến truc kho dữ liệu, đặc trưng kho dữ

liệu.. phương pháp xây dựng kho dữ liệu, phương pháp khai thác dữ liệu theo

mô hình OLAP.

Chương 2: Xây dựng giải pháp kho dữ liệu - Nghiên cứu thực trạng hệ thống

và giải pháp xây dựng kho dữ liệu sản phẩm phù hợp với thực trạng tại Ngân

hàng TMCP Đại Dương.

Chương 3: Cài đặt, thử nghiệm và đánh giá – Cài đặt kho dữ liệu với công

cụ hỗ trợ Oracle Warehouse Build trên nền tảng Oracle 10g.

Kết luận, định hướng: Tổng kết lại kết quả luận văn đã đạt được, kinh

nghiệm từ được trong quá trình thực hiện luận văn. Và đưa định hướng phát

triển trong tương lai.

Page 13: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

4

CHƯƠNG 1: LÝ THUYẾT KHO DỮ LIỆU

1.1. Tổng quan về kho dữ liệu.

1.1.1. Lịch sử phát triển của kho dữ liệu:

Kho dữ liệu đã được phát triển vào cuối những năm 1980 để đáp ứng

nhu cầu ngày càng tăng về phân tích dữ liệu và quản lý thông tin nhưng

không thể đạt được bởi hệ thống OLTP. Do hệ thống OLTP được thiết kế để

tối ưu hóa cho giao dịch nghiệp vụ, số lượng dữ liệu giao dịch đã được phát

triển một cách nhanh chóng giữa các phòng ban trong một tổ chức nên việc

thực hiện tích hợp dữ liệu khó khăn hơn. Điều này tạo ra khó khăn cho việc

báo cáo (tích hợp & phân tích dữ liệu).

Kết quả là, một hệ thống riêng được gọi là kho dữ liệuđược thiết kế để

giải quyết vấn đề này. Kho dữ liệu chứa các dữ liệu được tập hợp từ nhiều

nguồn khác nhau như dữ liệu quan hệ, các tập tin phẳng, bảng tính, dữ liệu

từ các nguồn bên ngoài tổ chức…. Và được tổ chức trong một cách tối ưu

hóa cho mục đích báo cáo. Với nền tảng kho dữ liệu được tổ chức tốt sẽ là cơ

sở để triển khai các công cụ báo cáo thân thiện với người sử dụng.

Hinh 1. 1: Sơ đồ luồng dữ liệu

Page 14: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

5

1.1.2. Định nghĩa.

Có nhiều định nghĩa kho dữ liệu những chúng đều có một số điểm

chung giống nhau. Theo Bill Inmon - người được biết đến như là cha đẻ của

kho dữ liệu, kho dữ liệu được quy định như sau:

"Data warehoue là một tập hợp dữ liệu tương đối ổn định (nonvolatile) ,

liên kết với thời gian (time-variant), được tích hợp (integrated) theo một chủ

đề (subject-oriented) nhằm hỗ trợ quá trình tạo quyết định về mặt quản lý

(Support management’s decision making process)"

1.2. Đặc trưng kho dữ liệu.

1.2.1. Tính bền vững.

Khi thông tin đã đưa vào kho dữ liệu, dữ liệu không nên thay đổi. Điều

này là hợp lý vì mục đích của một kho dữ liệu là để cho phép ta phân tích

những gì đã xảy ra. Dữ liệu đưa vào kho dữ liệu chỉ để đọc, việc sửa dữ liệu

hầu như không được tiến hành vì điều này có thể dẫn đến phá vỡ sự toàn vẹn.

Thông thường người ta không yêu cầu giảm thời gian đưa dữ liệu vào kho dữ

liệu xuống mức tối thiểu, nhưng cần tối ưu hoá kho dữ liệu sao cho các truy

vấn phục vụ cho việc phân tích đạt tốc độ tốt nhất. Các sơ đồ quan hệ sẽ tạo ra

các Index hợp lý cũng như tạo ra sẵn các dữ liệu kết hợp.

Hinh 1. 2: Tính bền vững của DWH.

1.2.2. Biến thời gian.

Yêu cầu quan trọng cho 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. Cơ sở dữ liệu tác nghiệp: dữ liệu có giá trị hiện

thời. Còn 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). Và yếu tố thời gian được lưu trữ trong CSDL.

Page 15: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

6

Hinh 1. 3: Đặc trưng biến thời gian.

1.2.3. Hướng chủ đề.

Dữ liệu được tổ chức theo các đối tượng chính hoặc các quá trình kinh

doanh. Ví dụ phổ biến của các dữ liệu theo định hướng đối tượng là khách

hàng, sản phẩm, nhà cung cấp và giao dịch bán… Tập trung vào việc mô

hình hóa và phân tích dữ liệu nhằm hỗ trợ đưa ra quyết định, mà không tập

trung vào các hoạt động hay các xử lý giao dịch hàng ngày

Hinh 1. 4: Đặc trưng hướng chủ đề.

Page 16: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

7

1.2.4. Tính tích hợp.

Dữ liệu từ nhiều nguồn khác nhau như từ của các phòng ban trong tổ

chức, từ các nguồn bên ngoài. Và nguồn dữ liệu khác nhau có thể có những

cách khác nhau để xác định một đối tượng cụ thể. Tuy nhiên, trong một kho

dữ liệu chỉ có một định nghĩa của sản phẩm. Điều này đạt được bằng cách sử

dụng giải quyết xung đột về cách xác định đối tượng trong kho dữ liệu. Và

khi chúng ta đạt được điều này, chúng ta nói rằng dữ liệu được tích hợp.

Hinh 1. 5: Đặc trưng tính tích hợp.

1.3. Sự khác nhau giữa hệ thống OLTP và kho dữ liệu

Về cơ bản hệ thống OLTP và kho dữ liệu có một điểm khác biệt chính

đó là kho dư liệu không được tổ chức theo dạng chuẩn 3NF. Nhưng 3NF lại

là chuẩn cho hầu hết các hệ thống OLTP.

Page 17: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

8

Sự khác nhau giữa hệ OLTP và kho dữ liệu

OLTP Kho dữ liệu

Tổ chức Ở dạng chuẩn 3NF Mô hình chiều

Chỉ mục Ít: tối ưu cho giao dịch Nhiều: Tối ưu cho báo cáo

Liên kết bàng Ít Nhiều

Dư thừa dữ liệu Không Có

Dữ liệu tổng hợp Hiếm Phổ biến

Hinh 1. 6: So sánh OLTP với DWH. Kho dữ liệu và các hệ thống OLTP có những yêu cầu rất khác nhau. Dưới

đây là một số ví dụ về sự khác biệt giữa các kho dữ liệu điển hình và các hệ

thống OLTP

Khối lượng công việc: Kho dữ liệu được thiết kế để phù hợp truy vấn đặc

biệt và phân tích dữ liệu. Nên khối lượng dữ liệu cần được xử lý không

biết trước được có thể rất nhỏ hoặc rất lớn. Do đó, kho phải được tối ưu

hóa để thực hiện tốt cho một loạt các thể truy vấn và các hoạt động phân

tích. Hệ thống OLTP thiết kế hỗ trợ các các giao dịch đã được định nghĩa

trước.

Việc chỉnh sửa dữ liệu: kho dữ liệu được cập nhật một cách thường xuyên

bởi quá trình ETL (chạy đêm hoặc hàng tuần) sử dụng kỹ thuật biến đổi

dữ liệu với số lượng lớn. Người sử dụng cuối không trực tiếp cập nhập

kho dữ liệu trừ một số trường hợp đặc biệt như khai phá dữ liệu… Ngược

lại, hệ thống OLTP thì người sử dụng thường xuyên tạo, cập nhập dữ liệu

vào cơ sở dữ liệu. Cơ sở dữ liệu OLTP là luôn được cập nhật và phản ánh

tình trạng hiện tại của mỗi giao dịch kinh doanh.

Mô hình thiết kế: Kho dữ liệu sử dụng mô hình chiều (như mô hình sao)

để tối ưu hóa việc truy vấn và phân tích dữ liệu. OLTP sử dụng mô hình

thiết kế theo chuẩn (như 3NF) để tối ưu hóa các hoạt động câp

nhập/thêm/xóa và để đảm bảo tính nhất quán của dữ liệu.

Hoạt động thông thường: Dữ liệu hoạt động thông thường kho dữ liệu có

thể là hàng nghìn hoặc hàng triệu bản ghi. OLTP truy cập thông thường

chỉ liên quan đến một số lượng ít bản ghi.

Dữ liệu lịch sử: Kho dữ liệu có thể dữ liệu với thời gian dài như 5 năm, 10

năm… nhằm mục đích hỗ trợ quá trình phân tích. OLTP chỉ lưu dữ liệu

trong thời gian ngắn. Đó là những dữ liệu cần thiết để

Page 18: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

9

1.4. Kiến trúc kho dữ liệu.

1.4.1. Kiến trúc kho dữ liệu cơ bản

Với kiến trúc cơ bản, người sử dụng cuối cùng nhận được dữ liệu từ

các hệ thống nguồn thông qua kho dữ liệu.

Hinh 1. 7: Kiến trúc kho dữ liệu cơ bản.

Siêu dữ liệu và dữ liệu thô của một hệ thống OLTP truyền thống là

sẵn có. Tóm lược rất có giá trị trong kho dữliệu, vì chúng tính toán trước các

hoạt động lâu dài như truy vấn kho dữ liệu điển hìnhđể lấy thông tin về lượng

hàng được bán trong tháng

1.4.2. Kiến trúc kho dữ liệu với vùng đệm.

Hinh 1. 8: Kiến trúc kho dữ liệu vùng đệm.

Với kiến trúc này, cần làm sạch và xử lý dữ liệu hoạt động trước khi

đưa nó vào kho dữ liệu, mặc dù hầu hết kho dữ liệu sử dụng một vùng trung

gian thay thế. Một vùng trung gian sẽ làm đon giản hoá việc quản lý kho dữ

liệu chung.

Page 19: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

10

1.4.3. Kiến trúc kho dữ liệu với vùng đệm và kho dữ liệu cục bộ.

Mặc dù kiến trúc trong hình 7 là khá phổ biến, tùy theo yêu cầu ta có

thể kiếntrúc kho dữ liệu cho các nhóm khác nhau bên trong của tổ chức. Điều

này có thế thực hiện bằng cách thêm các kho dữ liệu cục bộ, đó là các hệ

thống được thiết kế cho một phạm vi cụ thể của doanh nghiệp. Hình 8 minh

hoạ một ví dụ nơi mua, bán hàng, và hàng tồn kho được tách ra. Trong ví dụ

này, một nhà phân tích tài chính có thể muốn phân tích dữ liệu lịch sử cho

mua và bán

Hinh 1. 9: Kiến trúc DWH với vùng đệm, DM.

1.5. Thiết kế kho dữ liệu

1.5.1. Thiết kế logic và thiết kế vật lý trong kho dữ liệu

Để xây dựng một kho dữ liệu thì cần xác định các yêu cầu kinh doanh

và thống nhất phạm vi ứng dụng để từ đó đưa ra một bản thiết kế khái niệm.

Bây giờ cần phải chuyển thiết kế khái niệm thành một hệ thống chuyển giao.

Để làm như vậy, cần tạo ra các thiết kế logic và thiết kế vật lý cho các kho dữ

liệu. Cần xác định:

Nội dung dữ liệu cụ thể.

Mối quan hệ bên trong và giữa các nhóm dữ liệu.

Môi trường hệ thống hỗ trợ kho dữ liệu.

Quá trình biến đổi dữ liệu cần thiết.

Tần suất mà dữ liệu được làm mới.

Thiết kế logic xem xét các mối quan hệ logic giữa các chủ thể. Thiết

kế vật lýxem xét cách thức hiệu quả nhất của việc lưu trữ và gọi ra các đối

tượng, cũng như xử lý chúng từ một chuyển dịch và quan điểm sao lưu, phục

hồi.

Thiết kế hướng tới các nhu cầu của người dùng cuối. Người dùng cuối

thường muốn thực hiện phân tích và xem xét dữ liệu tổng hợp, hơn là giao

Page 20: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

11

tác riêng lẻ. Tuy nhiên, người dùng cuối có thể không biết những gì họ cần

cho đến khi họ nhìn thấy nó. Ngoài ra, một thiết kế được lên kế hoạch chu

đáo có tính đến sự tăng trưởng và thay đổi khi nhu cầu của người dùng thay

đổi và tiến hóa. Với thiết kế logic, tập trung vào các yêu cầu thông tin và lưu

các chi tiết thực thi cho sau này.

1.5.2. Thiết kế logic.

Một thiết kế logic là trừu tượng và dựa trên các khái niệm. Ta không

đề cập tới những chi tiết cài đặt vật lý. Ta chỉ đề cập tới việc xác định những

loại thông tin mà ta cần. Một kỹ thuật ta cần sử dụng làm mô hình cho các

yêu cầu thông tin logic của tổ chức là mô hình thực thể quan hệ. Mô hình

thực thể quan hệ liên quan đến việc xác định những thứ quan trọng (thực

thể), các tính chất của những thuộc tính, và làm thế nào chúng liên hệ được

với nhau (các mối quan hệ).

Quá trình thiết kế logic liên quan đến việc sắp xếp dữ liệu thành một

chuỗi các mối quan hệ logic được gọi là các thực thể và thuộc tính. Một thực

thể đại diện cho một mảng của thông tin. Trong cơ sở dữ liệu quan hệ, một

thực thể thường ánh xạ tới một bảng. Một thuộc tính là một thành phần của

một thực thể giúp xác định tính duy nhất của thực thể. Trong cơ sở dữ liệu

quan hệ, một thuộc tính ánh xạ tới một cột.

Để chắc chắn rằng dữ liệu ta có là nhất quán, ta cần phải sử dụng định

danh duy nhất. Một định danh duy nhất là một cái gì đó ta thêm vào bảng để

ta có thể phân biệt các phần tử giống nhau khi nó xuất hiện ở những nơi khác

nhau. Trong một thiết kế vật lý, đó thường là một chính khoá.

Trong khi sơ đồ thực thể quan hệ theo truyền thống được kết hợp với

các mô hình chuẩn hóa mức cao như các ứng dụng OLTP, kỹ thuật vẫn còn

hữu ích cho thiết kế kho dữ liệu ở dạng mô hình chiều. Trong mô hình chiều,

thay vì tìm cách phát hiện các đơn vị nguyên tử của thông tin (như các thực

thể và các thuộc tính) và tất cả các mối quan hệ giữa chúng, ta xác định thông

tin đó thuộc về một bảng sự kiện trung tâm và thông tin đó thuộc các bảng

chiều liên kết của chúng. Ta xác định các chủ thể nghiệp vụ hoặc các trường

dữ liệu, xác định các mối quan hệ giữa các chủ thể kinh doanh, và tên các

thuộc tính cho mỗi chủ thể.

Thiết kế logic kết quả nên là một tập thực thể và thuộc tính tương ứng

với các bảng sự kiện và các bảng chiều và một mô hình của dữ liệu hoạt động

từ nguồn thành thông tin hướng chủ thể trong lược đồ kho dữ liệu đích.

Ta có thể tạo ra những thiết kế logic sử dụng bút và giấy, hoặc sử

dụng một công cụ thiết kế như Oracle Warehouse Builder, đặc biệt được thiết

Page 21: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

12

kế để hỗ trợ cho mô hình hóa quá trình ETL; hoặc Oracle Designe, một công

cụ mô hình hóa mục đích chung.

1.6. Lược kho dữ liệu.

1.6.1. Lược đồ sao.

Đây là lược đồ phổ biến nhất được sử dụng trong thiết kế chiều trong

kho dữ liệu. Có một bảng sự kiện tại trung tâm của lược đồ bao quanh bởi

một số bảng chiều Trong lược đồ sao, kích thước liên quan đến nhóm lại với

nhau như là các cột trong bảng kích thước và được sử dụng để lưu trữ dữ liệu

của sự kiện được lưu trữ trong sự kiện (fact).

1.6.2. Lược đồ bông tuyết.

Bao gồm một bảng sự kiện bao quanh bởi nhiều bảng chiều có thể

được kết nối với bảng chiều khác thông qua mối quan hệ nhiều-một. Lược đồ

bông tuyết là một loại lược đồ sao, tuy nhiên nó là phức tạp hơn so với một

lược đồ sao. Lược đồ bông tuyết được thiết kế từ các lược đồ sao bằng cách

tiếp tục chuẩn hóa các bảng kích thước để loại bỏ dữ liệu dư thừa. Do đó

trong lược đồ bông tuyết, thay vì có một bảng kích thước lớn kết nối với một

bảng thực tế thì sẽ có một nhóm các bảng kích thước nhiều. Giản đồ này

cũng giúp tiết kiệm không gian tuy nhiên nó làm tăng số lượng của bảng kích

thước.

Hinh 1. 10: Lược đồ ngôi sao.

Page 22: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

13

1.6.3. So sánh lược đồ sao và bông tuyết.

Tùy theo thực tế mà ta lựa chọn lược đồ hình sao hay tuyết rơi. Việc

lựa chọn được cân nhắc giữa 2 yếu tố: thời gian đáp ứng truy vấn và mức độ

kiểm soát tính chặt chẽ dữ liệu. Lược đồ dạng tuyết rơi có thể thích hợp khi

dữ liệu bảng chiều trở nên quá lớn và nhiều thuộc tính.

Tuy sự khác nhau thể hiện rất nhỏ về mặt lý thuyết nhưng khi thực

hiện chúng trong thực tế có thể dẫn tới các kết quả khác hẳn nhau.

Sau đây là một số so sánh cơ bản giữa 2 lược đồ.

Lược đồ sao Lược đồ bông tuyết

Dễ hiểu

Dễ dàng hơn cho người

dùng doanh nghiệp và các

nhà phân tích truy vấn dữ

liệu.

Có thể là khó khăn hơn cho người

dùng doanh nghiệp và các nhà

phân tích do số lượng dữ liệu phải

xử lý

Chiều bảng

Chỉ có một bảng chiều cho

mỗi chiều. Bảng chiều

không theo chuẩn 3NF.

Nhiều hơn 1 bảng chiều cho mỗi

chiều. Bảng chiều chuẩn hóa theo

3NF.

Truy vấn phức tạp Các truy vấn là rất đơn giản

và dễ hiểu

Truy vấn phức tạp hơn do phải kết

hợp các khóa ngoại giữa các bảng

chiều

Hiệu suất truy vấn

Hiệu suất cao. Engine có

thể tối ưu hóa và tăng hiệu

suất truy vấn.

Có nhiều liên kết khóa ngoài nên

thời gian truy vấn lâu hơn so với

lược đồ sao.

Không gian lưu trữ Tốn nhiều không gian lưu

trữ cho dữ liệu chiều

Tốn ít không gian lưu trữ dữ liệu

chiều

Số lượng khóa ngoại Ít Nhiều

Loại data

warehouse

Phù hợp với bất kỳ kho dữ

liệu nào (lớn hoặc nhỏ)

Phù hợp với kho dữ liệu nhỏ, kho

dữ liệu cục bộ.

Hinh 1. 12: So sánh 2 lược đồ bông tuyết và ngôi sao.

Hinh 1. 11: Lược đồ hình bông tuyết.

Page 23: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

14

1.6.4. Lược đồ khác.

Một số lược đồ trong các môi trường kho dữ liệu sử dụng dạng chuẩn ba

hơn là lược đồ hình sao. Một lược đồ khác mà đôi khi hữu ích là lược đồ

bông tuyết, đó là một lược đồ hình sao với các chiều chuẩn hóa trong một

cấu trúc cây

1.7. Thiêt kế vật lý.

1.7.1. Chuyển thiết kế logic thành thiết kế vật lý.

Thiết kế logic là cái ta vẽ với bút và giấy hoặc thiết kế với Oracle

Warehouse Builder hoặc Oracle Designer trước khi xây dựng kho dữ liệu.

Thiết kế vật lý là việc tạo cơ sở dữ liệu với các lệnh SQL. Trong quá trình

thiếtkế vật lý, ta chuyển đổi dữ liệu thu thập được trong pha thiết kế logic

vào một mô tả của cấu trúc cơ sở dữ liệu vật lý.

1.7.2. Tạo thiết kế vật lý

Trong pha thiết kế vật lý, ta xác định một mô hình cho kho dữ liệu

gồm các thực thể, các thuộc tính, và các mối quan hệ. Các thực thể được liên

kết với nhau sử dụng các mối quan hệ. Các thuộc tính được sử dụng để mô tả

các thực thể. Định danh duy nhất phân biệt giữa một trường hợp của một

thực thể với các trường hợp khác

Hinh 1. 13: So sánh thiết kế logic với thiết kế vật lý.

Trong thiết kế vật lý, ta phải chuyển các lược đồ thiết kế logic thành

các cấu trúc dữ liệu thực tế. Cụ thể , ta phải ánh xạ:

Các thực thể tới các bảng.

Các mối quan hệ tới các ràng buộc khóa chính.

Các thuộc tính tới các cột.

Các định danh duy nhất tới các ràng buộc khóa duy nhất.

Một khi ta đã chuyển thiết kế logic thành một thiết kế vật lý, ta sẽ cần

phải tạo ra một số hoặc tất cả các cấu trúc sau:

Các không gian bảng.

Page 24: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

15

Các bảng và các bảng phân vùng.

Các khung nhìn.

Các ràng buộc toàn vẹn.

Các chiều.

1.8. Đối tượng trong kho dữ liệu.

1.8.1. Sự kiện và bảng sự kiện.

Sự kiện gần như là các hoạt động tác nghiệp của doanh nghiệp hay tổ

chức. Không giống như bảng chiều, bảng sự kiện thường lưu thông tin về bản

thân hoạt động tác nghiệp được thực thi. Bảng sự kiện bao gồm các đại lượng

có thể đo lường, đơn vị đo lường trong hoạt động của doanh nghiệp. Mỗi

DWH bao gồm một hoặc nhiều bảng sự kiện

Tính chất quan trọng nhất của bảng sự kiện là nó chứa các dữ kiện

kiểu số, có thể tính tổng hay theo một công thức toán học nào đó để cung cấp

thông tin mang tính lịch sử về quá trình tác nghiệp của đơn vị. Mỗi bảng sự

kiện chứa một chỉ mục nhiều phần, như các khóa ngoài, là các khóa chính tại

các bảng chiều có liên quan và chứa các thuộc tính của những bản ghi sự

việc.

1.8.2. Chiều và bảng chiều.

Chiều là một mặt khía cạnh nghiệp vụ mà đơn vị muốn dựa vào đó để

xác định kết quả hoạt động. Chiều thường được xác định từ các thực thể kinh

doanh có tác động đến kết quả. Sau một thời gian, có thể chiều này bị loại bỏ

vì mức độ tác động đến sự thay đổi hầu như không có, chiều mới có thể được

phát hiện và ghi nhận.

Một bảng chiều là bảng chứa các thuộc tính khác nhau có mục đích

giải thích cho khóa chiều trong bảng dữ kiện. Các thuộc tính này chỉ ra hoàn

cảnh của thực thể mà sự kiện nghiệp vụ diễn ra. Khác với bảng sự kiện, bảng

chiều có chứa các thông tin có tính chất mô tả. Giá trị các thuộc tính ở bảng

chiều về sau thường được sử dụng để làm nhãn cho cột hay hàng thống kê.

1.8.3. Khối dữ liệu.

Một khối dữ liệu về cơ bản là có thể có N chiều (N-D). Những cạnh

của khối được gọi là các chiều (dimensions), mà đó là các mặt hoặc các thực

thể ứng với những khía cạnh mà tổ chức muốn ghi nhận. Mỗi chiều có thể

kết hợp với một bảng chiều (dimension table) nhằm mô tả cho chiều đó. Ví

dụ, một bảng chiều của Sản phẩm có thể chứa những thuộc tính như

MaSanpham, Mota, Tensanpham, LoaiSP,… mà có thể được chỉ ra bởi nhà

quản trị hoặc các nhà phân tích dữ liệu. Với những chiều không được phân

loại, như là Thời gian, hệ thống kho dữ liệu sẽ có thể tự động phát sinh tương

Page 25: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

16

ứng với bảng chiều (dimension table) dựa trên loại dữ liệu. Cần nói thêm

rằng, chiều Thời gian trên thực tế có ý nghĩa đặc biệt đối với việc hỗ trợ

quyết định cho các khuynh hướng phân tích. Thường thì nó được mong muốn

có một vài tri thức gắn liền với lịch và những mặt khác của chiều thời gian.

Chúng ta có thể hình dung khối dữ liệu được tổ chức xung quanh một

chủ đề được thể hiện bởi một bảng sự kiện (fact table) của nhiều độ đo số

học (là các đối tượng của phân tích). Ví dụ, một bảng sự kiện có thể chứa số

mặt hàng bán, thu nhập, tồn kho, ngân sách,… Mỗi độ đo số học phụ thuộc

vào một tập các chiều cung cấp ngữ cảnh cho độ đo đó. Vì thế, các chiều kết

hợp với nhau được xem như xác định duy nhất độ đo, là một giá trị trong

không gian đa chiều. Ví dụ như một kết hợp của Sản phẩm, Thời gian, Thị

trường vào 1 thời điểm là một độ đo duy nhất so với các kết hợp khác.

Hinh 1. 14: Khối dữ liệu 3 chiều.

Vì vậy, nếu mỗi chiều chứa nhiều mức trừu tượng, dữ liệu có thể được

xem từ nhiều khung nhìn linh động khác nhau. Một số thao tác điển hình của

khối dữ liệu như roll-up (tăng mức độ trừu tượng), drill-down (giảm mức độ

trừu tượng hoặc tăng mức chi tiết), slice and dice (chọn và chiếu), và pivot

(định hướng lại khung nhìn đa chiều của dữ liệu), cho phép tương tác truy

vấn và phân tích dữ liệu rất tiện lợi. Những thao tác đó được biết như Xử lý

phân tích trực tuyến (On-Line Analytical Processing – OLAP)

Lát cắt (Slice - dice) Lát cắt là một “mặt phẳng” được chỉ ra bởi một tập

các chiều nằm trong tập chiều của khối tại các giá trị cố định của các chiều

còn lại.

Page 26: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

17

Hinh 1. 15: Phép cắt dữ liệu.

Phép khoan dữ liệu (drill down): Phép khoan dữ liệu là một kỹ thuật

đáp ứng nhu cầu khai thác thông tin thông qua các cấp độ của chiều từ mức

độ tổng thể tới các mức độ chi tiết hơn

Hinh 1. 16: Phép khoan dữ liệu.

Phép cuốn dữ liệu (roll up): là phép toán ngược lại phép khoan, đó là

quá trình xem dữ liệu ở cấp độ càng ngày càng tổng quát hơn

Phép quay (Pivot): Là phép thay đổi vị trí các chiều trong thể hiện của

báo cáo

Geography

Product

Item

Type

Category

All

City

State

Country

All Time

Month

Year

Day

Week

All

Quarter

Page 27: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

18

Hinh 1. 17: Phép quay dữ liệu.

1.9. Chiến lược xây dựng kho dữ liệu:

Có 03 cách chiến lược xây dựng kho dữ liệu.

Thực hiện từ trên xuống (Top-down): Xây dựng kho dữ liệu trung tâm

trước. Sau đó xây dựng các kho dữ liệu cục bộ.

Thực hiện từ dưới lên (Bottom-up): Xây dựng các kho dữ liệu cục bộ.

Sau đó tích hợp các kho dữ liệu cục bộ thành kho dữ liệu trung tâm.

Tổ hợp của 2 cách tiếp cận trên: Xây dựng kho dữ liệu trung tâm cho

kho dữ liệu cụ bộ đầu tiên. Sau đó xây dựng kho dữ liệu cục bộ thứ 2 và tích

hợp với kho dữ liệu trung tâm

Hinh 1. 18: Chiến lược xây dựng DWH.

1.9.1. Chiến lược từ trên xuống.

Với phương pháp tiếp cận từ trên xuống, ta có kiến trúc điển hình theo

Inmon Bill đề xuất. Theo inmon Bill, kiến trúc kho dữ liệu doanh nghiệp thông

tin được tập từ các hệ thống nguồn khác nhau được hợp nhất thành một kho lưu

trữ trung tâm gọi là một kho dữ liệu doanh nghiệp. Ứng dụng kho dữ liệu như

các công cụ báo cáo, dữ liệu được truy vấn từ kho dữ liệu cục bộ thay truy vấn

trực tiếp vào kho dữ liệu.

200

100 30

tim

cit

produ

L N

Ja

Fe

M

Ap

1

3 2

50

100

tim

produ

cit

1 2

Ja

Fe

M

Ap

LN

3

Page 28: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

19

Hinh 1. 19: Kiển trúc Inmon

1.9.2. Chiến lược từ dưới lên

Với chiến lược từ dưới lên tương ứng ta có kiến trúc điển hình do Ralph

Kimball đề xuất về kho dữ liệu, dữ liệu được mang từ khắp các doanh nghiệp

vào một địa điểm trung tâm được gọi là chiều kho dữ liệu. Giống như kiến trúc

của Inmon về kho dữ liệu, kho dữ liệu chiều cũng đã là trung tâm của doanh

nghiệp. Trong mô hình Kimball về kho dữ liệu kiến trúc, kho dữ liệu cục bộ là

một tập hợp con của bảng liên kết với nhau bằng cách sử dụng lược đồ sao và

bông tuyết. Không giống như kiến trúc doanh nghiệp của Inmon về kho dữ liệu,

ở mô hình Kimball hệ thống phân tích có thể truy cập dữ liệu trực tiếp từ kho dữ

liệu chiều.

Hinh 1. 20: Kiến trúc Kimball

Page 29: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

20

1.9.3. So sánh 02 phương pháp thiết kế.

Cả hai Kimball và Inmon cùng có một tính năng phổ biến là mỗi người có

một kho tích hợp dữ liệu nguyên tử. Trong kiến trúc Inmon của nó được gọi là

kho dữ liệu doanh nghiệp và trong kiến trúc của Kimball, nó được gọi là kho dữ

liệu chiều. Cả hai kiến trúc có một sự tập hợp dữ liệu doanh nghiệp hỗ trợ phân

tích thông tin qua một tổ chức. Cách tiếp cận này cho phép để giải quyết các yêu

cầu kinh doanh theo một chủ đề mà còn theo nhiều chủ đề khác.

Tuy nhiên có một số khác biệt trong kiến trúc kho dữ liệu của cả hai

chuyên gia:

Kimball sử dụng mô hình chiều như lược đồ sao hoặc bông tuyết để tổ

chức các dữ liệu trong kho dữ liệu chiều trong khi Inmon sử dụng mô

hình ER trong kho dữ liệu doanh nghiệp. Inmon chỉ sử dụng mô hình

chiều cho kho dữ liệu cục bộ chỉ trong khi Kimball sử dụng nó cho tất

cả các dữ liệu

Inmon sử dụng các kho dữ liệu cục bộ phân cách vật lý từ kho dữ liệu

doanh nghiệp và chúng được xây dựng để sử dụng cho các phòng ban.

Trong khi trong kiến trúc của Kimball, nó là không cần thiết để tách các

kho dữ liệu cục bộ từ kho dữ liệu chiều.

Trong kho dữ liệu chiều của Kimball, phân tích hệ thống có thể truy cập

dữ liệu trực tiếp. Trong khi trong kiến trúc của Inmon, hệ thống phân

tích chỉ có thể truy cập dữ liệu trong kho dữ liệu doanh nghiệp thông

qua các kho dữ liệu cục bộ.

So sánh Kimball và Inmon trong cách tiếp cận xây dựng kho dữ liệu

Bill Inmon đề nghị xây dựng kho dữ liệu theo phương pháp tiếp cận từ

trên xuống. Trong triết lý của Inmon, nó được bắt đầu với việc xây dựng

một kho dữ liệu lớn mà tập trung dữ liệu của doanh nghiệp, nơi tất cả dữ

liệu có sẵn từ các hệ thống giao dịch được hợp nhất thành một bộ sưu

tập chủ đề theo định hướng, tích hợp, thời gian biến thể và bền vững

nhằm hỗ trợ quá trình ra quyết định. Sau đó kho dữ liệu cục bộ được

xây dựng cho các nhu cầu phân tích của các phòng ban.

Ngược lại với cách tiếp cận Bill Inmon, Ralph Kimball đề nghị xây

dựng các kho dữ liệu phương pháp tiếp cận từ dưới lên. Trong triết lý

của Kimball, nó bắt đầu với kho dữ liệu cục bộ quan trọng phục vụ nhu

cầu phân tích của các phòng ban. Sau đó, nó được tích hợp các kho dữ

liệu cục bộ để nhất quán dữ liệu thông qua information bus. Kimball sử

dụng mô hình chiều để giải quyết các nhu cầu của các bộ phận với các

chủ đề khác nhau trong doanh nghiệp.

Page 30: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

21

Lựa chọn giữa cách tiếp cận Kimball hay Inmon để xây dựng kho dữ liệu?

Đặc điểm Kimball Inmon

Yêu cầu về hỗ trợ quyết

định kinh doanh Chiến thuật Chiến lược

Dữ liệu tích hợp yêu cầu Dữ liệu cục bộ Dữ liệu toàn doanh nghiệp

Cấu trúc dữ liệu KPI, hiệu quả kinh doanh Đáp ứng nhiều nhu cầu

Tính ổn định của nguồn

dữ liệu Hệ thống nguồn ổn định

Hệ thống nguồn có sự thay

đổi nhiều.

Kỹ năng Nhóm nhỏ Nhóm chuyên gia

Hạn chế về thời gian Ngắn, cấp bách Dài

Chi phí xây dựng Chi phí bắt đầu thấp Chi phí bắt đầu cao

Hinh 1. 21: So sánh 2 cách Kimball và Inmon.

Quá trình ETL trong kho dữ liệu Dữ liệu trong kho dữ liệu phải được thường xuyên cập nhập để có thể phục

vụ mục đích phân tích kinh doanh. Để làm điều này, dữ liệu từ một hoặc nhiều

hệ thống hoạt động cần được trích xuất và sao chép vào kho dữ liệu. Những

thách thức trong quá trình chuyển đổi dữ liệu là việc tích hợp, sắp xếp lại và

củng cố khối lượng lớn dữ liệu trên nhiều hệ thống, qua đó cung cấp một cơ sở

thông tin mới thống nhất cho kho dữ liệu để phục vụ việc phân tích.

Hinh 1. 22: Quá trình ETL.

Page 31: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

22

Quá trình nén dữ liệu từ hệ thống nguồn và đưa nó vào kho dữ liệu thường

được gọi là ETL (Extraction Transformation Loading), đó là viết tắt cho chiết

xuất, chuyển đổi và nạp. Lưu ý ETL nó liên quan tới một quá trình rộng lớn, chứ

không phải ba bước được xác định rõ. Các từ viết tắt ETL có lẽ quá đơn giản,

bởi vì nó bỏ qua các giai đoạn vận chuyển và ngụ ý rằng mỗi giai đoạn khác của

quá trình này là khác biệt. Tuy nhiên, toàn bộ quá trình được gọi là ETL.

Các phương pháp và nhiệm vụ của ETL đã được biết đến trong nhiều năm,

và không nhất thiết phải duy nhất cho các môi trường kho dữ liệu: một loạt các

ứng dụng độc quyền và hệ thống cơ sở dữ liệu là xương sống của bất kỳ doanh

nghiệp CNTT. Dữ liệu phải được chia sẻ giữa các ứng dụng hoặc hệ thống, cố

gắng để tích hợp chúng, tạo ít nhất hai ứng dụng cùng một bức tranh của thế

giới. Chia sẻ dữ liệu này đã được chủ yếu là giải quyết bằng cơ chế tương tự như

những gì chúng ta gọi là ETL.

1.9.4. Chiết xuất dữ liệu.

Trong thời gian chiết xuất, các dữ liệu cần được xác định và chiết xuất từ

nhiều nguồn khác nhau, bao gồm cả hệ thống cơ sở dữ liệu và các ứng dụng.

Thường thì việc có thể xác định các tập hợp cụ thể cần thiết là không đơn giản,

do đó nhiều dữ liệu hơn mức cần thiết phải được chiết xuất và việc xác định các

dữ liệu có liên quan hay không sẽ được thực hiện tại một thời điểm sau. Tuỳ

theo khả năng của hệ thống nguồn (ví dụ, hệ điều hành nguồn lực), một số biến

đổi có thể diễn ra trong quá trình khai thác này. Kích thước của dữ liệu được

chiết xuất khác nhau từ hàng trăm kilobyte lên đến GB, tùy thuộc vào hệ thống

nguồn và yêu cầu về dữ liệu phân tích.

1.9.5. Chuyển đổi dữ liệu.

Giai đoạn chuyển đổi dữ liệu áp dụng một loạt các quy tắc hay chức năng

để trích xuất dữ liệu từ các nguồn để lấy được các dữ liệu để tải vào các mục

tiêu cuối cùng. Một số dữ liệu không yêu cầu bất kỳ chuyển đổi ở tất cả và được

gọi là di chuyển trực tiếp hoặc thông qua các dữ liệu trong điều kiện kỹ thuật.

Một chức năng quan trọng của chuyển đổi dữ liệu là làm sạch các dữ liệu

nhằm mục đích để truyền dữ liệu chỉ thích hợp với các mục tiêu. Khi các hệ

thống khác nhau tương tác với nhau và dựa trên các dữ liệu hệ thống cửa hàng,

có là một thách thức trong giao tiếp / truyền thông với nhau. Một số bộ ký tự có

thể có sẵn trong một hệ thống có thể không có sẵn ở khác. Trường hợp này phải

được xử lý một cách chính xác và sau cùng dẫn đến một số vấn đề liên quan đến

chất lượng dữ liệu.

Page 32: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

23

1.9.6. Nạp dữ liệu.

Giai đoạn tải dữ liệu vào kho dữ liệu với nguồn dữ liệu có thể là một tập tin

hoặc dữ liệu giao dịch. Tùy thuộc vào yêu cầu của tổ chức, quá trình này rất

khác nhau. Một số kho dữ liệu có thể ghi đè lên các thông tin hiện có thông tin

tích lũy; cập nhật trích xuất dữ liệu thường xuyên được thực hiện trên một cơ sở

hàng ngày, hàng tuần, hoặc hàng tháng. Kho dữ liệu khác (hoặc thậm chí các

phần khác của kho dữ liệu tương tự) có thể thêm dữ liệu mới trong một hình

thức lịch sử trong khoảng thời gian, ví dụ thường xuyên, hàng giờ. Thời gian và

phạm vi để thay thế hoặc phụ thêm những sự lựa chọn thiết kế chiến lược phụ

thuộc vào thời gian có sẵn và các nhu cầu kinh doanh. Nhiều hệ thống phức tạp

có thể duy trì một lịch sử và dấu vết kiểm toán của tất cả các thay đổi đối với dữ

liệu được nạp vào kho dữ liệu.

Cấu trúc chiều: Tất cả các chiều cần được tổ chức vật lí sao cho có ít thành

phần nhất có thể. Người ta thường gắn thêm một thuộc tính không có ý nghĩa

thực tế để làm khoá đại diện bên cạnh khoá tự nhiên của nó.

Cấu trúc của một chiều thông thường như sau:

Hinh 1. 23: Cấu trúc chiều cơ bản.

Bình thường, với mỗi khoá tự nhiên sẽ ứng với một khoá đại diện (1-1),

nhưng khi cần theo dõi dữ liệu mang tính lịch sử, mỗi khoá tự nhiên có thể ứng

với nhiều khoá đại diện.

Các thuộc tính trong mỗi chiều thường không chứa số. Vì các thuộc tính

mang giá trị số hầu như chắc chắn là các fact. Trong khoảng 2% các trường hợp,

có thể rất khó đưa ra quyết định một trường chứa giá trị số thực ra có phải là fact

hay không (ví dụ giá sản phẩm). Trong trường hợp này, cần xác định:

Yêu cầu người dùng

Page 33: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

24

Thuộc tính này có phải dạng SCD Type 2 hay không (nếu là SCD

Type 2, đây là fact)

Nạp các chiều phẳng và các chiều bông tuyết:

Nếu như bước làm sạch dữ liệu, dữ liệu vẫn được giữ ở dạng chuẩn cao

(dạng bông tuyết) để bảo đảm tính nhất quán, thì ở bước nạp dữ liệu, dữ liệu sẽ

được giảm dạng chuẩn (dạng phẳng) để giúp tăng tối đa tốc độ truy vấn và kết

xuất dữ liệu. Vì thế, người ta thường cố gắng tránh tổ chức các chiều dạng bông

tuyết.

Dữ liệu có phân cấp theo nhiều cách khác nhau đối với cùng một chiều

(chẳng hạn chiều sản phẩm phân cấp theo vùng địa lí hay theo vùng tiếp thị). Để

làm phẳng, mọi thuộc tính liên quan đến các cách phân cấp này đều được lưu

trong cùng một chiều.

Chiều thời gian (bao gồm cả ngày-tháng):

Đây là một chiều rất quan trọng vì được dùng hầu như trong mọi bảng fact.

Bởi vì tính chất quan trọng của nó, chiều thời gian thường được tổ chức đặc biệt

và không có nguồn nhập. Chiều này thường được dùng chung (dạng tham chiếu)

cho nhiều chiều khác.

Cấu trúc của chiều thời gian thường tổ chức như sau:

Page 34: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

25

Hinh 1. 24: Chiều thời gian.

Có một số chú ý sau đối với chiều thời gian:

Chiều thời gian thường được phân vùng vật lý do tính chất lịch sử của

nó. Việc này làm tăng tốc độ cập nhật của dữ liệu.

Chiều ngày-tháng thường là một bảng vật lí cơ bản.Nếu cần chiều

tháng, sẽ sử dụng khoảng chặn ngày đầu tháng-cuối tháng để tổ chức.

Nếu cần tính chi tiết ở mức giờ, phút, giây, để bảo đảm không bị tràn,

người ta thường sử dụng thêm một thuộc tính nhãn thời gian.

Các chiều lớn: thường là các chiều được tạo thành từ nhiều nguồn, nhiều

hệ thống khác nhau, do nhu cầu cần phải dữ lại quá nhiều thông tin. Để giảm

kích thước các chiều lớn, người ta cần làm các bước sau:

Loại bỏ trùng lắp

Chuẩn hoá dữ liệu

Hợp nhất

Quá trình này được mô tả trong hình sau:

Page 35: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

26

Hinh 1. 25: Quá trình hợp nhất các chiều phụ thuộc.

Vấn đề lựa chọn phân tách/hợp nhất chiều:

Nếu hai chiều có tương quan với nhau, người ta thường cố gắng tổ chức

thành hai chiều độc lập và sử dụng bảng fact để mô tả mối tương quan đó, thay

vì hợp nhất thành một chiều.

Nếu việc roll-up một chiều cho ra chiều còn lại (chẳng hạn product và

brand), thì nhất thiết không được tách thành hai chiều.

Các trường hợp còn lại, cần cân nhắc yêu cầu của người dùng.

Chiều nhập vai (role-playing dimension): Là chiều được gắn nhiều lần vào cùng

một bảng fact nhưng với các vai trò khác nhau. Ví dụ điển hình là chiều thời

gian. Đối với chiều nhập vai, người ta thường tổ chức một chiều. Các chiều

tham chiếu từ bảng fact là các view được tạo ra từ chiều chung đó.

Nạp các chiều suy biến:

Chiều suy biến là chiều dẫn xuất từ bảng fact mà không chứa thuộc tính

nào (còn gọi là chiều rỗng). Chiều suy biến thường chỉ chứa một khoá tự nhiên

để lưu vết các giao tác.

Nạp các chiều thay đổi chậm (Slowly Changing Dimension – SCD): Là chiều có

thuộc tính thay đổi giá trị rất chậm theo thời gian vì một lí do nào đó. Có 3 loại:

Page 36: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

27

SCD loại 1 (ghi đè): đây là loại chiều không cần lưu lại lịch sử thay

đổi. Chỉ việc ghi đè lên bản ghi cũ.

SCD loại 2 (dữ liệu lịch sử hết hiệu lực): đây là loại chiều cần lưu lại

lịch sử. Thay vì ghi đè lên chiều cũ, người ta tạo ra một dòng mới với

cùng khoá tự nhiên nhưng khác khoá đại diện. Lúc đó, chỉ cần thay đổi

tham chiếu từ bảng fact.

SCD loại 3 (dữ liệu lịch sử còn hiệu lực): đây là trường hợp các giá trị

lịch sử vẫn còn hiệu lực sử dụng đồng thời với các giá trị mới. Thay vì

tạo thêm một dòng mới trong bảng chiều, người ta tạo thêm các cột

mới để lưu vết.

Thông thường, người ta tránh sử dụng loại 2 vì nó làm thay đổi cấu trúc của

hệ thống. Hơn nữa, việc xác định tính hiệu lực của dữ liệu thường được quy

định trong nghiệp vụ và được lưu như là một thuộc tính bình thường của chiều

đó.

Nạp chiều đến sau và sửa lỗi dữ liệu:

Dữ liệu đến sau là những dữ liệu thay đổi sau khi đã xây dựng DW. Dữ liệu

này phân ra làm 2 loại:

Dữ liệu cần sửa đổi: do phát hiện sai sót (về thời gian) trong quá trình

xây dựng DW.

Dữ liệu cập nhật theo thời gian thực: do tính chất thời gian thực, dữ

liệu đang được truy vấn là dữ liệu cũ, và dữ liệu được cập nhật là dữ

liệu mới nhưng chưa được nạp vào hệ thống.

Các chiều đến sau cần được nạp vào DW bằng một hệ thống ETL độc lập và

cần được kiểm tra kĩ trên hệ thống thử nghiệm vì việc này ảnh hưởng sâu sắc

đến hệ thống.

Dữ liệu cần sửa đổi do phát hiện lỗi sai (về thời gian) được sửa theo 3 bước

sau:

Thêm một bản ghi mới với các thông tin cập nhật cho thuộc tính tương

ứng, ứng với mốc thời gian cần thay đổi.

Xác định từ mốc thời gian đó, tất cả các thay đổi xảy ra về sau nó và

ghi đè bằng các giá trị mới của thuộc tính

Cập nhật lại khoá ngoại cho bảng fact tất cả các bản ghi tham chiếu

đến các bản ghi đã thay đổi trong chiều đó.

Nạp chiều đa giá trị và bảng cầu nối:

Các chiều đa giá trị là các chiều có quan hệ n-n đến bảng fact. Trong

trường hợp này, cần phải tạo bảng cầu nối và bảng phân nhóm (để tránh quan hệ

n-n đến bảng fact).

Page 37: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

28

1.10. Kho dữ liệu cục bộ.

Một kho dữ liệu cục bộ là một tập hợp các dữ liệu cùng chủ để được tổ

chức nhằm hỗ trợ việc ra quyết định dựa trên nhu cầu cụ thể của một nhóm

người dùng doanh nghiệp hoặc bộ phận. Có hai loại kho dữ liệu cục bộ: kho dữ

liệu cục bộ độc lập và kho dữ liệu cục bộ phụ thuộc.

Kho dữ liệu cục bộ độc lập: dữ liệu tập trung riêng theo một chủ đề và nó

không được thiết kế đáp ứng cho cả doanh nghiệp. Ví dụ: bộ phận sản xuất có

kho dữ liệu cục bộ của họ, bộ phận nhân lực, bộ phận tài chính cũng như

vậy.Kho dữ liệu cục bộ nhận dữ liệu từ nhiều hệ thống giao dịch theo một chủ

đề hoặc theo yêu cầu kinh doanh cụ thể của một bộ phận. Kho dữ liệu cục bộ

độc lập có thể được theo thiết kế chiều hoặc mô hình thực thể quan hệ. Hệ thống

phân tích và quản trị doanh nghiệp thông minh truy vấn dữ liệu công cụ trực tiếp

từ kho dữ liệu cục bộ. Những hình ảnh dưới đây là một Stand-alone kho dữ liệu

cục bộ điển hình.

Hinh 1. 26: Kiến trúc kho dữ liệu cục bộ độc lập.

Kho dữ liệu cục bộ phụ thuộc (Dependent kho dữ liệu cục bộ): Theo Inmon,

một kho dữ liệu cục bộ phụ thuộc là một nơi mà dữ liệu của nó đến từ một kho

dữ liệu. Dữ liệu trong một nhà kho dữ liệu được tổng hợp, cơ cấu lại, và tóm tắt

khi nó đi vào kho dữ liệu cục bộ phụ thuộc. Các kiến trúc của một siêu thị dữ

liệu phụ thuộc như sau:

Page 38: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

29

Hinh 1. 27: Kiến trúc Kho dữ liệu cục bộ phụ thuộc.

Lợi ích của việc xây dựng một siêu thị dữ liệu phụ thuộc:

Hiệu suất: khi hiệu suất thực hiện của kho dữ liệu trở thành một vấn đề thì

việc xây dựng một hoặc hai kho dữ liệu cục bộ có thể giải quyết vấn đề. Bởi

vì xử lý dữ liệu được thực hiện bên ngoài các kho dữ liệu.

An ninh: bằng cách đặt các dữ liệu bên ngoài kho dữ liệu trong các kho dữ

liệu cục bộ, từng bộ phận sở hữu dữ liệu của họ và hoàn toàn kiểm soát dữ

liệu của họ.

KPI theo dõi kho dữ liệu cục bộ là nơi lý tưởng để xây dựng và theo dõi KPIs

qua thời gian dài của thời gian.

Page 39: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

30

CHƯƠNG 2: XÂY DƯNG KHO DỮ LIỆU SẢN PHẨM

2.1. Giới thiệu.

2.1.1. Ngân hàng TMCP Đại Dương.

Thành lập năm 1993 và chuyển đổi mô hình hoạt động ngân hàng TMCP

từ năm 2007, Ngân hàng TMCP Đại Dương (OceanBank) tự hào là Ngân hàng

TMCP đa năng, hiện đại, có sự bứt phá về doanh thu, tổng tài sản và vốn điều lệ

hàng năm. Hiện ngân hàng được đánh giá là một trong những ngân hàng có cấu

trúc tài chính lành mạnh, an toàn nhất trong hệ thống ngân hàng.

Hình 2. 1: Giới thiệu Ocean Bank.

OceanBank cung cấp cho khách hàng các sản phẩm, dịch vụ tài chính

ngân hàng đa năng, hiện đại và hiệu quả, phù hợp với nhu cầu và đặc điểm cư

dân, kinh tế vùng miền. Không chỉ cung cấp các dịch vụ ngân hàng truyền

thống, OceanBank đẩy mạnh phát triển các dịch vụ ngân hàng điện tử, tạo ra các

sản phẩm có hàm lượng kỹ thuật công nghệ cao, bảo mật cho các nhóm khách

hàng doanh nghiệp và cá nhân.

Đây là những bước đi vững chắc của OceanBank trong việc phấn đấu mục

tiêu nằm trong Top 5 Ngân hàng hàng đầu Việt Nam có số lượng khách hàng sử

dụng dịch vụ ngân hàng điện tử và doanh số giao dịch qua kênh ngân hàng điện

tử chiếm tỷ trọng cao nhất trong tương lai, áp dụng những giải pháp công nghệ

hàng đầu trong lĩnh vực tài chính, ngân hàng.

Xác định sự phát triển phải gắn liền với lợi ích chung của xã hội,

OceanBank luôn tích cực tham gia các hoạt động xã hội từ thiện: triển khai

chương trình từ thiện "Nguồn sáng", chữa và phẫu thuật các bệnh về mắt có khả

năng gây mù cho người nghèo trên toàn quốc, tài trợ xây dựng trường, trạm y tế,

Page 40: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

31

tài trợ từ thiện cho cháu Trần Danh Tùng phẫu thuật do mắc hội chứng Apert,

tặng quà cho trẻ em nghèo…

Với các giá trị tạo ra cho khách hàng, cổ đông, xã hội..., OceanBank đã

giành được nhiều danh hiệu, giải thưởng, bằng khen của các tổ chức trong nước

và quốc tế cho tập thể và cá nhân xuất sắc của ngân hàng, như Ngân hàng bán lẻ

tốt nhất Việt Nam, Ngân hàng bán lẻ có tốc độ tăng trưởng nhanh nhất Việt Nam

do tạp chí Global Banking & Finance Review trao tặng; Giải thưởng STP

(Straight – Through – Processing) dành cho ngân hàng thanh toán đạt chuẩn cao

do Wells Fargo trao tặng; Top 100 Ngân hàng có Bảng cân đối kế toán mạnh

nhất Khu vực Châu Á Thái Bình Dương; Top 500 Ngân hàng Lớn nhất Khu vực

Châu Á Thái Bình Dương; Top 500 doanh nghiệp lớn nhất Việt Nam

(VNR500); Top 200 doanh nghiệp đóng thuế thu nhập doanh nghiệp lớn nhất…

Thành công của OceanBank được kết tinh từ nhiều yếu tố. Đó là sự nhất quán từ

việc xây dựng đường lối, chính sách đến việc thực thi kế hoạch, là sự quyết tâm

theo đuổi chiến lược kinh doanh lấy mục tiêu phát triển bền vững làm trọng tâm,

là sự chủ động trong công tác quản trị, là sự đoàn kết của tập thể cán bộ nhân

viên. Và chắc chắn, vị thế của OceanBank có được ngày hôm nay không thể

được xây đắp nếu không có sự đồng hành của cổ đông, nhà đầu tư và khách

hàng.

Kiên định thực hiện mục tiêu, OceanBank sẽ tiếp tục nỗ lực phấn đấu trở

thành Ngân hàng sáng tạo nhất, quản lý tốt nhất và được khách hàng đánh giá là

ngân hàng "hướng về khách hàng" tốt nhất trong toàn ngành bằng việc nâng cao

các sản phẩm dịch vụ, tăng cường hợp tác với các tập đoàn lớn trong và ngoài

nước, tích cực đồng hành cùng các doanh nghiệp, chú trọng công tác quản lý

đào tạo và phát triển nhân sự, không ngừng ứng dụng và phát triển công nghệ

thông tin để đảm bảo hoạt động ổn định và an toàn của hệ thống

2.1.2. Hệ thống CORE BANKING.

Giải pháp ngân hàng lõi mà Ngân hàng TMCP Đại Dương đang vận hành

sử dụng giải pháp của nhà cung cấp phần mềm Ấn Độ, Oracle Flexcube Core

Banking version 7.3. Cùng với các hệ thống máy chủ chạy trên nền tảng IBM

AIX, được tích hợp với các hệ thống sản phẩm Oracle.

Oracle FLEXCUBE Core Banking cho phép các tổ chức ngân hàng và dịch

vụ tài chính (BFS) để xác định lại các kinh nghiệm ngân hàng bằng cách cho

phép họ cung cấp dịch vụ cá nhân và rất phù hợp với khách hàng trên tất cả các

kênh. Một giải pháp ngăn chặn ngân hàng lõi, FLEXCUBE Core Banking cho

phép các tổ chức BFS để đơn giản hóa và tinh giản quy trình, theo dõi và quản

lý một cách nhanh chóng các giao dịch phức tạp, xác định tắc nghẽn và cải thiện

Page 41: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

32

dịch vụ khách hàng. Nhà nước của các giải pháp nghệ thuật cung cấp một cơ sở

hạ tầng phát triển đồng bộ và cởi mở cho phép triển khai linh hoạt hơn và nâng

cấp tùy chọn. Kiến trúc mở, tính linh hoạt và khả năng tích hợp liền mạch với

các hệ thống khác, bao gồm cả phần mềm ngân hàng trong nhà, làm cho nó lý

tưởng cho các tổ chức BFS tìm cách để duy trì một lợi thế cạnh tranh trong

ngành công nghiệp BFS nhanh chóng phát triển.

Kiến trúc ứng dụng Oracle FLEXCUBE Core Banking hỗ trợ nhanh nhẹn

và quy trình kinh doanh quản lý sử dụng Business Process Execution Language

(BPEL), kiến trúc hướng dịch vụ (SOA), và một mô hình dịch vụ Web dựa trên.

Các giải pháp cho phép các tổ chức BFS để đáp ứng yêu cầu quản lý thông qua

một hệ thống quản lý dữ liệu bảo mật cao và cũng cho phép tích hợp các ứng

dụng của bên thứ ba để tạo thuận lợi cho quá trình kinh doanh đơn giản và phức

tạp.

Hình 2. 2: Mô tả core banking.

Hệ thống core banking là một hệ thống các phân hệ nghiệp vụ cơ bản của

ngân hàng như tiền gửi, tiền vay, khách hàng … Trên hình là mô tả về hệ thống

core với các màng nghiệp vụ theo mô hinh kinh doanh

Ngân hàng bán lẻ (Retail banking): là các dịch vụ tài chính cung cấp cho

các đôi tượng khách hàng nhỏ như cá nhân, hộ gia đình… có đặc điểm số

lượng nhiều nhưng giá trị không lớn.

Ngân hàng bán buôn (Corporate): là dịch vụ tài chính cung cấp cho khách

hàng lớn.

Quản lý tài sản (Wealth Management), dịch vụ bảo hiểm (Insurance), dịch

vụ về thị trường tiền tệ (Capital Makets).

Ngoài ra về mặt tổ chức dữ liệu, các core banking thường được quản lý

theo các module như:

Page 42: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

33

Time deposit current account (TDCASA): là nghiệp vụ thiết lập cho hoạt

động tiền gửi tiết kiệm và tài khoản thanh toán. Thông thường là các

nghiệp vụ huy động tiền gửi trên thị trường 1.

Money Market (MM): là nghiệp vụ thiết lập tiền gửi hoặc cho vay trên thị

trường 2.

Retial Lending (CL): là nghiệp vụ cho vay của ngân hàng.

Sổ cái GL: sổ cái các tài khoản kế toán.

Một số phân hệ khác: SE (trái phiếu, tín phiếu, cổ phiếu), FX (kinh doanh

tiền tệ)…

2.1.3. Thực trạng hệ thống.

Qua tìm hiểu về hiện trạng hệ thống phần mềm nghiệp vụ và nhu cầu sử

dụng báo cáo phân tích để hỗ trợ việc ra quyết định kinh doanh tại Ngân hàng

TMCP Ocean bank. Tôi nhận thấy:

Hệ thống giao dịch nghiệp vụ vào thời điểm đầu và cuối tháng bị quá tải

làm ảnh hưởng đến chất lượng phục vụ khách hàng của đơn vị. Nguyên

nhân là do số lượng báo cáo quản trị tăng đột biến.

Hệ thống báo cáo chạy trên core banking có định dạng excel, pdf và thời

gian lấy dữ liệu dưới 03 tháng là không phù hợp với nhu cầu về phân tích

báo cáo.

Hình 2. 3: Sơ đồ hệ thống dữ liệu tại Ocean Bank.

Nhu cầu thực tế cần một giải pháp nhằm tách biệt hệ thống báo cáo với hệ

thống giao dịch và cung cấp một công cụ mạnh hiệu quả thực hiện việc phân

tích dữ liệu dễ dàng với khoảng thời gian tính theo năm. Việc xây dựng một kho

dữ liệu trung tâm hoàn chỉnh đòi hỏi một đội ngũ chuyên gia lớn. Qua tìm hiểu

và đánh giá các giải pháp, tôi đặt ra bài toán “là “Nghiên cứu và xây dựng kho

dữ liệu sản phẩm tại Ngân hàng TMCP Đại Dương dựa trên nền tảng hệ

quản trị CSDL Oracle 10g”.

Page 43: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

34

2.2. Xây dựng kho dữ liệu

2.2.1. Đặc tả các thông tin cơ bản của dự án:

Bước đầu tiên trong việc phát triển các kho dữ liệu là chọn dữ liệu phù hợp

từ nguồn dữ liệu. Có hai lý do chính cho việc thực hiện này: Việc đẩy toàn bộ

dữ liệu vào kho dữ liệu là không khả thi (chi phí, khẳ năng so với nhu cầu sử

dụng). Do đó, ta phải dựa các yêu cầu về dữ liệu từ hoạt động phân tích. Tất cả

các quyết định liên quan đến mô hình kho dữ liệu xem xét các mục đích và mục

tiêu về dữ liệu. Thứ hai, bước này đã kiềm chế phạm vi của mô hình kho dữ liệu

để chỉ rằng cần thiết trong dự án. Kể từ khi bước này được thiết kế để phục vụ

như một cái phễu để loại bỏ xem xét các yếu tố dữ liệu không cần thiết trong

kho dữ liệu.

Ngoài ra ta phải xác định được các thông tin yêu cầu về dữ liệu trong kho

dữ liệu để làm cơ sở cho việc quyết định thông tin nào sẽ được đẩy vào kho dữ

liệu và cách thức thiết lập kho để đáp ứng yêu cầu.

Việc thiết kế kho dữ liệu phải căn cứ trên yêu cầu về “mong muốn dữ liệu”

của người dùng cụ thể. Nhưng khi đặt câu hỏi “Bạn muốn dữ liệu gì trong kho

dữ liệu” thì hầu hết doanh nghiệp đều trả lời “tất cả”. Chính vì vậy, thay vì hỏi

các câu hỏi thì chúng ta cần tập trung câu hỏi về việc việc “dữ liệu sẽ được sử

dụng như thế nào?”, “cần dữ liệu như thế nào để trả lời cho câu hỏi kinh doanh”

Với Ocean bank, Việc xây dựng kho dữ liệu cần đáp ứng các yêu cầu sau:

Tạo sự tách biệt giữa hệ thống báo cáo phân tích và hệ thống giao dịch

để đảm bảo sự ổn định cho hệ thống giao dịch phục vụ khách hàng.

Kho dữ liệu về hoạt động nghiệp vụ cho vay và huy động: dữ liệu được

tổ chức phải giúp thực hiện các lệnh truy vấn phức tạp với số lượng dữ

liệu xem xét lớn (mức độ hàng năm), dễ dàng thao tác cho người dùng

cuối.

Tính nhất quán về dữ liệu tại mọi thời điểm: dữ liệu được tổ chức đảm

bảo các đối tượng dữ liệu phải nhất quán. Qua đó đảm bảo sự ổn định,

chính xác của số liệu cho việc phân tích.

Thông có kho dữ liệu phải trả lời được câu hỏi như sự biến động của 2

hoạt động nghiệp vụ theo thời gian, theo thông tin về kỳ hạn, lãi suất,

loại khách hàng, vị trí địa lý… qua đó giúp rút ra các dự báo cho tương

lai để hỗ trợ Ban Lãnh đạo ra quyết định.

Phạm vi dự án chỉ tập trung vào 2 nghiệp vụ huy động, cho vay của ngân hàng:

Nghiệp vụ huy động thực hiện trên 03 hệ thống. Core Banking do giao

dịch viên thực hiện và Mplus (smart phone) & Internet Banking do

Page 44: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

35

khách hàng thực hiện. Nhưng toàn bộ dữ liệu cuối cùng vẫn được hạch

toán vào core.

Nghiệp vụ cho vay thực hiện trên hệ thống Core Banking do giao dịch

viên thực hiện.

Dữ liệu đẩy vào kho dữ liệu chỉ tập trung trên hệ thống Core Banking về

thông tin tài khoản cho vay & huy động và các thông tin liên quan như: lãi suất,

số dư, sản phẩm, nhóm nợ, khách hàng, ngày tạo tài khoản, ngày hết hạn…

Ngoài ra bổ sung thêm các thông tin tham khảo.

2.2.2. Phân tích nghiệp vụ.

Với yêu cầu của bài toán. Nguồn dữ liệu được triết xuất từ hệ thống core

banking gồm 02 hoạt động cơ bản ngân hàng cho vay và huy động.

Mobi B

ankin

gC

ore

Banki

ng

Inte

rnet

Ban

king

Hình 2. 4: Luồng nghiệp vụ huy động.

Nghiệp vụ huy động là việc tạo tài khoản tiền gửi trên hệ thống được thực

hiện từ 03 hệ thống và căn cứ trên loại tài khoản khách hàng chọn để quyết định

các thông tin cơ bản như lãi suất, thời hạn gửi, thời điểm nhận lãi…

Hình 2. 5: Luồng nghiệp vụ cho vay.

Nghiệp vụ cho vay trên hệ thống được tạo từ 02 hệ thống gồm: hệ thống

thẻ visa (gồm thanh toán giao dịch mua hàng, đặt phòng… thực hiện theo

phương thức quẹt thẻ máy pos, giao dịch điện tử..) và theo khoản vay được thiết

lập trên core banking.

Về mặt tổ chức dữ liệu, core banking flexcube tại Ocean Bank được thiết

lập với cơ sở dữ liệu quan hệ Oracle 10g và theo các module gồm:

Page 45: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

36

Time deposit current account (TDCASA): là nghiệp vụ thiết lập cho hoạt

động tiền gửi tiết kiệm và tài khoản thanh toán.

Money Market (MM): là nghiệp vụ thiết lập tiền gửi hoặc cho vay trên thị

trường 2.

Retial Lending (CL): là nghiệp vụ cho vay của ngân hàng.

Sổ cái GL: sổ cái các tài khoản kế toán.

Một số phân hệ khác: SE (trái phiếu, tín phiếu, cổ phiếu), FX (kinh doanh

tiền tệ)…

Trong phạm vi đề tài thì cần xem xét các đối tượng sau:

CIF (Khách hàng): là cá nhân hoặc tổ chức sử dụng các sản phẩm dịch vụ

của ngân hàng như gửi tiền, vay tiền… của ngân hàng.

BRANCH (Phòng giao dịch): là nơi khách hàng thực hiện dịch vụ như mở

tài khoản tích kết, nộp tiền…

MAIN_BRANCH (Chi nhánh): thông tin để xác định phòng giao dịch

thuộc chi nhánh nào.

BRN_DISTRICT, BRN_CITY, BRN_TERRITORY, BRN_REGION: để

xác định phòng giao dịch về mặt đía lý thuộc vùng miên nào.

CIF_CLASS (Phân loại khách hàng): thông tin về phân loại khách hàng

theo hệ thống như: khách hàng cá nhân, khách doanh nghiệp…

ACC_CLASS (Phân loại tài khoản tiền gửi) là các gói sản phầm như cho

huy động với đặc thù riêng biệt như kỳ hạn, lãi suât…

TD_ACCOUNT: thông tin về các tài khoản tiền gửi (tiết kiệm, thanh

toán) như số dư, mã tài khoản, chủ tài khoản, lãi suất, kỳ hạn…

RATE: là lãi suất ngân hàng trả cho chủ tài khoản tiền gửi.

LSNB: là lãi suất mua bán vốn giử phòng giao dịch và hội sở. Lợi nhuận

tiền gửi, cho vay của phòng giao dịch chính là chênh lệch giữa lsnb và

rate.

PRODUCT: quy định loại sản phẩm với các đặc thù riêng về lãi suất, kỳ

hạn, loại ưu đãi..

ACC_LOAN: thông tin về tài khoản vay của khách hàng như số tài

khoản, người vay, số tiền vay, định kỳ giải ngân…

CONTRACT: là các thông tin về hợp đồng tiền gửi

GL_CODE: danh sách các tài khoản kế toán thiết lập trong core.

Page 46: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

37

Hình 2. 6: Mô hình thực thể của nghiệp vụ huy động & cho vay trên core.

Nghiệp vụ huy động và cho vay tại ngân hàng ocean bank thiết lập trên

core tại 2 phân hệ: TDCASA từ thị trường 1 (thị trường giữa ngân hàng với

người dân), MM từ thị trường 2 ( thị trường liên ngân hàng giữa ngân hàng và tổ

chức tín dụng khác).

Danh sách các bảng dữ liệu:

CUST_ACCOUNTS: Danh sách các tài khoản tiết kiệm, thanh toán và

các thuộc tính như số tài khoản, ngày mở tài khoản, loại sản phẩm, bộ

cung cụ tính lãi, chi nhánh mở tài khoản, tài khoản hạch toán vào GL

nào…

ACCOUNT_CLASS: Định nghĩa một sản phẩm tiền gửi như tiền gửi linh

hoạt (có thể rút trong kỳ), tiền gửi tích lũy (định kỳ hàng tháng gửi 1 số

tiền vào)… mỗi loại sản phẩm có lãi suất, kỳ hạn… khác nhau.

PR_INT_ACLASS: Bộ tính lãi áp dụng cho một sản phẩm căn cứ theo

ngày ban hành.

CCY: Danh sách mã tiền tệ trong hệ thống (hệ thống luôn có bảng tham

chiếu tỉ giá phục vụ việc tính toán quy đổi theo đơn vị tiền tệ yêu cầu)

ICTM_ACC_UDEVALS: Bảng lưu thông tin cụ thể một tài khoản trong 1

kỳ hạn sẽ ăn theo biểu lãi suất nào.

ICTM_ACC: Lưu thông tin về các kỳ hạn của tài khoản.

BRANCH: Danh sách phòng giao dịch.

TDCASA_BALANCE: Thông tin lịch sử về tài khoản được lưu định kỳ

vào cuối ngày như số dư, lãi suất…

CUSTOMER: Danh sách khách hàng với định danh là CIF (mỗi khách

hàng chỉ có duy nhất 1 CIF)

CONTRACT_MASTER: Danh sách các hợp đồng tiền gửi của tổ chức tín

dụng, tổ chức kinh tế cùng các thông tin về số hợp đồng, ngày gửi, ngày

đáo hạn…

Page 47: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

38

PRODUCT_ACCROLE: Bộ lãi suất áp dụng cho với hợp đồng tiền gửi

bên MM.

GLTM_GLMASTER: Danh sách các tài khoản GL.

ACCOUNT_APPS_MASTER: Danh sách các tài khoản vay cùng với các

thông tin như CIF, loại sản phẩm, bộ tính lãi, ngày vay, ngày đáo hạn…

TCKT_BALANCE: Lưu thông tin lịch sửa về tài khoản vay hàng ngày

như số dư, lãi suất, hạch toán vào GL…

CUST_ACCOUNTS

PK,FK4 BRNPK,FK4 ACCPK,FK3 CUSTOMER_NOPK,FK2 ACCOUNT_CLASS

BRANCH_CODECUST_AC_NOCUST_NOCCYAC_OPEN_DATEDR_GLCR_GLPRODUCT_CODE

CCY

PK,FK1 BRNPK,FK1 ACCPK,FK1 CUSTOMER_NOPK,FK1 ACCOUNT_CLASS

CCY_CODECCY_NAMECOUNTRY

ACCOUNT_CLASS

PK ACCOUNT_CLASS

DESCRIPTIONDEFAULT_TENOR_DAYSDEFAULT_TENOR_MONTHSDEFAULT_TENOR_YEARSCLOSE_ON_MATURITY

PR_INT_ACLASS

PK,FK2 BRNPK,FK2 ACCPK,FK2 CUSTOMER_NOPK,FK1,FK2 ACCOUNT_CLASS

PRODUCT_CODEACLASSCCYUDE_EFF_DTUDE_IDUDE_VALUERATE_CODE

ICTM_ACC_UDEVALS

PK,FK1 CUSTOMER_NOPK,FK1 ACCOUNT_CLASSPK,FK1 BRNPK,FK1 ACC

PRODUDE_EFF_DTUDE_IDUDE_VALUERATE_CODE

TDCASA_BALANCE

PK,FK3 BRNPK,FK3 ACCPK,FK2,FK3 CUSTOMER_NOPK,FK3 ACCOUNT_CLASS

DAY_TO_RUNACCTNOCURRENCYAC_BRANCHRATELSNBCUR_BALANCE

CUSTOMER

PK CUSTOMER_NO

CUSTOMER_TYPECUSTOMER_NAME1ADDRESSNATIONALITYLOCAL_BRANCHUNIQUE_ID_VALUE

BRANCH

PK,FK1,FK2 BRNPK,FK1,FK2 ACCPK,FK1,FK2 CUSTOMER_NOPK,FK1,FK2 ACCOUNT_CLASS

BRN_CODEBRN_NAMEBRN_ADDRPARENT_BRANCHBRN_STRESSBRN_CITYBRN_CONTRY

CONTRACT_MASTER

PK,FK2 PRODUCT_CODEPK,FK1 BRNPK,FK1 ACCPK,FK1 CUSTOMER_NOPK,FK1 ACCOUNT_CLASS

BRANCHCONTRACT_REF_NOPRODUCTCOUNTERPARTYCURRENCYBOOKING_DATEVALUE_DATEMATURITY_DATEVERSION_NO

ICTM_ACC

PK BRNPK ACC

INT_START_DATEMATURITY_DATENEXT_MATURITY_DATE

GLTM_GLMASTER

PK,FK2 PRODUCT_CODEPK,FK1 BRNPK,FK1 ACCPK,FK1 CUSTOMER_NOPK,FK1 ACCOUNT_CLASS

GL_CODEGL_DESCPARENT_GL

PRODUCT_ACCROLE

PK PRODUCT_CODE

ACCOUNTING_ROLEROLE_TYPESTATUSACCOUNT_HEAD

ACTB_HISTORY1

PK ACR_SEQUEST

BRANCHTRN_REF_NODR_CR_INDACC_NOCCYLCY_AMOUNTFCY_AMOUNTTRN_DTVALUE_DT

FK1 PRODUCT_CODEFK1,FK2 BRNFK1,FK2 ACCFK1,FK2 CUSTOMER_NOFK1,FK2 ACCOUNT_CLASS

Hình 2. 7: Mô hình CSDL quan hệ của nghiệp vụ huy động trên core.

Page 48: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

39

Hình 2.6 là mô hình dữ liệu nghiệp vụ được mô tả các thực thể được lựa

chọn để đẩy dữ liệu vào kho dữ liệu. Để dễ quan sát mối quan hệ các thực thể,

NLLV đã chủ động không vẽ các quan hệ không cần thiết.

2.2.3. Xây dựng kho dữ liệu trung tâm.

2.2.3.1. Phương pháp thiết kế.

Với kiến trúc kho dữ liệu đề xuất và căn cứ khối lượng dữ liệu, kho dữ liệu

sẽ được xây dựng theo phương pháp tổng hợp của 2 cách tiếp cận và được phát

triển theo nhu cầu cụ thể của từng giao đoạn. Cụ thể như sau:

Xây dựng kho dữ liệu quan hệ ban đầu gồm các dữ liệu cần thiết cho

kho dữ liệu cục bộ đầu tiên.

Xây dựng kho dữ liệu cục bộ đầu tiên.

Khi nhu cầu kinh doanh phát sinh. Tiến hành bổ sung dữ liệu cần thiết

cho kho dữ liệu cục bộ mới vào kho dữ liệu.

Xây dựng kho dữ liệu cục bộ tiếp theo.

Quá trình trên thực hiện lặp để đảm bảo kho dữ liệu phát triển và đáp ứng

nhu cầu kinh doanh ở từng giai đoạn. Ngoài ra, theo tài liệu “Mastering Data

Warehouse Design” Wiley Publishing phát hành thì để đảm tính hiệu quả kho

dữ liệu nên được thiết lập qua 08 bước sau:

Lựa chọn dữ liệu phù hợp : yêu cầu, phạm vi, nguồn dữ liệu…

Thêm thông tin thời gian vào dữ liệu: do OTLP là hệ thống phản ánh dữ

liệu hiện trạng còn kho dữ liệu là dữ liệu phản ánh quá trình thời gian.

Thêm thông tin tính toán dữ liệu: các thông tin hỗ trợ việc xử lý thông

tin như ngày làm việc hoặc ngày nghỉ, ngày thuộc tuần nào? Tháng

nào.. mục đích phục vụ việc cải thiện hiệu suất.

Quyết định mục độ chi tiết của dữ liệu sẽ đẩy vào kho dữ liệu.

Thực hiện việc tính toán các dữ liệu tổng hợp và lưu trữ sẵn sàng để

phục vụ truy vấn dữ liệu.

Gộp các thực thể có chung mục đích để tối ưu hệ thống.

Tạo mảng dữ liệu theo nhu cầu kinh doanh về phân tích dữ liệu.

Phân chia dữ liệu.

2.2.3.2. Kiến trúc kho dữ liệu.

Để đáp ứng các yêu cầu đặt ra về việc sử dụng và vận hành kho dữ liệu.

NLV đề xuất sử dụng kiến trúc kho dữ liệu với vùng đệm làm sạch dữ liệu và

kho dữ liệu cục bộ.

Page 49: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

40

Hình 2. 8: Kiến trúc kho dữ liệu Ocean Bank.

Kiến trúc kho dữ liệu sẽ gồm:

Nguồn dữ liệu: chiết suất lấy từ hệ thống giao dịch core banking và file dữ

liệu (do Ban kế toán xây dựng).

Vùng đệm: là vùng hệ thống bảng tạm để thực hiện việc làm sạch, tích hợp

và thêm giá trị thời gian vào dữ liệu. Và thực hiện việc sao lưu dữ liệu.

Kho dữ liệu: Sau khi dữ liệu đã được làm sạch sẽ được nạp vào kho dữ liệu.

Sau đó thêm các dữ liệu phục vụ cho tính toán và dữ liệu tổng hợp theo yêu

cầu phân tích. Sử dụng cơ sở dữ liệu quan hệ.

Kho dữ liệu cục bộ: Là cơ sở dữ liệu tổ chức theo mô hình chiều với dữ liệu

được nạp từ kho dữ liệu trung tâm.

Người dùng: là người sử dụng đầu cuối sử dụng dữ liệu.

Lí do chọn kiến trúc trên cho kho dữ liệu:

Vùng đệm: Giúp đơn giả hóa và lưu nhất ký xử lý của quá trình ETL dữ

liệu vào kho. Do vùng đệm đã thực hiện các công việc phức tạp trong việc

tính toán và đảm bảo tính nhất quán của dữ liệu.

Kho dữ liệu cục bộ: được tổ chức theo mô hình chiều giúp đơn giản và dễ

dàng cho người dùng sử dụng. Ẩn đi sự phức tạp và giảm sự ảnh hưởng đến

việc sử dụng của người dùng khi kho dữ liệu thay đổi.

Để đảm bảo tính chính xác và hiệu năng hệ thống. Kho dữ liệu sẽ định kỳ

làm mới 01 lần/ ngày. Hệ thống sẽ tiến hành lấy dữ liệu từ nguồn core đẩy vào

kho dữ liệu sau quá trình đóng ngày cũ và mở ngày mới. Mô hình chiết xuất dữ

liệu như hình dưới đây.

Page 50: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

41

Hình 2. 9: Mô hình giải pháp luồng dữ liệu.

2.2.3.3. Nguồn dữ liệu cho kho dữ liệu cho việc chiết xuất.

Thông qua việc làm rõ yêu cầu của kho dữ liệu ở mục 2.2.1 và mục 2.2.3 ta

đã xác định được các thực thể dữ liệu cần được đẩy vào kho dữ liệu từ dữ liệu

nguồn và chi tiết nguồn dữ liệu như bảng dưới.

Thực thể Nguồn Bảng dữ liệu chiết xuất Khóa

CIF Core Banking sttm_customer Customer_no

BRANCH Core Banking Ot_branch Branch_code

MAIN_BRANCH Core Banking it_main_sub Sub_branch

BRN_DISTRICT,

BRN_CITY,

BRN_TERRITORY,

BRN_REGION

Core Banking Ot_branch Branch_code

CIF_CLASS Core Banking OJB_Customer_Class Customer_no

ACC_CLASS Core Banking Sttm_account_class Account_class

TD_ACCOUNT Core Banking Sttm_customer_account Account_no

RATE Core Banking ICTMS_PR_INT_UDEVALS Product_code,

aclass, ccy, eff_dt,

rate_code, branch.

LSNB Core Banking ICTMS_LSNB Product_code,

aclass, ccy_code,

eff_dt, rate_code,

branch.

PRODUCT Core Banking Sttm_product_code Product_code

ACC_LOAN Core Banking cltb_account_apps_master Account_number

CONTRACT Core Banking Sttm_contract_master Contract_ref_no

GL_CODE Core Banking GLTM_GLMASTER gl_code

Hình 2. 10: Bảng danh sách thực thể dữ liệu cho kho và nguồn.

Page 51: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

42

Dữ liệu tham khảo cần bổ sung vào kho dữ liệu để nhằm mục đích tra cứu

và xác thực tính đứng đắn của dữ liệu như bộ tính lãi product code và danh sách

phân loại tài khoản. Vì việc xác định lãi suất của một tài khoản khi mở sẽ phụ

thuộc vào phân loại tài khoản, bộ lãi suất.

Dữ liệu tham

khảo Nguồn Bảng dữ liệu chiết xuất Ghi chú

Product_code Core Banking ICTMS_PR_INT_UDEVALS Sự thay đổi về lãi suất

Working day Core Banking STTM_LCL_HOLIDAY Ngày làm việc hay nghỉ

Rate_tranfer Core Banking ICTM_ACC_UDEVALS Tỉ giá quy đổi theo loại tiền

LSNB Core Banking IT_LSNB Lãi suất nội bộ cho việc

mua bán vốn trong nội bộ.

Hình 2. 11: Bảng danh sách dữ liệu tham khảo đẩy vào kho dữ liệu.

Ngoài ra chúng cần làm rõ các quan hệ giữa các thực thể. Việc đặc tả các

quan hệ giữa các thực thể dữ liệu trong core banking đã được mô tả tại hình 2.3.

2.2.3.4. Xử lý dữ liệu chuyển đổi và nạp vào kho.

Sự khác biệt lớn nhất giữa mô hình dữ liệu nghiệp vụ và mô hình dữ liệu

kho dữ liệu đó là thời gian. Với mô hình dữ liệu nghiệp vụ thì dữ liệu luôn miêu

tả về trạng thái hiện tại của doanh nghiệp (mang tính thời điểm) còn với kho dữ

liệu thì theo quan điểm dữ liệu gắn liền với thời gian (mang tính lịch sử). Do vậy

khi thiết kế kho ta cần chú ý việc thêm và các thành phần thời gian tới các thực

thể có thể thay đổi. Giải pháp sử dụng là bổ sung thêm cột dữ liệu xác định thời

gian của dữ liệu và với mỗi khi thuộc tính của thực thẻ thay đổi ta sẽ thêm một

bản ghi mới vào kho dữ liệu. Qua đó đảm bảo tính nhất quán về dữ liệu cho kho.

Xem xét yêu cầu và mô hình nghiệp vụ thì dữ liệu đẩy vào kho dữ liệu

ngoài một số dữ liệu bất biến theo thời gian như: số tài khoản, số CIF, lãi suất,

lsnb… thì còn một số dữ liệu có khẳ năng thay đổi chậm như: phân loại khách

hàng (khách hàng trong quá khứ là doanh nghiệp siêu nhỏ nhưng hiện tại có thể

là doanh nghiệp vừa và nhỏ). Để đảm bảo kho dữ liệu lưu giữ chính xác thông

tin và đưa ra dữ liệu nhất quán trong quá khứ thì phải có mốc để xác định chính

xác giá trị dữ liệu ứng với thời điểm quá khứ.

Chiều Thuộc tính Thay đổi Tần suất

cập nhập

Thuộc tính

bổ sung

CIF Class Phân loại khách hàng Có Tháng MonthYear

Khu vực Branch Phân loại khu vực Có Tháng MonthYear

Main Branch Trực thuộc chi nhánh Có Tháng MonthYear

CCy Loại tiền của TK Không

Account_Class Phân loại tk Không

Product_code Bộ tính lãi suất Có Ngày Dữ liệu tham khảo

Hình 2. 12: Bảng danh sách dữ liệu chiều thay đổi theo thời gian.

Page 52: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

43

Hình 2. 13: Thêm thành phần thời gian vào dữ liệu.

Theo yêu cầu về dự án, dữ liệu phân tích chi tiết nhất chính là số dư tài

khoản tại ngày. Nên thay vì lưu toàn bộ dữ liệu giao dịch thì dữ liệu trong kho sẽ

được tổng hợp theo số dư tài khoản theo ngày. Quá trình xử lý tại vùng đệm sau

đó đẩy vào kho:

Đầu vào: Dữ liệu thông tin tài khoản trên core banking vào cuối ngày.

Đầu ra: Thông tin tài khoản được đẩy vào bảng trung gian gồm số tài

khoản, ngày, lãi suất… với huy động là bảng it_lsnb_tdcasa_daily, cho

vay là bảng it_lsnb_tckt_cl_daily.

Hình 2. 14: Bảng dữ liệu chính trong kho.

Việc tạo và duy trì các kết nối giữa các thực thể được sử dụng với khóa đại

diện. Thông thường, mỗi bảng đều có một khoá chính dùng định danh cho từng

dòng của nó. Khoá này có thể tạo bởi 1 hay nhiều cột. Trong dữ liệu nguồn,

khoá này là không thống nhất, và có thể mang nhiều kiểu khác nhau, cũng có thể

được tạo tự động bởi cơ sở dữ liệu nguồn. Trong kho dữ liệu, khoá này gọi là

khoá tự nhiên. Vì những lí do trên đây, khoá tự nhiên của dữ liệu nguồn không

thể được sử dụng trong một hệ thống chung của kho dữ liệu. Thay vào đó, người

ta sử dụng khoá đại diện, với các đặc điểm sau:

Chỉ bao gồm 1 cột: Đơn giản cho phép kết

Là số nguyên không âm: Tăng tốc cho việc đánh số chỉ mục và kết bảng

Page 53: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

44

Tạo bởi gói ETL trong lúc nạp dữ liệu: Thống nhất giữa nhiều nguồn dữ

liệu.

2.2.3.5. Tạo thêm các dữ liệu tính toán.

Để cải thiện tốc độ truy vấn của kho dữ liệu. Ta sẽ bổ sung thêm 02 loại dữ

liệu sau:

Dữ liệu phục vụ việc tính toán it_timE.

IT_TIME

CALENDAR_YEAR_CAL_YEAR_CODE NUMBER

CALENDAR_YEAR_END_DATE DATE

CALENDAR_YEAR_TIME_SPAN NUMBER

CALENDAR_YEAR_DESCRIPTION VARCHAR2(2000)

CALENDAR_YEAR_NAME VARCHAR2(25)

CAL_YEAR_NUMBER NUMBER

CAL_YEAR_START_DATE DATE

CALENDAR_QUART_CAL_QUARTER_CO NUMBER

CALENDAR_QUARTER_END_DATE DATE

CALENDAR_QUARTER_TIME_SPAN NUMBER

CALENDAR_QUARTER_DESCRIPTION VARCHAR2(2000)

CALENDAR_QUARTER_NAME VARCHAR2(25)

CAL_QUARTER_NUMBER NUMBER

QUARTER_OF_YEAR NUMBER

CAL_QUARTER_START_DATE DATE

CALENDAR_MONTH_CAL_MONTH_CODE NUMBER

CALENDAR_MONTH_END_DATE DATE

CALENDAR_MONTH_TIME_SPAN NUMBER

CALENDAR_MONTH_DESCRIPTION VARCHAR2(2000)

CALENDAR_MONTH_NAME VARCHAR2(25)

CAL_MONTH_NUMBER NUMBER

CAL_MONTH_START_DATE DATE

MONTH_OF_QUARTER NUMBER

MONTH_OF_YEAR NUMBER

DAY_DATE DATE

DAY_DAY_CODE NUMBER

DAY_START_DATE DATE

DAY_END_DATE DATE

DAY_TIME_SPAN NUMBER

Page 54: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

45

JULIAN_DATE NUMBER

DAY_DESCRIPTION VARCHAR2(2000)

DAY_NAME VARCHAR2(25)

DAY_OF_CAL_WEEK NUMBER

DAY_OF_CAL_MONTH NUMBER

DAY_OF_CAL_QUARTER NUMBER

DAY_OF_CAL_YEAR NUMBER

Dữ liệu tổng hợp theo yêu cầu báo cáo bảng ojb_objective

Hình 2. 15: Tạo thêm dữ liệu tính toán, tổng hợp.

Dữ liệu phục vụ việc tính toán bổ sung thêm bảng thông tin về thời gian

(it_time_day) sẽ trả về thông tin chi tiết của một ngày là thuộc tuần nào? Tháng

nào? Quý nào? Năm nào? Là ngày làm việc hay ngày nghỉ.

Dữ liệu tổng hợp là việc tính trước dữ liệu tổng hợp theo tháng ứng phân

loại tài khoản, phân loại khách hàng, loại tiền..

2.2.3.6. Tạo phân cấp dữ liệu.

Qua xem xét dữ liệu và yêu cầu kinh doanh, kho dữ liệu sẽ bao gồm các

phân cấp dữ liệu như sau:

Phân cấp về khu vực địa lý.

Phân cấp về loại tiền.

Phân cấp về phòng giao dịch, chi nhánh.

Phân cấp về loại tài khoản.

Hình 2. 16: Danh sách các chiều và phân cấp.

Page 55: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

46

2.2.3.7. Mô hình dữ liệu kho.

Kho được tổ chức theo mỗi hình dữ liệu quan hệ như gồm loại bảng:

Bảng dữ liệu chiều: như thông tin khách hàng, tài khoản, loại tiền…

Bảng dữ liệu phục vụ tính toán: bảng thời gian.

Bảng dữ liệu tổng hợp.

Bảng dữ liệu tham khảo.

Việc quản lý và duy trì quan hệ trong kho dữ liệu được tổ chức thông qua

một khóa đại diện thay vì sử dụng khóa có sẵn từ hệ thống hay khóa theo bộ mã

tiêu chuẩn quốc tế. Việc sử dụng khóa đại diện kiểu number giúp việc truy vấn

hệ thống nhanh hơn và đảm bảo việc nhất quán cùng một dữ liệu trên OLTP

nhưng tại 2 thời điểm khác nhau lại có các thuộc tính xem xét khác nhau.

Page 56: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

47

CUST_ACCOUNTS

PK,FK2 CUSTOMER_NOPK,FK1 EFFECTIVE_DATEPK,FK1 ACCOUNT_CLASS

BRANCH_CODECUST_AC_NOCUST_NOCCYAC_OPEN_DATEDR_GLCR_GLPRODUCT_CODE

CCY

PK,FK1 CUSTOMER_NOPK,FK1 ACCOUNT_CLASSPK,FK1 EFFECTIVE_DATE

CCY_CODECCY_NAMECOUNTRY

ACCOUNT_CLASS

PK ACCOUNT_CLASSPK EFFECTIVE_DATE

DESCRIPTIONDEFAULT_TENOR_DAYSDEFAULT_TENOR_MONTHSDEFAULT_TENOR_YEARSCLOSE_ON_MATURITY

TDCASA_BALANCE

PK,FK2,FK3 CUSTOMER_NOPK,FK3 EFFECTIVE_DATEPK,FK3 ACCOUNT_CLASS

DAY_TO_RUNACCTNOCURRENCYAC_BRANCHRATELSNBCUR_BALANCE

CUSTOMER

PK CUSTOMER_NO

CUSTOMER_TYPECUSTOMER_NAME1ADDRESSNATIONALITYLOCAL_BRANCHUNIQUE_ID_VALUE

BRANCH

PK,FK1 CUSTOMER_NOPK,FK1 ACCOUNT_CLASSPK,FK1 EFFECTIVE_DATE

BRN_CODEBRN_NAMEBRN_ADDRPARENT_BRANCHBRN_STRESSBRN_CITYBRN_CONTRY

CONTRACT_MASTER

PK,FK1,FK3 CUSTOMER_NOPK,FK1,FK3 ACCOUNT_CLASSPK,FK1,FK3 EFFECTIVE_DATE

BRANCHCONTRACT_REF_NOPRODUCTCOUNTERPARTYCURRENCYBOOKING_DATEVALUE_DATEMATURITY_DATEVERSION_NO

GLTM_GLMASTER

PK GL_CODE

GL_DESCPARENT_GLEFFECTIVE_DATE

PRODUCT_ACCROLE

GL_CODEPRODUCT_CODEROLE_TYPESTATUSACCOUNT_HEAD

ACCOUNT_APPS_MASTER

PK,FK1 ACCTNOPK,FK2,FK3 CUSTOMER_NOPK,FK2,FK3 ACCOUNT_CLASSPK,FK2,FK3 EFFECTIVE_DATE

ACCOUNT_NUMBERBRANCH_CODECUSTOMER_IDPRODUCT_CODEVALUE_DATEMATURITY_DATEAMOUNT_FINANCED

TCKT_BALANCE

PK ACCTNO

DAY_TO_RUNPRODUCT_CODECURRENCYAC_BRANCHRATELSNBCUR_BALANCEGL_COE

Hình 2. 17: Thiết kế CSDL của kho dữ liệu.

2.2.4. Xây dựng kho dữ liệu cục bộ.

Kho dữ liệu cục bộ về huy động, cho vay được chiết xuất dữ liệu từ kho dữ

liệu trung tâm. Và là nơi người dùng truy cập thực hiện các truy vấn dữ liệu.

Kho dữ liệu cục bộ được tổ chức theo mô hình chiều

Lược đồ dữ liệu về kho sản phẩm:

Page 57: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

48

Hình 2. 18: Lược đồ khối dữ liệu cục bộ về huy động.

Bảng sự kiện: dữ liệu từ bảng TDCASA_BALANCE.

Bảng chiều thời gian: thiết lập hệ thống tự sinh.

Bảng chiều khách hàng: dữ liệu nạp từ bảng CUSTOMER.

Bảng chiều phòng giao dịch: dữ liệu nạp từ bảng BRANCH.

Bảng chiều location: dữ liệu được nạp từ bảng BRANCH.

Bảng chiều loại tài khoản acc_class.

Page 58: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

49

CHƯƠNG 3: CÀI ĐẶT, THỬ NGHIỆM

Với bản thiết kế logic về kho dữ liệu sản phẩm nhằm đáp ứng nhu cầu về

hệ thống báo cáo cho Ban lãnh đội. NLLV tiến hành cài đặt thử nghiệm hệ

thống để đánh giá kết quả với công cụ Oracle Warehouse Builder trên nền tảng

Oracle Database 10g với nguồn dữ liệu thực tế năm 2011 của Ngân hàng TMCP

Đại Dương.

3.1. Giới thiệu về công cụ Oracle Warehouse Builder.

Oracle Warehouse Builder (OWB) còn được gọi là Warehouse Builder

(WB) là một framework có khả năng mở rộng, một phần không thể thiếu của

Oracle Database. Nó cung cấp các giải pháp thiết kế, triển khai và quản lý KDL

cho doanh nghiệp, các KDL cục bộ và các ứng dụng quản trị doanh nghiệp

thông minh.

OWB còn là một công cụ thực hiện quá trình trích chiết, chuyển đổi và nạp

(ETL) dữ liệu vào trong KDL.

OWB gồm hai thành phần như hình 13: thành phần thiết kế (design

environment) và thành phần thực thi (runtime environment). Mỗi thành phần xử

lý các khía cạnh khác nhau của hệ thống. Thành phần thiết kế xử lý dữ liệu

metadata, thành phần thực thi xử lý dữ liệu vật lý.

Hình 3. 1: Các thành phần của OWB.

Thành phần thiết kế bao gồm kho dữ liệu metadata ( metadata

repository) được chứa trong cơ sở dữ liệu oracle và một tập các công cụ thiết kế

và báo cáo phía client, công cụ này được viết bằng Java hoặc HTML

Tạo ra metadata là một hoạt động thiết kế cho phép sử dụng các công cụ

phía client để thiết kế các đối tượng, các quy trình và luồng công việc.

Warehouse Builder hỗ trợ thiết kế lược đồ cơ sở dữ liệu quan hệ, lược đồ đa

Page 59: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

50

chiều, quá trình xử lý ETL và các công cụ hỗ trợ người dùng cuối thông qua

client.

Các hệ thống nguồn (source system) đóng một vai trò quan trọng trong bất

kỳ giải pháp ETL nào và thay vì việc thực hiện ETL một cách thủ công thì

Warehouse Builder cung cấp các thành phần tích hợp các thông tin liên quan

vào trong kho của nó.

Một thế mạnh của kiến trúc OWB là quy trình quản lý vòng đời, nó cho

phép metadata được cập nhật dựa trên thay đổi của các dữ liệu nguồn. Sau đó

OWB dễ dàng cập nhật những thay đổi và tiến trình ETL và đến hệ thống đích.

Thành phần thực thi:

Khi người dùng đã thiết kế hệ thống ETL dựa trên một mức logic, họ cần

chuyển nó vào môi trường cơ sở dữ liệu vật lý. Trước khi điều này được thực

hiện thì thông tin về cơ sở dữ liệu được bổ sung vào thiết kế logic. Sau khi quá

trình cấu hình được hoàn thành thì mã code được sinh ra.

OWB tạo ra một ngôn ngữ chuyên biệt cho tiến trình ETL và các câu lệnh

SQL DDL cho các đối tượng cơ sở dữ liệu. Mã code sinh ra được triển khai

hoặc tới hệ thống hoặc tới cơ sở dữ liệu.

Thực hiện các chức năng ETL có nghĩa là chạy các mã code đã được triển

khai vào trong cơ sở dữ liệu. Quá trình ETL chuyển dữ liệu từ nguồn và cơ sở

dữ liệu đích.

3.2. Môi trường cài đặt và các thành phần:

Thành phần Mô tả

Dữ liệu nguồn –

Oracle Data base 10g Dữ liệu thực tế 2010 cài đặt trên hệ thống máy chủ

Dữ liệu đích Laptop Core i3, RAM 2GB cài đặt công cụ Oracle

Warehouse Builder 11gR2 và Orace data base 11g

NLV tiến hành cài đặt và xây dựng kho dữ liệu đầu cuối về sản phẩm huy động để kiểm tra khẳ năng đáp ứng yêu cầu và tính đứng đắn của bản thiết kế của chương 2. 3.3. Các bước thao tác.

3.3.1. Xây dựng các bảng chiều.

Sử dụng OWB để tạo các bảng chiều theo thiết kế.

REAL_TIME: về thời gian với phân cấp theo lịch chuẩn với mức độ

ngày, tháng, quý, năm. Và lưu trữ theo RLOAP.

Page 60: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

51

Hình 3. 2: Bảng chiều thời gian.

Hình 3. 3: Phân cấp bảng chiều thời gian.

REAL_CLASS_ACCT: loại tiền gửi tiền.

Hình 3. 4: Bảng chiều loại hình tiền gửi .

Page 61: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

52

Hình 3. 5: Phân cấp chiều loại hình tiền gửi.

REAL_CUSTOMER: về phân loại khách hàng.

Hình 3. 6: Bảng chiều khách hàng.

Hình 3. 7: Phân cấp bảng chiều khách hàng.

3.3.2. Tạo cube

Tạo 02 khôi dữ liệu về hoạt động huy động.

Page 62: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

53

Hình 3. 8: Khối cube huy động.

Hình 3. 9: Đơn vị đo Cube.

Hình 3. 10: Chiều của cube.

3.3.3. Thiết lập nguồn dữ liệu, chiết xuất và xử lý dữ liệu.

OWB cho phép ta dễ dàng định nghĩa các kết nối tới nguồn dữ liệu cần

chiết xuất và cung cấp một công cụ trực quan hóa giúp ta dễ dàng thiết lập việc

xử lý dữ liệu.

Nguồn dữ liệu là hệ thống core bank (dữ liệu năm 2010) được thiết lập với

tên KZ. OWB cho phép ta chọn các đối tượng dữ liệu sẽ được chiết vào core và

nạp vào các dữ liệu meta của đối tượng để phục vụ cho việc thiết kế.

Page 63: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

54

Hình 3. 11: Thiết lập nguồn dữ liệu.

Quá trình chiết xuất và xử lý dữ liệu với giao diện đồ họa thân thiện.

Chiều thời gian: OWB cung cấp wizard để xây dựng chiều thời

gian.

Hình 3. 12: Chiết xuất và xử lý dữ liệu chiều thời gian.

Chiều loại hình tiền gửi: chiết xuất và thiết lập các dữ liệu tổng hợp

phục vụ tính toán.

Hình 3. 13: Chiết xuất và xử lý dữ liệu chiều loại hình tiền gửi.

Chiều phân loại khách hàng.

Hình 3. 14: Chiết xuất và xử lý chiều phân loại khách hàng.

Page 64: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

55

3.3.4. Triển khai.

Toàn bộ các thiết kế phía trên là thiết kế logic và nó chưa thực sự tồn tại

trong cơ sở dữ liệu. Triển khai là công việc thực hiện chuyển đổi các thiết kế

logic thành thiết kế vật lý lưu trữ trong cơ sơ dữ liệu. OWB có wizard hỗ trợ

việc triển khai.

Hình 3. 15: Giao diện triển khai thiết kế logic.

Sau khi triển khai ta sẽ có các đối tượng vật lý trong cơ sở dữ liệu như

bảng, squenes… các bảng sẽ được thiết lập với index tối ưu phục vụ cho các

truy suất dữ liệu. Toàn bộ các bảng sẽ được liên kết theo một khóa đại diện (kiểu

number) do OWB tự sinh ra theo đặc tả thiết kế logic.

Ngoài các bảng trực quan ta thấy trên giao diện, hệ thống sẽ sinh thêm các

bảng dữ liệu hỗ trợ việc xử lý dữ liệu như: bảng phân cấp (bảng cầu nối chỉ ra

phân cấp của dữ liệu), bảng dữ liệu tổng hợp được tính toán trước…

Page 65: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

56

3.3.4. Nạp dữ liệu vào kho dữ liệu.

Oracle warehouse Build là công cụ mạnh hỗ trợ cho quá trình ETL dữ liệu từ

nguồn vào kho dữ liệu. Với giao diện trực quan dễ sử dụng.

Quá trình nạp dữ liệu gồm:

Bước 1: Nạp dữ liệu các bảng chiều

Bước 2: Khi bước 1 hoàn thành tiền hành dựng cube dữ liệu

Bước 3: Trả về thông báo kết quả.

Hình 3. 16: Giao diện thiết kế kịch bản nạp dữ liệu vào kho.

Thiết kế logic cho quá trình nạp dữ liệu vào kho dữ liệu ta tiến hành triển

khai để biến thiết kế logic thành thiết kế vật lý cụ thể là script mã nguồn quá

trình nạp dữ liệu.

Sau đó ta tiến hành chạy nạp dữ liệu vào kho thông qua công cụ OWB cung cấp sẵn. Chi tiết về qua trình nạp dữ liêu như hình dưới.

Hình 3. 17: Thông tin về tiến trình nạp dữ liệu.

Page 66: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

57

Hình 3. 18: Mã nguồn nạp dữ liệu vào kho.

Bây giờ các đối tượng vật lý sẽ có dữ liệu được chiết xuất từ hệ thống

nguồn. Ta có thể truy cập dữ liệu thông qua các công cụ SLQ Plus, SQL

Developer hoặc đơn giản xem dữ liệu trực tiếp trên OWB.

Dữ liệu bảng chiều.

Hình 3. 19: Dữ liệuchiều loại hình tiền gửi .

Page 67: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

58

Dữ liệu cube.

Hình 3. 20: Dữ liệu cube.

3.4. Báo cáo dựa trên kho dữ liệu.

Kho dữ liệu đã được thiết lập với các dữ liệu phù hợp với việc phân tích dữ

liệu và được đánh chỉ mục phù hợp với báo cáo.Sử dụng công cụ truy xuất dữ

liệu để thiết lập dữ liệu phục cho các báo cáo cơ bản

Báo cáo sự biến động loại hình tiền gửi không kỳ hạn việt nam đồng

Biến động số dư loại hình tiền gửi có kỳ hạn việt nam đồng.

Page 68: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

59

Cơ cấu tỉ trọng tiền gửi theo loại hình tiền gửi việt nam đồng.

Báo cáo biến động và so sánh loại hình tiền gửi có kỳ hạn và không kỳ hạn

Thông qua kho dữ liệu, người dùng đầu cuối sẽ nhanh chóng và dễ dàng

nhận được dữ liệu để phục vụ việc công việc. Ngoài ra một số ứng dụng còn

cung cấp cho người dùng công cụ để tự định nghĩa báo cáo và chia sẻ.

Page 69: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

60

KẾT LUẬN VÀ ĐỊNH HƯỚNG.

Với việc tìm hiểu và nghiên cứu kiến trúc kho dữ liệu và áp dụng vào lĩnh

vực Ngân hàng thương mại. Tôi đã học tập thêm được nhiều kỹ năng, kiến thức

về tổ chức và khai thác dữ liệu với hệ thống lớn. Qua đó có cái nhìn tổng thể và

toàn diện hơn về việc xử lý dữ liệu khối lượng lớn.

Dù trong quá trình làm luận văn, tôi đã cố gắng nhưng kết quả đạt được vẫn

còn nhiều hạn chế.

1. Các kết quả đạt được.

- Đưa ra giải pháp khả thi cho việc xây dựng kho dữ liệu phù hợp với chi phí

và điều kiện tại Ocean Bank

- Cài đặt thử nghiệm kho dữ liệu cục bộ sản phảm.

- Kho dữ liệu xây dựng là nền tảng cho việc triển khai các hệ thống báo cáo

quản trị mạnh.

2. Định hướng phát triển.

- Hoàn thiện kho dữ liệu như khách hàng, lợi nhuận, đánh giá hiệu suất nhân

viên KPI.

- Nghiên cứu về nhu cầu dữ liệu để có thể tổ chức dữ liệu tốt. Nhằm người

dùng tự tạo báo cáo theo nhu cầu.

- Xử lý các vấn đề phát sinh: cách thức làm mới kho dữ liệu, chu kỳ cấp nhập

dữ liệu.

- Triển khai hệ thống BI là công cụ mạnh hỗ trợ việc khai thác dữ liệu nhằm

chiết xuất thông tin

Page 70: NGHIÊN CỨU VÀ XÂY DỰNG KHO DỮ LIỆU SẢN PHẨM TẠI …storage.sharetailieu.net › data › 20190411 › 00050004135_b7a3299d-… · nghiÊn cỨu vÀ xÂy dỰng kho

61

TÀI LIỆU THAM KHẢO

Tiếng Việt.

[1] Hà Quang Thụy, Kho dữ liệu và khai phá dữ liệu. Bài giảng môn học

khoa Công nghệ thông tin, trường Đại học Công nghệ, 2010.

Tiếng Anh.

[1] Oracle Data Warehousing and Business Intelligence Solutions, Wiley,

2007.

[2] Mastering Data Warehouse Design Relational and Dimensional

Techniques, Wiley, 2003.

[3] Introduction to Data Warehousing and Business Intelligence, Christian S.

Jensen & Torben Bach Pedersen & Christian Thomsen, 2009.

[4] Oracle Warehouse Builder User's Guide 10g, 2009

[5] Oracle Database Data Warehousing Guide, 11g Release 2, 2013.