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

Áp dụng ETL trong kho dữ liệu ứng dụng vào hệ thống ERP: luận văn thạc sĩ

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG

ĐINH HOÀNG NAM

ÁP DỤNG ETL TRONG KHO DỮ LIỆU ỨNG
DỤNG VÀO HỆ THỐNG ERP

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Đồng Nai, Năm 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG

ĐINH HOÀNG NAM

ÁP DỤNG ETL TRONG KHO DỮ LIỆU ỨNG
DỤNG VÀO HỆ THỐNG ERP
Chuyên ngành: Công Nghệ Thông Tin
Mã số: 8480201
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS. ĐẶNG TRẦN KHÁNH

Đồng Nai, Năm 2018


i



LỜI CẢM ƠN
Qua quá trình học tập và rèn luyện tại Trường Đại Học Lạc Hồng, với sự biết
ơn và kính trọng, xin gửi lời cảm ơn chân thành đến Ban Giám Hiệu nhà trường, các
phòng ban, khoa Công Nghệ Thông Tin và các Thầy đã nhiệt tình hướng dẫn, giảng
dạy, giúp đỡ em trong suốt thời gian học tập, nghiên cứu và hoàn thiện đề tài nghiên
cứu khoa học này.
Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc tới Thầy PGS.TS Đặng Trần
Khánh, đã trực tiếp hướng dẫn rất nhiệt tình và luôn đồng hành cùng em trong quá
trình thực hiện đề tài.
Xin chân thành cảm ơn Ban Lãnh đạo Công Ty TNHH Pouchen Việt Nam
Enterprise .Ltd cùng các đồng nghiệp tạo điều kiện thuận lợi cho Tôi để hoàn
thành đề tài nghiên cứu này.
Mặc dù đã cố gắng rất nhiều, tuy nhiên điều kiện về năng lực bản thân còn hạn
chế, chuyên đề nghiên cứu khoa học chắc chắn không tránh khỏi những thiếu sót.
Kính mong nhận được sự đóng góp ý kiến của các Quý thầy cô giáo, bạn bè và
đồng nghiệp để bài nghiên cứu được hoàn thiện hợn.
Tôi xin chân thành cảm ơn!

Đồng Nai, Ngày

tháng

năm 2018

Học viên

Đinh Hoàng Nam



ii

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công
trình nào khác.
Các nội dung tôi tham khảo từ các tài liệu được trích dẫn và chú thích đầy đủ.
Tôi xin chịu trách nhiệm về luận văn của mình.

Đồng Nai, ngày

tháng

Học viên

Đinh Hoàng Nam

năm 2018


iii

TÓM TẮT LUẬN VĂN
Đề tài: ÁP DỤNG ETL TRONG KHO DỮ LIỆU ỨNG DỤNG VÀO HỆ
THỐNG ERP
Ngành: Công nghệ thông tin
Mã số: 8480201
Học viên: Đinh Hoàng Nam
Người hướng dẫn: PGS.TS Đặng Trần Khánh
NỘI DUNG TÓM TẮT

1.

Nội dung được giao và kết quả mong đợi của người hướng dẫn
Nội dung:


Cài đặt kho dữ liệu Oracle Data Warehouse 11.2.0.3.



Tìm hiểu về Extract, Transform, Load (ETL). Nghiên cứu các tính năng
của việc thay đổi thu thập dữ liệu Changing Data Capture (CDC) trong
bước Extraction (E) của ETL như: phân vùng dữ liệu, bảng tra cứu, xử lý
song song.



Xây dựng quy trình trao đổi dữ liệu bằng công cụ mã nguồn mở Talend
Open Studio (TOS) version 6.x.



Job thực thi chuyển dữ liệu vào kho dữ liệu.



Thử nghiệm mẫu dữ liệu chứng từ thanh toán trong hệ thống ERP.

Kết quả:



Áp dụng phương pháp phân vùng dữ liệu, bảng tra cứu, quy trình xử lý
song song trong việc thay đổi thu thập dữ liệu, áp dụng vào bước
Extraction (E) của quy trình ETL.



TOS BD: Trích lọc, chuyển dữ liệu chứng từ thanh toán vào kho dữ liệu
của hệ thống ERP.


iv



Job: file .bat thiết định job tự động trên môi trường window và .sh trên
môi trường Linux/Mac OS.

2.

Cách thức giải quyết vấn đề
Nghiên cứu thực tiễn: nghiên cứu kho dữ liệu Oracle Warehouse Database về

phân vùng, xử lý song song. Sử dụng mã nguồn mở Talend Open Studio hỗ trợ xử
lý song song trong thực thi chuyển dữ liệu.
Phương pháp nghiên cứu lý thuyết: nghiên cứu các tài liệu về Oracle Data
Warehouse. Tài liệu về ETL và công cụ mã nguồn mở Talend Open Studio
Phương pháp tiếp cận hệ thống: đối tượng nghiên cứu từ hệ thống ERP trong
doanh nghiệp.


Ngày

tháng

năm 2018

NGƯỜI HƯỚNG DẪN

HỌC VIÊN

PGS.TS Đặng Trần Khánh

Đinh Hoàng Nam


v

NỘI DUNG
LỜI CẢM ƠN .................................................................................................................... i
LỜI CAM ĐOAN ............................................................................................................. ii
TÓM TẮT LUẬN VĂN .................................................................................................. iii
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT ...................................................... ix
DANH MỤC BẢNG BIỂU .............................................................................................. x
DANH MỤC HÌNH ẢNH ............................................................................................... xi
CHƯƠNG 1: ..................................................................................................................... 1
TỔNG QUAN ĐỀ TÀI ..................................................................................................... 1
1.1 TỔNG QUAN ...................................................................................................... 1
1.2 MỤC TIÊU CỦA LUẬN VĂN ........................................................................... 5
1.3 PHẠM VI VÀ ĐỐI TƯỢNG NGHIÊN CỨU ..................................................... 5
1.4 NỘI DUNG THỰC HIỆN ................................................................................... 5

1.5 KẾT CẤU LUẬN VĂN....................................................................................... 6
CHƯƠNG 2: ..................................................................................................................... 7
TỔNG QUAN VỀ KHO DỮ LIỆU .................................................................................. 7
2.1 KHÁI NIỆM KHO DỮ LIỆU.............................................................................. 7
2.1.1

Khái niệm .................................................................................................... 7

2.1.2

Lý do cần phải có kho dữ liệu. .................................................................... 7

2.2 ĐẶC ĐIỂM KHO DỮ LIỆU ............................................................................... 8
2.3 CÁC THÀNH PHẦN KHO DỮ LIỆU ................................................................ 9
2.3.1

Dữ liệu nguồn – Data sources ..................................................................... 9

2.3.2

Tiến trình ETL - Extract Transform Load................................................... 9

2.3.3

Kho dữ liệu chủ đề - Data Mart................................................................... 9

2.3.4

OLAP - OnLine Analytics Processing ...................................................... 10


2.3.5

Ứng dụng người dùng cuối - Users ........................................................... 10

2.3.6

Các thành phần và cấu trúc Oracle Warehouse Builder - OWB ............... 10

2.3.6.1 Design Center........................................................................................ 10
2.3.6.2 Control Center Manager ....................................................................... 10
2.3.6.3 Target Schema ...................................................................................... 10
2.3.6.4 Warehouse Builder Repository ............................................................. 10


vi

2.3.6.5 Repository Browser .............................................................................. 11
2.3.6.6 Control Center Service .......................................................................... 11
2.4 KIẾN TRÚC KHO DỮ LIỆU............................................................................ 11
2.4.1

Kiến trúc cơ bản - Basic (kiến trúc 1 tầng) ............................................... 11

2.4.2

Kiến trúc dàn dựng – with Staging Area (kiến trúc 2 tầng) ...................... 12

2.4.3

Kiến trúc dàn dựng và Data Marts - with a Staging Area and Data

Marts (kiến trúc 3 tầng) ............................................................................. 13

2.5 MÔ HÌNH DỮ LIỆU CHO KHO DỮ LIỆU ..................................................... 14
2.5.1

Mô hình dạng chuẩn 3NF - Third Normal Form....................................... 14

2.5.2

Mô hình không gian - Dimensional Modeling .......................................... 14

2.5.3

Phân vùng dữ liệu – Partitioning ............................................................... 15

2.5.4

Thực thi song song - Parallel Execution ................................................... 16

2.5.5

Lập chỉ mục - Index .................................................................................. 16

2.6 SỰ KHÁC BIỆT VỚI MỘT DATABASE ........................................................ 17
CHƯƠNG 3 .................................................................................................................... 18
TỔNG QUAN VỀ ETL TRONG KHO DỮ LIỆU ......................................................... 18
3.1 TỔNG QUAN ETL ............................................................................................ 18
3.2 CHỨC NĂNG ETL ........................................................................................... 18
3.2.1


Khai thác dữ liệu - data extraction ............................................................ 19

3.2.2

Xác nhận dữ liệu - data validation ............................................................ 19

3.2.3

Làm sạch dữ liệu - data cleaning ............................................................... 19

3.2.4

Chuyển đổi dữ liệu - data conversion........................................................ 19

3.2.5

Tải dữ liệu - data loading .......................................................................... 19

3.3 THÀNH PHẦN ETL ......................................................................................... 20
3.3.1

Trích xuất – Extract ................................................................................... 20

3.3.1.1 Tổng quan ............................................................................................. 20
3.3.1.2 Các phương pháp trích xuất. ................................................................. 20
Phương pháp logic (Logical Extraction Methods):............................................ 20
Phương pháp vật lý (Physical Extraction Methods): ......................................... 20
Phương pháp theo dõi thay đổi (Change Tracking Methods): ........................... 21
3.3.2


Vận chuyển – Transform ........................................................................... 21


vii

3.3.2.1 Tổng quan ............................................................................................. 21
3.3.2.2 Cơ chế vận chuyển trong kho dữ liệu .................................................. 21
3.3.3

Tải - Load .................................................................................................. 22

3.4 KIẾN TRÚC ETL .............................................................................................. 22
3.5 HỆ THỐNG ETL THỜI GIAN THỰC ............................................................. 24
3.5.1

Phân chia nhỏ dữ liệu theo lô ETL - Microbatch ETL ............................. 24

3.5.2

Phân vùng thời gian thực........................................................................... 24

3.5.3

Phân nhóm dữ liệu xử lý song song .......................................................... 24

3.5.4

Trích xuất thời gian thực ........................................................................... 25

3.5.5


Chuyển đổi thời gian thực ......................................................................... 25

3.5.6

Tải thời gian thực ...................................................................................... 25

CHƯƠNG 4 .................................................................................................................... 26
XÂY DỰNG QUY TRÌNH TRAO ĐỔI DỮ LIỆU ETL CỦA HỆ THỐNG ERP VÀO
KHO DỮ LIỆU ............................................................................................................... 26
4.1 BÀI TOÁN ......................................................................................................... 26
4.2 NGUỒN DỮ LIỆU ERP .................................................................................... 26
4.2.1

Cơ sở dữ liệu nguồn ERP .......................................................................... 26

4.2.2

Lưu trình dòng dữ liệu ERP ...................................................................... 27

4.2.3

Mô hình vật lý nguồn dữ liệu ERP ............................................................ 28

4.3 XÂY DỰNG KHO DỮ LIỆU ........................................................................... 29
4.3.1

Cài đặt kho dữ liệu .................................................................................... 29

4.3.1.1 Cấu hình máy chủ ................................................................................. 29

4.3.1.2 Cài đặt OWB 11.2 ................................................................................. 30
4.3.2

Mô hình vật lý ........................................................................................... 30

4.4 PHÂN VÙNG DỮ LIỆU - Data partitioning .................................................... 31
4.5 XỬ LÝ SONG SONG– Parallel process ........................................................... 32
4.6 CHANGING DATA CAPTURE – CDC ........................................................... 34
4.6.1

Changing Data Capture cổ điển ................................................................ 35

4.6.2

Changing Data Capture tiếp cận mới ........................................................ 36

4.6.2.1 Phân vùng dữ liệu ................................................................................. 36
4.6.2.2 Bảng tra cứu .......................................................................................... 37


viii

4.6.2.3 Xử lý song song trong CDC.................................................................. 37
4.7 THỬ NGHIỆM VÀ ĐÁNH GIÁ ....................................................................... 43
4.7.1

Phân vùng dữ liệu ...................................................................................... 43

4.7.2


Tiến trình song song .................................................................................. 43

4.7.3

Talend Open Studio ................................................................................... 45

4.7.3.1 Nguyên nhân chọn TOS. ....................................................................... 45
4.7.3.2 Xây dựng TOS ...................................................................................... 46
4.7.4

Đánh giá kết quả thử nghiệm .................................................................... 48

4.7.4.1 Thử nghiệm với cách thức truyền thống ............................................... 48
4.7.4.2 Thử nghiệm với cách tiếp cận mới trong Oracle .................................. 49
4.7.4.3 Thử nghiệm với cách tiếp cận mới và công cụ TOS ............................ 50
4.7.4.4 So sánh kết quả ..................................................................................... 51
4.7.4.5 Đánh giá ứng dụng ................................................................................ 53
CHƯƠNG 5: ................................................................................................................... 54
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO ............................................... 54
5.1 KẾT QUẢ ĐẠT ĐƯỢC .................................................................................... 54
5.2 NHỮNG HẠN CHẾ CỦA LUẬN VĂN ........................................................... 54
5.3 HƯỚNG NGHIÊN CỨU TIẾP THEO .............................................................. 55
TÀI LIỆU THAM KHẢO .................................................................................................. i


ix

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Ký hiệu


Thuật ngữ

BI

Business Intelligence

CDC

Changing Data Capture

CRC

Cyclic Redundancy Check

DB Job

Database Job

DB Link

Database Link

DOP

Degree of Parallelism

DSS

Decision Support Systems


DW

Data Warehouse

ERP

Enterprise Resource Planning

ESB

Open Studio for Enterprise Service Bus

ETL

Extract, Transform, Load

ODW

Oracle Data Warehouse

OLAP

Online Analysis Processing

OLTP

Online Transaction Processing

OWB


Oracle Warehouse Builder

RDBMS

Relational Database Management System

TOS

Talend Open Studio


x

DANH MỤC BẢNG BIỂU
Bảng 2.1: Sự khác biệt giữa kho dữ liệu và database ..................................... 17
Bảng 4.1: Kết quả thời gian trích xuất bằng phương pháp cổ điển ................ 48
Bảng 4.2: Kết quả thời gian trích xuất theo cách tiếp cận mới trong Oracle.. 49
Bảng 4.3: Kết quả thời gian trích xuất theo cách tiếp cận mới và TOS ......... 50
Bảng 4.4: Kết quả so sánh thử nghiệm dữ liệu ............................................... 51
Bảng 4.5: Kết quả trung bình của ba trạng thái thử nghiệm ........................... 52


xi

DANH MỤC HÌNH ẢNH
Hình 1.1: Kiến trúc của Kho dữ liệu [1] .....................................................................2
Hình 1.2: Tổng quan về ETL và Data warehouse [20] ...............................................3
Hình 2.1: Tổng quan về kiến trúc chung của một kho dữ liệu [2] ..............................8
Hình 2.2: Kiến trúc kho dữ liệu cơ bản ( kiến trúc 1 tầng) [1][8].............................11
Hình 2.3: Kiến trúc kho dữ liệu dàn dựng (kiến trúc 2 tầng) [1][8] .........................12

Hình 2.4: Kiến trúc dàn dựng và Data Marts [1][8]..................................................13
Hình 2.5: List, Range, and Hash Partitioning [16]....................................................15
Hình 3.1: Chức năng xử lý ETL [22] ........................................................................18
Hình 3.2: Thành phần ETL [21]................................................................................22
Hình 3.3: Kiến trúc ETL [21]....................................................................................22
Hình 3.4: ETL tích hợp các nguồn không đồng nhất [17] ........................................23
Hình 4.1: Lưu trình dòng dữ liệu chứng từ thanh toán trong hệ thống ERP ............27
Hình 4.2: Mô hình vật lý thanh toán của ERP ..........................................................28
Hình 4.3: Cấu hình máy chủ kho dữ liệu ..................................................................29
Hình 4.4: Mô hình vật lý chứng từ thanh toán trong kho dữ ....................................30
Hình 4.5: Cách tiếp cận phân vùng dữ liệu đơn giản [13] ........................................31
Hình 4.6: Cách tiếp cận phân vùng dữ liệu Round Robin [13].................................32
Hình 4.7: Thực thi câu lệnh nối tiếp .........................................................................33
Hình 4.8: Xử lý song song phân bổ cho DOP là 2 ....................................................33
Hình 4.9: Mô tả chức năng của CDC ........................................................................34
Hình 4.10: Sơ đồ Thuật toán CDC môi trường cổ điển ............................................35
Hình 4.11: Thuật toán CDC môi trường cổ điển ......................................................36
Hình 4.12: Mô tả thuật toán của IUDCP ...................................................................38
Hình 4.13: Sơ đồ thuật toán IUDCP .........................................................................39
Hình 4.14: Thuật toán IUDCP ..................................................................................40
Hình 4.15: Mô tả thuật toán của DDCP ....................................................................40
Hình 4.16: Sơ đồ thuật toán của DDCP ....................................................................41
Hình 4.17: Thuật toán của DDCP .............................................................................42
Hình 4.18: Phân vùng dữ liệu hash partitions ...........................................................43
Hình 4.19: Thiết định Parallel ...................................................................................44


xii

Hình 4.20: So sánh tools Talend Open Studio với các tools khác [19] ....................45

Hình 4.21: Talend Open Studi for Big Data Version 6.5 ..........................................45
Hình 4.22: 4 tiến trình xử lý song song chuyển dữ liệu vào .....................................46
Hình 4.23: Truy vấn trạng thái xóa dữ liệu ...............................................................46
Hình 4.24: Truy vấn trạng thái insert và update dữ liệu ...........................................47
Hình 4.25: TOS thiết định mức độ song song...........................................................47
Hình 4.26: File biên dịch TOS Job ...........................................................................47
Hình 4.27: Thời gian xử lý các trạng thái Insert, Update và Delete dữ liệu .............51
Hình 4.28: So sánh thời gian xử lý trung bình ..........................................................52


1

CHƯƠNG 1:

TỔNG QUAN ĐỀ TÀI
1.1 TỔNG QUAN
Hiện nay, với sự cạnh tranh khốc liệt trong mọi lĩnh vực kinh doanh thì chủ
các doanh nghiệp phải là người có tầm nhìn không chỉ rộng mà còn phải sâu thì mới
đảm bảo việc kinh doanh phát triển theo đúng hướng. Trong đó nghiệp vụ kinh
doanh không thể thiếu trong các doanh nghiệp. Nó tác động rất lớn đến kinh doanh
và cũng là chìa khóa để kích hoạt sự tăng trưởng hiệu suất của doanh nghiệp.
Trong nhiều năm qua, doanh nghiệp đã thu thập dữ liệu giao dịch từ nhiều hệ
thống phần mềm khác nhau. Tuy nhiên, việc lấy dữ liệu từ nhiều nguồn bị phân tán
nhiều nơi, các tác vụ quản lý, đánh giá và xử lý dữ liệu đã trở nên khó khăn hơn.
Một giải pháp Business Intelligence có thể thu thập thông tin từ nhiều hệ thống khác
nhau từ nhiều vị trí trí địa lý khác nhau trong một tổ chức, củng cố nó thành một
cổng thông tin duy nhất và tích hợp, làm cho nó trở nên dễ dàng hơn cho các nhà
quản lý truy cập tất cả các dữ liệu cho báo cáo toàn diện, kiểm toán và phân tích dự
báo.
Để có được thông tin chính xác, loại bỏ lỗi, thiếu sót hoặc trùng lắp thông tin.

Các báo cáo được tạo ra cần phải tự động, chính xác và được cập nhật kịp thời. Các
doanh nghiệp có thể xem các báo cáo trên cơ sở hàng ngày thay vì chờ đến cuối
tháng, cho phép họ đáp ứng nhanh ngay cả những tình huống khó lường nhất. Khả
năng đi sâu vào dữ liệu hoạt động và tùy chỉnh xem báo cáo cho quản lý những hiểu
biết rõ ràng hơn về những gì đang xảy ra trong kinh doanh. Với thông tin này, ngay
lập tức, họ có thể thực hiện điều chỉnh kịp thời có ảnh hưởng đến hiệu suất hơn là
chờ đợi cho đến khi quá muộn.
Khi phân tích dữ liệu luôn sẵn có và dễ hiểu, các nhà quản lý có thể đưa ra
quyết định kinh doanh với thông tin một cách nhanh chóng, sâu sắc và hiệu quả.
Khi các nhà quản lý có thể truy cập các báo cáo, biểu đồ, đồ thị và phân tích, họ
cũng cảm thấy được trao quyền để có biện pháp chủ động để cải thiện hiệu suất và


2

đảm bảo rằng lợi nhuận kỳ vọng được đáp ứng. Để có được nguồn thông tin đó cần
phải xây dựng một kho dữ liệu Data Warehouse đủ lớn để chứa tất cả dữ liệu.
Kho dữ liệu là một cơ sở dữ liệu được thiết kế để cho phép hoạt động BI, phân
tích dữ liệu, nó tồn tại để giúp người dùng hiểu và nâng cao hiệu suất kinh doanh.
Nó được thiết kế cho truy vấn và phân tích hơn là xử lý giao dịch và thường chứa
dữ liệu lịch sử phát sinh từ dữ liệu giao dịch, nhưng có thể bao gồm dữ liệu từ các
dữ liệu khác nguồn. Kho dữ liệu riêng phân tích khối lượng công việc từ khối lượng
công việc giao dịch và cho phép tổ chức hợp nhất dữ liệu từ nhiều nguồn. Ví dụ: để
tìm hiểu thêm về dữ liệu bán hàng của công ty bạn, bạn có thể xây dựng kho dữ liệu
tập trung vào bán hàng. Sử dụng kho dữ liệu này, bạn có thể trả lời những câu hỏi
như "Ai là khách hàng tốt nhất của chúng tôi cho sản phẩm này năm ngoái ?" hoặc
"Ai có thể trở thành khách hàng tốt nhất của chúng tôi trong năm tới ?". Khả năng
xác định kho dữ liệu theo chủ đề, bán hàng trong trường hợp này, làm chủ kho dữ
liệu theo định hướng [1].


Hình 1.1: Kiến trúc của Kho dữ liệu [1]
Kho dữ liệu được lưu trữ dữ liệu qua nhiều năm để hỗ trợ phân tích. Dữ liệu
trong một kho dữ liệu thường được nạp thông qua việc Extract, Transformation,
Load (ETL) từ nhiều nguồn dữ liệu. Điều quan trọng xác định ETL là một quá trình


3

quan trọng trong thiết kế của một kho dữ liệu. Tương tự, tốc độ và độ tin cậy của
hoạt động ETL là nền tảng của kho dữ liệu khi nó hoạt động.
Các công cụ ETL trích xuất dữ liệu từ các nguồn dữ liệu, cơ sở dữ liệu khác
nhau, có cấu trúc và không có cấu trúc. Tiếp theo làm sạch và phù hợp để đạt được
dữ liệu chính xác, đầy đủ, nhất quán và không mơ hồ. Quá trình này bao gồm dọn
dẹp dữ liệu, chuyển đổi và tích hợp. Sau cùng là tải dữ liệu từ các nguồn dữ liệu đến
về kho dữ liệu.

Hình 1.2: Tổng quan về ETL và Data warehouse [20]
Các nhà phân tích nghiệp vụ kinh doanh tại các công ty lớn, với thị trường
toàn cầu và chuỗi cung ứng rất phức tạp, từ lâu đã tìm kiếm cái nhìn xa hơn vào nhu
cầu của khách hàng bằng cách phân tích, rút trích, sàng lọc dữ liệu từ thông tin thị
trường và các giao dịch kinh doanh để dữ liệu được tinh gọn có giá trị. Ngoài ra, dữ
liệu cần được chuyển tải trong các báo cáo kinh doanh, các diễn đàn thảo luận, các
trang tin tức, báo cáo thời tiết, wiki, tweets, và blog, cũng như giao dịch các dữ liệu
có sẵn, người ra quyết định có thể đánh giá các mối đe dọa cạnh tranh, dự đoán
những thay đổi trong hành vi của khách hàng, tăng cường chuỗi cung ứng, nâng cao
hiệu quả của tiếp thị chiến dịch, và tăng cường sự liên tục kinh doanh.
Một trong những tiến bộ quan trọng nhất của công nghệ trong nhiều năm qua
là Enterprise Resource Planning (ERP), các ứng dụng được xây dựng bao gồm các
chức năng như: quản lý nhân sự, quản lý kho, quản lý kế toán, quản lý sản xuất [4],



4

đã giúp cho các nghiệp vụ kinh doanh phát triển rất rõ rệt đồng nghĩa lợi nhuận của
doanh nghiệp ngày càng cao.
Trên thế giới áp dụng ETL khá phát triển rất mạnh, như:
-

Năm 2016 quản lý cháy rừng ở Indonesia, một trong những chỉ số được sử

dụng phát hiện khả năng cháy rừng là các điểm nóng. Kết hợp vệ tinh và thiết bị
cảm biến để giám sát các điểm nóng từ bầu trời. Tích lũy trong quá trình khai thác,
rút trích, chuyển và load dữ liệu ETL. Thực hiện quá trình tự động cho phép điều
chỉnh việc Insert/Update mà không tạo ra nhiều truy vấn [11].
-

Nghiên cứu ETL phân tích mối quan hệ cơ sở dữ liệu giản đồ sao và chuyển

đổi lược đồ sao thành cấu trúc cây. Cung cấp các quy tắc chuyển đổi từ nguồn đến
kho dữ liệu và cung cấp thêm các quy tắc trích xuất và tải nhằm tạo thuận lợi cho
việc rút ra mối quan hệ giản đồ sao và gia tăng load dữ liệu năm 2012 [12].
-

Năm 2017 một đề xuất cách tiếp cận Parallelization/Distribution mới cho việc

lưu trữ Data Warehouse (DW). Không giống các phương pháp tiếp cận phân phát
ETL chỉ ở mức xử lý thô, phương pháp tiếp cận cung cấp các cách khác nhau về
Parallelization/Distribution cả ở quá trình, chức năng và các mức chức năng cơ bản.
Trong cách tiếp cận này, một quy trình ETL được mô tả dưới dạng các chức năng
chính của nó có thể chạy trên một cụm máy tính theo mô hình MapReduce (MR).

Cách tiếp cận mới này cho phép phân phối quy trình ETL ở ba cấp độ: mức
"process" đối với phân phối hạt thô và hàm "functionality" và "elementary
functions" cho phân phối hạt mịn [13].
Tuy phát triển trong mấy năm gần đây, nhưng Talend là một nhà tiên phong
thế hệ tiếp theo về đám mây và phần mềm tích hợp dữ liệu lớn, giúp các doanh
nghiệp dễ dàng tiếp cận hơn, nâng cao chất lượng, cho phép khách hàng nắm bắt
những đổi mới và quy mô mới để đáp ứng nhu cầu về dữ liệu phát triển của doanh
nghiệp. Trong đó gói công cụ Open Studio for Enterprise Service Bus (ESB) mã
nguồn mở, hỗ trợ tất cả các loại cơ sở dữ liệu, tập tin xls, cvs,…, giúp doanh nghiệp
dễ dàng triển khai và phát triển ứng dụng [6].


5

Với những lý do nêu trên, luận văn chọn đề tài nghiên cứu quy trình ETL
trong kho dữ liệu ứng dụng vào hệ thống ERP dựa trên mã nguồn mở Talend Open
Studio (TOS), Open Studio for Enterprise Service Bus (ESB), cơ sở dữ liệu Oracle
Database Data Warehousing. Xây dựng và phát triển hệ thống áp dụng hệ thống. Đó
cũng là lý do chọn đề tài “ÁP DỤNG ETL TRONG KHO DỮ LIỆU ỨNG
DỤNG VÀO HỆ THỐNG ERP”

1.2 MỤC TIÊU CỦA LUẬN VĂN
Nghiên cứu các tính năng của việc thay đổi thu thập dữ liệu Changing Data
Capture (CDC) trong bước Extraction (E) của ETL. Áp dụng quy trình ETL trong
kho dữ liệu vào hệ thống ERP.

1.3 PHẠM VI VÀ ĐỐI TƯỢNG NGHIÊN CỨU
Đối tượng:
-


Dữ liệu chứng từ thanh toán trong hệ thống ERP.

-

Kho dữ liệu Oracle Data Warehouse (OWB).

-

Quy trình ETL trong kho dữ liệu.

-

Công cụ mã nguồn mở Talend Open Studio (TOS) version 6.x.

Phạm vi:
-

Xây dựng kho dữ liệu Oracle Data Warehouse 11.2.0.3.

-

Thử nghiệm dữ liệu chứng từ thanh toán trong hệ thống ERP, dữ liệu từ
năm 2013 – 2018.

-

Dùng TOS version 6.x xây dựng job chuyển dữ liệu vào kho dữ liệu.

1.4 NỘI DUNG THỰC HIỆN
-


Cài đặt kho dữ liệu Oracle Data Warehouse 11.2.0.3.

-

Tìm hiểu về Extract, Transform, Load (ETL). Nghiên cứu các tính năng
của việc thay đổi thu thập dữ liệu Changing Data Capture (CDC) trong


6

bước Extraction (E) của ETL như: phân vùng dữ liệu, bảng tra cứu, xử lý
song song.
-

Xây dựng quy trình trao đổi dữ liệu bằng công cụ mã nguồn mở Talend
Open Studio (TOS) version 6.x.

-

Job thực thi chuyển dữ liệu vào kho dữ liệu.

-

Thử nghiệm mẫu dữ liệu chứng từ thanh toán trong hệ thống ERP.

1.5 KẾT CẤU LUẬN VĂN
Luận văn gồm có phần mở đầu, phần kết luận và 04 chương:
Chương 1: Tổng quan đề tài
Chương 2: Tổng quan về kho dữ liệu

Chương 3: Tổng quan về ETL trong kho dữ liệu
Chương 4: Xây dựng quy trình trao đổi dữ liệu ETL của hệ thống ERP vào
kho dữ liệu
Chương 5: Kết luận và hướng nghiên cứu tiếp theo


7

CHƯƠNG 2:

TỔNG QUAN VỀ KHO DỮ LIỆU
2.1 KHÁI NIỆM KHO DỮ LIỆU
2.1.1

Khái niệm

Như W. H. Inmon mô tả kho dữ liệu là một bộ sưu tập dữ liệu định hướng
theo chủ đề, tích hợp từ nhiều nguồn khác nhau, không bay hơi, được cập nhật định
kỳ nhằm hỗ trợ quá trình tạo quyết định của người quản lý [2].
2.1.2

Lý do cần phải có kho dữ liệu.

Đối với các tổ chức có lượng dữ liệu ngày càng lớn thì càng khó truy cập và
sử dụng dữ liệu. Nguồn dữ liệu định dạng khác nhau, tồn tại trên nhiều hệ thống cấu
trúc dữ liệu và phát triển bởi các nhà cung cấp khác nhau.
Doanh nghiệp phải viết và duy trì hàng trăm chương trình để trích xuất, chuẩn
bị, hợp nhất dữ liệu để sử dụng cho nhiều chương trình khác nhau dùng để phân
tích, báo cáo khai thác dữ liệu sâu hơn.
Điều này dẫn đến các yêu cầu phát triển chương trình trích xuất mới hơn. Quá

trình này rất tốn kém, không hiệu quả và tốn thời gian. Kho dữ liệu cung cấp một
phương pháp tiếp cận tốt hơn.
Kho dữ liệu thực hiện quá trình truy cập dữ liệu từ các nguồn dữ liệu khác
nhau, không đồng nhất; làm sạch, lọc và chuyển đổi dữ liệu, lưu trữ dữ liệu theo cấu
trúc để dễ dàng truy cập. Dữ liệu sau đó được dùng để truy vấn, báo cáo và phân
tích dữ liệu.
Khối lượng dữ liệu trong kho dữ liệu có thể rất lớn, đặc biệt khi xem xét các
yêu cầu phân tích dữ liệu mang tính lịch sử. Các chương trình phân tích dữ liệu đòi
hỏi phải quét qua khối lượng dữ liệu rất lớn, có thể dẫn đến kết quả không tốt cho
các ứng dụng hoạt động.
Do đó có một yêu cầu tách riêng hai môi trường để giảm thiểu xung đột và sự
xuống cấp của hiệu suất trong môi trường hoạt động.


8

2.2 ĐẶC ĐIỂM KHO DỮ LIỆU
Kho dữ liệu là một cơ sở dữ liệu tích hợp (integrated), chỉ đọc (read only),
dựa theo chủ đề (subject-oriented), thời gian biến đổi (time-variant), không bay hơi
(non-volatile) cung cấp hỗ trợ cho quá trình ra quyết định [2].


Tích hợp integrated: Được xem là đặc tính quan trọng của kho dữ liệu,

dữ liệu đưa vào kho dữ liệu được tập hợp từ nhiều nguồn dữ liệu khác nhau, bao
gồm các RDBMS, flat files, các bảng ghi giao dịch trực tuyến.


Theo chủ đề subject-oriented: kho dữ liệu được sắp xếp và tối ưu hóa để


cung cấp câu trả lời cho những câu hỏi từ các chức năng đa dạng.


Biến đổi theo thời gian time-variant: Kho dữ liệu tập trung vào những

thay đổi theo mốc thời gian, với lượng dữ liệu lớn có tính chất lịch sử có thể tìm ra
những xu hướng và dự kiến trong kinh doanh.


Tính ổn định non-volatile: Dữ liệu trong kho dữ liệu thường không thể

thay đổi. Một khi dữ liệu vào kho dữ liệu, chúng sẽ không bao giờ bị xóa.

Hình 2.1: Tổng quan về kiến trúc chung của một kho dữ liệu [2]
Các đặc tính quan trọng của kho dữ liệu đi kèm với định nghĩa của thuật ngữ
OLAP vào năm 1993 bao gồm những điều sau đây và chúng có thể áp dụng đến
ngày nay [2]:
■ Quan điểm khái niệm đa chiều
■ Kích thước và cấp tập hợp không giới hạn


9

■ Các hoạt động chéo không hạn chế
■ Thao tác xử lý ma trận thưa thớt
■ Kiến trúc máy khách/máy chủ
■ Hỗ trợ đa người dùng
■ Khả năng tiếp cận
■ Tính trong suốt
■ Thao tác dữ liệu trực quan

■ Phân tích quy nạp và suy luận
■ Báo cáo phân phối linh hoạt

2.3 CÁC THÀNH PHẦN KHO DỮ LIỆU
2.3.1

Dữ liệu nguồn – Data sources

Nguồn dữ liệu từ các hệ thống hoạt động kinh doanh như: ERP, CRM, AIS,
HR, …. Chúng được lưu trữ dưới nhiều nền tảng khác nhau. Như Oracle, SQL
Server, Data Access, Flat file, XML file,…
Một số dữ liệu nguồn chính: dữ liệu từ các hệ thống tác nghiệp, hệ thống kế
thừa, các nguồn dữ liệu bên ngoài
2.3.2

Tiến trình ETL - Extract Transform Load

Thực hiện các nhiệm vụ thu thập, chuẩn hóa, làm sạch, trích lọc, tích hợp dữ
liệu và nạp vào kho dữ liệu.
2.3.3

Kho dữ liệu chủ đề - Data Mart

Là nơi lưu trữ các loại dữ liệu và có hai loại: Data mart phụ thuộc (Dependent
Data Marts) và data mart độc lập (Independent Data Marts) [1].


10

2.3.4


OLAP - OnLine Analytics Processing

Xử lý phân tích trực tuyến liên quan tới vấn đề phân tích và xử lý khối lượng
lớn dữ liệu, giúp người quản lý/vận hành đưa ra các chiến lược kinh doanh hợp lý.
2.3.5

Ứng dụng người dùng cuối - Users

Các ứng dụng này giúp người dùng cuối thực hiện truy vấn, tạo ra các báo cáo,
phân tích dữ liệu với mục tiêu hỗ trợ nhu cầu hoạt động kinh doanh của doanh
nghiệp. Trong đó phổ biến nhất là Business Intelligence (BI), Key Performance
Indicator (KPI).
2.3.6

Các thành phần và cấu trúc Oracle Warehouse Builder - OWB

2.3.6.1 Design Center
Trung tâm thiết kế cung cấp giao diện đồ họa để xác định nguồn, thiết kế mục
tiêu, thiết kế ETL và các quá trình chuyển đổi dữ liệu khác. Khi tạo một thiết kế
trong trung tâm thiết kế, chỉ làm việc với các thiết kế logic, chứ không phải các
triển khai thực hiện vật lý [18].
2.3.6.2 Control Center Manager
Control Center Manager là giao diện điều khiển để quản lý triển khai và thực
hiện công việc. Trong quá trình thực hiện, Warehouse Builder chạy mã liên quan
đến việc trích xuất, chuyển đổi và tải dữ liệu [18].
2.3.6.3 Target Schema
Target Schema là giản đồ cần tải dữ liệu và các đối tượng dữ liệu đã thiết kế
tại ở Design Center như hình khối, kích thước, views, và ánh xạ. Target Schema
chứa các thành phần của Warehouse builder, đồng nghĩa cho phép ánh xạ ETL truy

cập vào các gói dịch vụ trong kho lưu trữ [18].
2.3.6.4 Warehouse Builder Repository
Lược đồ kho lưu trữ định nghĩa siêu dữ liệu cho tất cả các nguồn, mục tiêu và
ETL cấu thành thiết kế siêu dữ liệu. Ngoài việc thiết kế chứa siêu dữ liệu, một kho
lưu trữ cũng có thể chứa dữ liệu thời gian được tạo ra bởi Control Center Manager
và Control Center Service [18].


11

2.3.6.5 Repository Browser
Trình duyệt kho lưu trữ là một giao diện trình duyệt web để báo cáo trên kho
lưu trữ. Có thể xem siêu dữ liệu, tạo báo cáo, kiểm tra thời gian hoạt động và thực
hiện phân tích chi tiết [18].
2.3.6.6 Control Center Service
Trung tâm điều khiển dịch vụ là thành phần cho phép đăng ký vị trí. Nó cũng
cho phép triển khai và thực thi ETL logic đã thiết kế trong Design Center như ánh
xạ và quy trình xử lý [18].

2.4 KIẾN TRÚC KHO DỮ LIỆU
2.4.1

Kiến trúc cơ bản - Basic (kiến trúc 1 tầng)

Kiến trúc đơn giản của hệ thống Data Warehouse gồm 3 phần như Hình 2.2

Hình 2.2: Kiến trúc kho dữ liệu cơ bản ( kiến trúc 1 tầng) [1][8]



×