You are on page 1of 29

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT


THÀNH PHỐ HỒ CHÍ MINH

TIỂU LUẬN
MÔN HỌC: ỨNG DỤNG PHÂN TÍCH DỮ LIỆU LỚN
TRONG KINH DOANH

ĐỀ TÀI
“TÌM HIỂU VỀ QUY TRÌNH ETL”

Giảng viên: Lê Thị Minh Châu


Mã lớp học: ABDA433708_23_1_01
SVTH: Nhóm13
1. Nguyễn Thị Tường Vy 21126249
2. Võ Phan Kiều Trinh 21126329
3. Trần Ngọc Quỳnh Giao 21126132
4. Nguyễn Thị Phương Thanh 21126203

Thành phố Hồ Chí Minh, ngày 13 tháng 11 năm 2023


NHẬN XÉT
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………

Ký tên
BẢNG PHÂN CÔNG CÔNG VIỆC

Mức độ hoàn
Họ và tên MSSV Nhiệm vụ
thành

Tổng quan ETL


Trần Ngọc Quỳnh Giao 21126132 100%
Demo Project

Cách thức hoạt động ETL


Nguyễn Thị Phương
21126203 Ứng dụng của ETL trong 100%
Thanh
thực tế

Các kỹ thuật ETL từ cơ bản


Nguyễn Thị Tường Vy 21126249 đến nâng cao 100%
Demo Project

So sánh sự khác biệt giữa


ETL và ELT
Võ Phan Kiều Trinh 21126329 100%
Rút ra ưu, nhược điểm và
hướng phát triển của đề tài

MỤC LỤC
CHƯƠNG 1: TỔNG QUAN..........................................................................................1
1.1.TỔNG QUAN VỀ ETL.........................................................................................1
1.1.1 Định nghĩa.......................................................................................................1
1.1.2 Lịch sử ra đời và phát triển.............................................................................1
1.1.2.1 Lịch sử ra đời...........................................................................................1
1.1.2.2 Sự phát triển của ETL...............................................................................2
1.1.3 Tầm quan trọng của ETL trong kinh doanh....................................................3
1.2. CÁCH THỨC HOẠT ĐỘNG CỦA ETL............................................................4
1.2.1 Trích xuất dữ liệu có liên quan từ cơ sở dữ liệu nguồn - Extract...................4
1.2.2 Chuyển đổi dữ liệu để phù hợp hơn cho việc phân tích - Transform.............5
1.2.3 Tải dữ liệu vào cơ sở dữ liệu đích - Load.......................................................7
1.3. CÁC KỸ THUẬT ETL TỪ CƠ BẢN ĐẾN NÂNG CAO .................................8
1.3.1 Kỹ thuật cơ bản...............................................................................................8
1.3.2 Kỹ thuật nâng cao...........................................................................................8
1.4. ỨNG DỤNG CỦA QUY TRÌNH ETL TRONG THỰC TẾ ..............................9
1.5. SO SÁNH SỰ KHÁC BIỆT GIỮA ETL VÀ ELT ...........................................10
CHƯƠNG 2: DEMO PROJECT..................................................................................13
CHƯƠNG 3: TỔNG KẾT............................................................................................22
3.1 Tóm tắt công việc thực hiện................................................................................22
3.2 Ưu, nhược điểm của project................................................................................22
3.3 Hướng phát triển đề tài........................................................................................22
PHỤ LỤC HÌNH ẢNH.................................................................................................23
PHỤ LỤC BẢNG BIỂU...............................................................................................24
TÀI LIỆU THAM KHẢO............................................................................................25
CHƯƠNG 1: TỔNG QUAN
1.1.TỔNG QUAN VỀ ETL
1.1.1 Định nghĩa
Theo [1], ETL là từ viết tắt của ba từ tiếng Anh Extract – Transform – Load,
tiếng Việt là trích xuất, chuyển đổi và tải.

Hình 1. 1: Quy trình ETL [6]

ETL là quá trình kết hợp dữ liệu từ nhiều nguồn thành một kho lưu trữ lớn
trung tâm được gọi là kho dữ liệu. Theo [1], ETL sử dụng hệ thống các quy tắc kinh
doanh để làm sạch và sắp xếp dữ liệu thô, sau đó chuẩn bị dữ liệu cho quá trình lưu
trữ, phân tích và máy học (Machine Learning). Bạn có thể giải quyết các nhu cầu thu
thập thông tin kinh doanh cụ thể thông qua phân tích dữ liệu (chẳng hạn như dự đoán
kết quả từ các quyết định kinh doanh, tạo báo cáo và bảng thông tin, tăng khả năng
vận hành hiệu quả, v.v.).

1.1.2 Lịch sử ra đời và phát triển


1.1.2.1 Lịch sử ra đời
Theo [1], ETL xuất hiện từ những ngày đầu của máy tính khi các tổ chức bắt
đầu lưu dữ liệu ở dạng điện tử. Tuy nhiên, ở thời điểm này, quá trình được thực hiện
thủ công. Dữ liệu được trích xuất từ một hệ thống và được chuyển đổi, tải thủ công
vào hệ thống khác. Việc làm này diễn ra chậm, dễ xuất hiện lỗi và tốn nhiều tài
nguyên.

1
Vào năm 1970, ETL đã trở thành thuật ngữ được sử dụng phổ biến bởi các tổ
chức có liên quan đến kho dữ liệu, cơ sở dữ liệu. Mục tiêu của các đơn vị là để tiến
hành lưu trữ thông tin kinh doanh đa dạng.
Sau đó, nhu cầu tích hợp dữ liệu trên những cơ sở dữ liệu này đã tăng lên
nhanh chóng. Do đó, ETL đã trở thành phương pháp tiêu chuẩn để thu thập dữ liệu từ
nhiều nguồn và chuyển đổi trước khi được đưa vào nguồn đích.
Đầu năm 1990, kho dữ liệu xuất hiện và dẫn đến sự phát triển của các công cụ
ETL. Mục tiêu là tự động hóa việc trích xuất dữ liệu từ nguồn, chuyển đổi sang định
dạng phù hợp để phân tích và tải vào kho. Những công cụ này thường là ứng dụng độc
lập và làm việc tại chỗ.
Năm 2000, Big Data xuất hiện và nhu cầu xử lý dữ liệu trong thời gian thực đã
thúc đẩy công cụ ETL phát triển mạnh mẽ hơn. Những công cụ này thường được xây
dựng trên Hadoop. Đây là khung nguồn mở để lưu trữ và xử lý dữ liệu lớn có tính
phân tán.
Năm 2007, Cloud – đám mây ra đời cho phép doanh nghiệp thực hiện ETL
theo cách mở rộng và tiết kiệm chi phí hơn. Doanh nghiệp có thể lưu trữ và xử lý khối
dữ liệu lớn trên đám mây mà không cần phần cứng hay phần mềm. Các công cụ ETL
trên đám mây cũng mang đến sự linh hoạt lớn. Doanh nghiệp có thể tăng, giảm tài
nguyên dễ dàng dựa trên nhu cầu.

1.1.2.2 Sự phát triển của ETL


Theo [2], ETL phát triển qua hai giai đoạn sau:
ETL truyền thống
Dữ liệu thô trước đây thường được lưu trữ trong cơ sở dữ liệu giao dịch hỗ trợ
nhiều yêu cầu đọc và ghi nhưng không phù hợp với phân tích. Để khắc phục vấn đề
này, các công cụ ETL đã tự động chuyển đổi dữ liệu giao dịch này thành dữ liệu quan
hệ với các bảng được liên kết với nhau. Các nhà phân tích có thể sử dụng các truy vấn
để xác định mối quan hệ giữa các bảng, ngoài các mẫu và xu hướng.
ETL hiện đại
Khi công nghệ ETL phát triển, cả loại dữ liệu và nguồn dữ liệu đều tăng theo
cấp số nhân. Công nghệ đám mây đã xuất hiện để tạo ra cơ sở dữ liệu rộng lớn (còn
gọi là bộ góp dữ liệu). Các bộ góp dữ liệu như vậy có thể nhận dữ liệu từ nhiều nguồn

2
và có các tài nguyên phần cứng cơ sở có khả năng mở rộng theo thời gian. Các công
cụ ETL cũng trở nên tinh vi hơn và có thể hoạt động với các bộ góp dữ liệu hiện đại:
kho dữ liệu, hồ dữ liệu
Kho dữ liệu là kho lưu trữ trung tâm có thể lưu trữ nhiều cơ sở dữ liệu. Trong
mỗi cơ sở dữ liệu, bạn có thể sắp xếp dữ liệu của mình thành các bảng và cột mô tả
loại dữ liệu trong bảng. Phần mềm kho dữ liệu hoạt động trên nhiều loại phần cứng
lưu trữ, chẳng hạn như ổ cứng thể rắn (SSD), ổ cứng và lưu trữ đám mây khác, để tối
ưu hóa việc xử lý dữ liệu của bạn.
Hồ dữ liệu, bạn có thể lưu trữ toàn bộ dữ liệu có cấu trúc và không có cấu trúc
tại một kho tập trung ở bất kỳ quy mô nào. Hồ dữ liệu cho phép bạn sử dụng nhiều
loại phân tích khác nhau trên dữ liệu của bạn như truy vấn SQL, phân tích dữ liệu lớn,
tìm kiếm toàn văn bản, phân tích thời gian thực và máy học (ML) để định hướng các
quyết định tốt hơn.

1.1.3 Tầm quan trọng của ETL trong kinh doanh


Theo [2], ETL giúp cải thiện việc thu thập và phân tích thông tin kinh doanh
bằng cách làm cho quy trình trở nên đáng tin cậy, chính xác, chi tiết và hiệu quả hơn.
Bối cảnh lịch sử
ETL giúp đưa ra bối cảnh lịch sử có chiều sâu về dữ liệu của tổ chức. Doanh
nghiệp có thể kết hợp dữ liệu cũ với dữ liệu từ các nền tảng và ứng dụng mới. Bạn có
thể xem các tập dữ liệu cũ hơn song song với thông tin mới hơn, điều này giúp bạn có
cái nhìn dài hạn về dữ liệu.
Chế độ xem dữ liệu hợp nhất
ETL cung cấp một chế độ xem dữ liệu hợp nhất để phân tích và báo cáo chuyên
sâu. Việc quản lý nhiều tập dữ liệu đòi hỏi thời gian và sự phối hợp, và có thể dẫn đến
tình trạng kém hiệu quả và chậm trễ. ETL kết hợp cơ sở dữ liệu và các dạng dữ liệu
khác nhau thành một chế độ xem thống nhất, duy nhất. Quá trình tích hợp dữ liệu cải
thiện chất lượng dữ liệu và tiết kiệm thời gian cần thiết để di chuyển, phân loại hoặc
chuẩn hóa dữ liệu. Điều này giúp dễ dàng phân tích, hình dung và hiểu các tập dữ liệu
lớn.
Phân tích dữ liệu chính xác

3
ETL cung cấp tính năng phân tích dữ liệu chính xác hơn để đáp ứng các tiêu
chuẩn về tuân thủ và theo quy định. Bạn có thể tích hợp các công cụ ETL với các công
cụ kiểm soát chất lượng dữ liệu để lập hồ sơ, kiểm tra và làm sạch dữ liệu, đảm bảo
rằng dữ liệu là đáng tin cậy.
Tự động hóa tác vụ
ETL tự động hóa các tác vụ xử lý dữ liệu có thể lặp lại nhằm giúp phân tích
hiệu quả hơn. Các công cụ ETL tự động hóa quá trình di chuyển dữ liệu và bạn có thể
thiết lập chúng để tích hợp các thay đổi dữ liệu theo định kỳ hoặc thậm chí trong thời
gian chạy. Do đó, các kỹ sư dữ liệu có thể dành nhiều thời gian hơn để sáng tạo và ít
thời gian hơn trong việc quản lý các công việc tẻ nhạt như di chuyển và định dạng dữ
liệu.

1.2. CÁCH THỨC HOẠT ĐỘNG CỦA ETL


Theo [2], quy trình ETL hoạt động theo ba bước:
1. Trích xuất dữ liệu có liên quan từ cơ sở dữ liệu nguồn
2. Chuyển đổi dữ liệu để phù hợp hơn cho việc phân tích
3. Tải dữ liệu vào cơ sở dữ liệu đích

Hình 1. 2: Tổng quan cách thức hoạt động của ETL [2]

1.2.1 Trích xuất dữ liệu có liên quan từ cơ sở dữ liệu nguồn - Extract


Theo [2], Trong quá trình trích xuất dữ liệu, các công cụ trích xuất, chuyển đổi
và tải (ETL) sẽ trích xuất hoặc sao chép dữ liệu thô từ nhiều nguồn và lưu trữ chúng
trong một khu vực lưu đệm. Khu vực lưu đệm (hay còn gọi là vùng đích) là khu vực
lưu trữ trung gian để lưu tạm thời dữ liệu đã trích xuất. Các khu vực lưu đệm dữ liệu

4
thường mang tính tạm thời, có nghĩa là nội dung của chúng sẽ bị xóa sau khi quá trình
trích xuất dữ liệu hoàn tất. Tuy nhiên, khu vực lưu đệm cũng có thể giữ lại một kho
lưu trữ dữ liệu nhằm mục đích khắc phục sự cố.

Tần suất hệ thống gửi dữ liệu từ nguồn dữ liệu đến kho dữ liệu đích phụ thuộc
vào cơ chế cơ sở về thu thập thay đổi dữ liệu. Việc trích xuất dữ liệu thường diễn ra
theo một trong ba cách sau.
Thông báo cập nhật
Trong quá trình thông báo cập nhật, hệ thống nguồn sẽ thông báo cho bạn khi
bản ghi dữ liệu thay đổi. Sau đó, bạn có thể chạy quá trình trích xuất đối với thay đổi
đó. Hầu hết các cơ sở dữ liệu và ứng dụng web đều cung cấp các cơ chế cập nhật để
hỗ trợ phương pháp tích hợp dữ liệu này.
Trích xuất tăng dần
Một số nguồn dữ liệu không thể gửi thông báo cập nhật nhưng có thể xác định
và trích xuất dữ liệu đã được sửa đổi trong một khoảng thời gian nhất định. Trong
trường hợp này, hệ thống kiểm tra các thay đổi theo định kỳ, chẳng hạn như mỗi tuần
một lần, mỗi tháng một lần hoặc khi kết thúc chiến dịch. Bạn chỉ cần trích xuất dữ liệu
đã thay đổi.
Trích xuất hoàn toàn
Một số hệ thống không thể xác định các thay đổi dữ liệu hoặc gửi thông báo,
do đó, tải lại tất cả dữ liệu là lựa chọn duy nhất. Phương pháp trích xuất này yêu cầu
bạn giữ một bản sao của lần trích xuất cuối cùng để kiểm tra xem bản ghi nào là bản
ghi mới. Bởi vì cách tiếp cận này có khối lượng truyền dữ liệu cao, chúng tôi khuyên
bạn chỉ nên sử dụng cách này cho các bảng nhỏ.

1.2.2 Chuyển đổi dữ liệu để phù hợp hơn cho việc phân tích - Transform
Theo [2], trong chuyển đổi dữ liệu, các công cụ trích xuất, chuyển đổi và tải
(ETL) sẽ chuyển đổi và hợp nhất dữ liệu thô trong khu vực lưu đệm để chuẩn bị cho
kho dữ liệu đích. Giai đoạn chuyển đổi dữ liệu có thể liên quan đến các loại thay đổi
dữ liệu sau đây.
Chuyển đổi dữ liệu cơ bản

5
Các chuyển đổi cơ bản cải thiện chất lượng dữ liệu bằng cách loại bỏ lỗi, làm
trống trường dữ liệu hoặc đơn giản hóa dữ liệu. Sau đây là các ví dụ về các chuyển đổi
này.
Làm sạch dữ liệu
Làm sạch dữ liệu là việc loại bỏ các lỗi và ánh xạ dữ liệu nguồn sang định dạng
dữ liệu đích. Ví dụ: bạn có thể ánh xạ các trường dữ liệu trống thành số 0, ánh xạ giá
trị dữ liệu “Parent” thành “P” hoặc ánh xạ “Child” thành “C.”
Chống trùng lặp dữ liệu
Chống trùng lặp trong quá trình làm sạch dữ liệu là việc xác định và loại bỏ các
bản ghi trùng lặp.
Sửa đổi định dạng dữ liệu
Sửa đổi định dạng là việc chuyển đổi dữ liệu, chẳng hạn như bộ ký tự, đơn vị
đo lường và giá trị ngày/giờ, thành một định dạng nhất quán. Ví dụ: một công ty thực
phẩm có thể có các cơ sở dữ liệu công thức khác nhau với các thành phần được đo
bằng cả kilogam lẫn cân Anh. ETL sẽ chuyển đổi mọi đơn vị sang cân Anh.
Chuyển đổi dữ liệu nâng cao
Chuyển đổi nâng cao là việc sử dụng các quy tắc kinh doanh để tối ưu hóa dữ
liệu nhằm phân tích dễ dàng hơn. Sau đây là các ví dụ về các chuyển đổi này.
Dẫn xuất
Dẫn xuất là việc áp dụng các quy tắc kinh doanh vào dữ liệu của bạn để tính
toán các giá trị mới dựa trên các giá trị hiện có. Ví dụ: bạn có thể chuyển đổi doanh
thu thành lợi nhuận bằng cách trừ đi chi phí hoặc tính tổng chi phí mua hàng bằng
cách nhân giá của từng mặt hàng với số lượng mặt hàng đã đặt hàng.
Gộp ghép
Trong quá trình chuẩn bị dữ liệu, gộp ghép là việc liên kết các dữ liệu giống
nhau từ các nguồn dữ liệu khác nhau. Ví dụ: bạn có thể tính tổng chi phí mua một mặt
hàng bằng cách cộng giá trị mua hàng từ các nhà cung cấp khác nhau và chỉ giữ lại
tổng cuối trong hệ thống đích.
Chia tách

6
Bạn có thể chia một cột hoặc một thuộc tính dữ liệu thành nhiều cột trong hệ
thống đích. Ví dụ: nếu nguồn dữ liệu lưu tên khách hàng là “Jane John Doe”, bạn có
thể chia nó thành các cột họ, tên đệm và tên.
Tổng hợp
Tổng hợp là việc cải thiện chất lượng dữ liệu bằng cách giảm một số lượng lớn
các giá trị dữ liệu thành một tập dữ liệu nhỏ hơn. Ví dụ: giá trị hóa đơn của đơn đặt
hàng khách hàng có thể chứa nhiều số tiền nhỏ khác nhau. Bạn có thể tóm tắt dữ liệu
bằng cách cộng gộp giá trị trong một khoảng thời gian nhất định để xây dựng chỉ số
giá trị lâu dài của khách hàng (CLV).
Mã hóa
Bạn có thể bảo vệ dữ liệu nhạy cảm để đảm bảo tuân thủ luật dữ liệu hoặc
quyền riêng tư của dữ liệu bằng cách thêm mã hóa trước khi luồng dữ liệu được
truyền đến cơ sở dữ liệu đích.

1.2.3 Tải dữ liệu vào cơ sở dữ liệu đích - Load


Theo [2], Trong quá trình tải dữ liệu, các công cụ trích xuất, chuyển đổi và tải
(ETL) di chuyển dữ liệu đã chuyển đổi từ khu vực lưu đệm vào kho dữ liệu đích. Đối
với hầu hết các tổ chức sử dụng ETL, quy trình này được tự động hóa, được xác định
rõ ràng, liên tục và theo hàng loạt. Sau đây là hai phương pháp để tải dữ liệu.
Tải hoàn toàn
Ở chế độ tải hoàn toàn, toàn bộ dữ liệu từ nguồn được chuyển đổi và chuyển
đến kho dữ liệu. Quá trình tải hoàn toàn thường diễn ra vào lần đầu tiên bạn tải dữ liệu
từ hệ thống nguồn vào kho dữ liệu.
Tải tăng dần
Đối với tải tăng dần, công cụ ETL tải delta (hoặc chênh lệch) giữa hệ thống
đích và nguồn theo những khoảng thời gian đều đặn. Công cụ này sẽ lưu lại ngày trích
xuất cuối cùng nhằm đảm bảo rằng chỉ tải các bản ghi được thêm vào sau ngày này.
Có hai cách để thực hiện tải tăng dần.
Tải tăng dần theo luồng
Nếu bạn có khối lượng dữ liệu nhỏ, bạn có thể truyền các thay đổi liên tục qua
đường ống dữ liệu tới kho dữ liệu đích. Khi tốc độ dữ liệu tăng lên hàng triệu sự kiện

7
mỗi giây, bạn có thể sử dụng xử lý luồng sự kiện để theo dõi và xử lý luồng dữ liệu
nhằm đưa ra quyết định kịp thời hơn.
Tải gia tăng theo hàng loạt
Nếu bạn có khối lượng dữ liệu lớn, bạn có thể thu thập các thay đổi dữ liệu tải
thành từng loạt theo định kỳ. Trong khoảng thời gian định kỳ này, không có hành
động nào có thể xảy ra với hệ thống nguồn hoặc hệ thống đích khi dữ liệu được đồng
bộ hóa.

1.3. CÁC KỸ THUẬT ETL TỪ CƠ BẢN ĐẾN NÂNG CAO


1.3.1 Kỹ thuật cơ bản
Theo [5], Phân loại dữ liệu (Data Profiling): Trước khi thực hiện bất kỳ công
việc ETL nào, việc hiểu rõ về dữ liệu bạn đang làm việc là rất quan trọng. Phân loại
dữ liệu bao gồm việc kiểm tra chất lượng dữ liệu, khám phá cấu trúc dữ liệu và tìm
hiểu mối liên hệ giữa các bảng, cột và giá trị.
Làm sạch dữ liệu (Data Cleaning): Trong quy trình chuyển đổi, dữ liệu
thường được làm sạch để loại bỏ giá trị bị lỗi, bị thiếu hoặc không hợp lệ. Ví dụ, một
dữ liệu thống kê mô tả về tuổi của khách hàng có thể bị làm sạch bằng cách thay thế
các giá trị tuổi không hợp lệ (như "-1" hoặc "999") bằng tuổi trung bình của toàn bộ
dữ liệu.
Định dạng dữ liệu (Data Formatting): Dữ liệu thường được định dạng lại để
phù hợp với yêu cầu của hệ thống mục tiêu. Ví dụ, một công ty có thể muốn định dạng
lại ngày tháng từ dạng "Ngày-Tháng-Năm" thành "Năm-Tháng-Ngày" để phù hợp với
cơ sở dữ liệu mục tiêu.

1.3.2 Kỹ thuật nâng cao


Theo [5], Tự động hóa ETL (ETL Automation): Trong một số trường hợp,
quy trình ETL cần phải được thực hiện định kỳ, ví dụ hàng ngày hoặc hàng tuần.
Trong trường hợp này, việc tự động hóa quá trình ETL là rất quan trọng, giúp tiết
kiệm thời gian và công sức.
Xử lý dữ liệu lớn (Big Data Processing): Với sự bùng nổ dữ liệu, việc xử lý dữ
liệu lớn là một nhu cầu không thể thiếu trong quy trình ETL. Điều này đòi hỏi sự áp

8
dụng của các công nghệ như Hadoop hoặc Spark, cũng như việc sử dụng các kỹ thuật
phân tách dữ liệu (data partitioning) và song song hóa (parallelism).
ETL Real-Time: Trong một số ngữ cảnh, dữ liệu cần được xử lý ngay lập tức
sau khi nó được tạo ra. Đây được gọi là xử lý dữ liệu theo thời gian thực (Real-Time
ETL). Điều này đòi hỏi sự áp dụng của các công nghệ như Apache Kafka, Amazon
Kinesis, hoặc Google Cloud Pub/Sub, những công nghệ cho phép xử lý dữ liệu
streaming.
Sử dụng AI và Machine Learning: Một số công cụ ETL hiện đại có thể sử
dụng AI và Machine Learning để cải thiện chất lượng dữ liệu, phân loại dữ liệu, và tự
động hóa quy trình ETL. Ví dụ, AI có thể được sử dụng để nhận dạng và loại bỏ các
giá trị bất thường trong dữ liệu, còn Machine Learning có thể được sử dụng để dự
đoán giá trị bị thiếu dựa trên các giá trị khác trong dữ liệu.

1.4. ỨNG DỤNG CỦA QUY TRÌNH ETL TRONG THỰC TẾ


Theo [5], Kho dữ liệu (Data Warehousing): Quy trình ETL là một phần trung
tâm của việc xây dựng và duy trì kho dữ liệu. Dữ liệu từ nhiều nguồn khác nhau được
rút trích, chuyển đổi để phù hợp với mô hình dữ liệu của kho dữ liệu và sau đó được
tải lên kho dữ liệu. Kho dữ liệu sau đó cung cấp cấu trúc để phân tích dữ liệu và tạo
báo cáo.
Khoa học dữ liệu (Data Science) và Học máy (Machine Learning): Trong các
dự án khoa học dữ liệu và học máy, dữ liệu thường cần phải được làm sạch, chuẩn bị,
và chuyển đổi trước khi có thể sử dụng. ETL là một công cụ quan trọng trong việc tiền
xử lý dữ liệu và chuyển đổi nó thành định dạng mà các mô hình học máy có thể xử lý.
Hệ thống quyết định (Decision Support Systems): Quy trình ETL được sử
dụng để tải dữ liệu vào các hệ thống quyết định, nơi dữ liệu được sắp xếp và tổ chức
dễ hiểu để giúp những người làm ra các quyết định.
Quảng cáo hướng dữ liệu (Data-Driven Advertising): Doanh nghiệp quảng
cáo sử dụng quy trình ETL để thu thập dữ liệu từ nhiều nguồn (như dữ liệu từ khách
hàng, dữ liệu từ các cuộc chiến dịch quảng cáo, vv) và chuyển nó vào một dạng mà họ
có thể sử dụng để phân tích hiệu suất và tối ưu hóa các chiến dịch quảng cáo.
Ngành dịch vụ tài chính: Các ngân hàng và các tổ chức tài chính khác sử dụng
quy trình ETL để trích xuất dữ liệu từ các hệ thống nguồn phức tạp, chuyển đổi nó

9
thành một định dạng chuẩn và sau đó tải nó vào các hệ thống phân tích để phân tích
rủi ro, phát hiện gian lận, và tối ưu hóa hoạt động.
Y tế: Trong ngành y tế, quy trình ETL có thể được sử dụng để tập hợp dữ liệu
từ nhiều nguồn, như hồ sơ bệnh án điện tử, hệ thống quản lý lịch bệnh án, và hệ thống
lập lịch, thành một kho dữ liệu đơn nhất. Dữ liệu này sau đó có thể được phân tích để
cải thiện chất lượng dịch vụ y tế, theo dõi tình hình dịch bệnh, hoặc tìm hiểu về hiệu
quả của các phương pháp điều trị khác nhau.
Bán lẻ và E-commerce: Các doanh nghiệp bán lẻ và E-commerce sử dụng quy
trình ETL để kết hợp dữ liệu từ nhiều nguồn, bao gồm dữ liệu bán hàng, dữ liệu về
hành vi khách hàng, và dữ liệu về sản phẩm, vào một kho dữ liệu. Điều này cho phép
họ phân tích hành vi mua sắm, dự đoán xu hướng tiếp theo, và tùy chỉnh trải nghiệm
mua sắm của khách hàng.
Quản lý chuỗi cung ứng: Quy trình ETL giúp các công ty thu thập dữ liệu từ
nhiều nguồn khác nhau về hoạt động chuỗi cung ứng, chẳng hạn như hệ thống quản lý
kho, hệ thống quản lý vận chuyển, và hệ thống quản lý đơn hàng. Sau khi dữ liệu này
được rút trích, chuyển đổi, và tải lên, nó có thể được sử dụng để phân tích hiệu suất
chuỗi cung ứng, dự đoán nhu cầu, và tối ưu hóa các hoạt động chuỗi cung ứng.

1.5. SO SÁNH SỰ KHÁC BIỆT GIỮA ETL VÀ ELT

Hình 1. 3: Quy trình hoạt động của ETL và ELT [4]

Theo [4], so sánh ETL và ELT theo từng đặc trưng sau

ETL ELT

Viết tắt của Trích xuất, chuyển đổi, tải Trích xuất, tải, chuyển đổi

10
Quy trình Lấy dữ liệu thô và chuyển Lấy dữ liệu thô, tải dữ liệu
đổi dữ liệu thô thành một thô vào kho dữ liệu mục tiêu,
định dạng đã xác định sau đó chuyển đổi dữ liệu thô
trước, sau đó tải vào kho dữ ngay trước khi phân tích.
liệu mục tiêu.

Vị trí chuyển đổi và Quá trình chuyển đổi diễn Quá trình chuyển đổi diễn ra
tải ra trong một máy chủ xử lý trong kho dữ liệu mục tiêu.
thứ cấp.

Tính khả dụng của dữ ETL chỉ chuyển đổi và tải ELT có thể tải tất cả dữ liệu
liệu trong hệ thống dữ liệu mà người dùng cho ngay lập tức và người dùng
là cần thiết. có thể xác định dữ liệu nào
cần chuyển đổi và phân tích
sau đó.

Khả năng hỗ trợ kho Hoạt động với các kho dữ Làm việc với các giải pháp
dữ liệu liệu tại chỗ hoặc trên đám lưu trữ dữ liệu trên đám mây,
mây, yêu cầu định dạng dữ hỗ trợ các kiểu dữ liệu có cấu
liệu quan hệ hoặc có cấu trúc, bán cấu trúc, phi cấu
trúc. trúc và thô.

Quy mô dữ liệu Phù hợp nhất xử lý các tập Tốt nhất khi xử lý một lượng
dữ liệu nhỏ và yêu cầu các lớn dữ liệu có cấu trúc và phi
phép biến đổi phức tạp. cấu trúc.

Tốc độ ETL chậm hơn ELT. ELT nhanh hơn ETL vì nó có


thể sử dụng các tài nguyên
nội bộ của kho dữ liệu.

Độ phức tạp ban đầu Ở giai đoạn đầu thực hiện Khó hơn vì cần phải có
rất dễ dàng. những kiến thức rất sâu về
các tools và kỹ năng chuyên
môn.

11
Chi phí Có thể cần nhiều thời gian Tiết kiệm chi phí hơn, tuỳ
và chi phí để thiết lập, tùy thuộc vào cơ sở hạ tầng ELT
thuộc vào các công cụ ETL được sử dụng.
được sử dụng.

Bảo mật Có thể cần phải xây dựng Có thể sử dụng các tính năng
các ứng dụng tùy chỉnh để tích hợp sẵn của cơ sở dữ
đáp ứng các yêu cầu bảo vệ liệu mục tiêu để quản lý việc
dữ liệu. bảo vệ dữ liệu.

Bảng 1. 1: so sánh ETL và ELT

Trong một số trường hợp, người dùng có thể sử dụng cả hai phương pháp ETL
và ELT trong quá trình tích hợp dữ liệu, tùy thuộc vào yêu cầu và cấu trúc dữ liệu ban
đầu. Ví dụ, có thể sử dụng ETL để chuyển đổi dữ liệu từ nhiều nguồn khác nhau và
lưu trữ trong một kho dữ liệu tạm thời, rồi sử dụng ELT để chuyển đổi dữ liệu từ kho
dữ liệu tạm thời và lưu trữ trong hệ thống lưu trữ cuối cùng.

12
CHƯƠNG 2: DEMO PROJECT
Đề tài: Trích xuất, chuyển đổi và tải dữ liệu để phân tích dữ liệu tình trạng giao hàng.
Dataset: Sample - Superstore.csv
Các bước tiến hành:
Đầu tiên tạo một Data Flow Task

Hình 2. 1: Tạo Data Flow Task

Trong Data Flow Task, tiến hành các bước như sau:
Bước 1: Trích xuất (Extract):
Kết nối file Sample - Superstore.csv sau đó trích xuất sheet Orders

13
Hình 2. 2: Chọn sheet Orders trong Sample - Superstore.csv

Hình 2. 3: Show các columns trong sheet Orders

Bước 2: Chuyển đổi (Transform) (Derived): columns


● Days To Ship Schedule
Trích xuất cột mới có tên DaysToShipSchedule
Điều kiện: Cấu trúc của lệnh điều kiện trong SSIS:
LogicalExpression?True_Value:False_Value

14
[Ship Mode] == "Same Day" ? 0 : [Ship Mode] == "First Class" ? 1 : [Ship Mode] ==
"Second Class" ? 3 : 6
Giải thích: Có 4 gói cước giao hàng: Same Day, First Class, Second Class và Standard
Class.

Ship mode Số ngày

Same Day 0

First Class 1

Second Class 3

Standard Class. 6

Bảng 2. 1: Số ngày giao hàng của từng gói cước

Cột DaysToShipSchedule sẽ thể hiện được số ngày giao hàng theo từng Ship Mode.

Hình 2. 4: Trích xuất cột mới có tên DaysToShipSchedule

● Days To Ship Actual


Trích xuất cột mới có tên DaysToShipActual
Điều kiện: DATEDIFF("day",[Order Date],[Ship Date])

15
Giải thích: Để tính toán số ngày giao hàng thực tế khi lấy Ship Date trừ đi Order Date

Hình 2. 5: Trích xuất cột mới có tên DaysToShipActual

● Shipping Status
Trích xuất cột mới có tên ShippingStatus.
Điều kiện: DaysToShipActual > DaytoShipSchedule ? "Shipped Late" :
DaysToShipActual == DaytoShipSchedule ? "Shipped On Time" : "Shipped Early"

Giải thích: Đưa ra tình trạng giao hàng. Nếu ngày giao hàng thực tế > ngày giao hàng
theo kế hoạch thì sẽ hiện “Shipped Late”, nếu bằng với ngày giao hàng theo kế hoạch
thì sẽ là “Shipped On Time”, còn lại là “Shipped Early”.

16
Hình 2. 6: Trích xuất cột mới có tên ShippingStatus

Tải dữ liệu (Load): Database/ShippingStatus/Tables

Hình 2. 7: Tạo một server bên máy SQL server

17
Hình 2. 8: Kết nối dữ liệu tới SQL Server

Hình 2. 9: Chọn columns cần thiết để xuất ra trong bảng kết quả

18
Hình 2. 10: Đặt tên cho bảng kết quả

Hình 2. 11: Kiểm tra các cột liên kết với nhau

19
Hình 2. 12: Thực thi nhiệm vụ

Hình 2. 13: Các data flow đã sẵn sàng để chạy

20
Hình 2. 14: Xuất kết quả ra 1000 hàng trong Databases/ShippingStatus ở SQL Server

Hình 2. 15: Kết quả cuối cùng

21
CHƯƠNG 3: TỔNG KẾT
3.1 Tóm tắt công việc thực hiện
Đầu tiên để thực hiện được project, cần phải cài đặt SQL Server và Microsoft
Visual Studio. Sau đó cần phải tìm kiếm một tập dữ liệu phù hợp. Khi đã có đủ các
điều kiện cơ bản thì nhóm tiến hành thực hiện project qua 3 bước chính là Extract,
Transform và Load. Cuối cùng kết quả sẽ được xuất ra trong Databases của SQL
server.

3.2 Ưu, nhược điểm của project

Ưu điểm Nhược điểm


- Linh hoạt: hỗ trợ tích hợp hợp dữ liệu - SSIS chỉ hỗ trợ cho hệ điều hành
từ nhiều nguồn khác nhau như databases, Window.
flat files, Excel, XML,.. - Thiếu các tùy chọn tích hợp: Việc chỉ
- Dễ sử dụng: Việc kết nối giao diện hỗ trợ hệ điều hành Windows gây khó
người dùng với cấu hình SSIS vô cùng khăn trong việc tích hợp SSIS với các
đơn giản. Nếu bạn không hiểu rõ về cấu công cụ thuộc các hệ điều hành khác.
trúc, bạn có thể kiểm tra thông qua
Package Explorer.
- Tạo tài liệu: một số tính năng cho phép
tạo dữ liệu mới khi chuyển đổi dữ liệu
ban đầu.

3.3 Hướng phát triển đề tài


Mở rộng phạm vi phân tích: Dự án có thể được mở rộng để bao gồm nhiều dữ liệu
hơn, chẳng hạn như dữ liệu về khách hàng, sản phẩm, nhà cung cấp, v.v. Điều này sẽ
giúp doanh nghiệp có được bức tranh toàn diện hơn về tình trạng giao hàng của mình.

22
PHỤ LỤC HÌNH ẢNH
Hình 1. 1: Quy trình ETL [6]..........................................................................................1
Hình 1. 2: Tổng quan cách thức hoạt động của ETL [2]................................................4
Hình 1. 3: Quy trình hoạt động của ETL và ELT [4]...................................................10

Hình 2. 1: Tạo Data Flow Task....................................................................................13


Hình 2. 2: Chọn sheet Orders trong Sample - Superstore.csv......................................14
Hình 2. 3: Show các columns trong sheet Orders.........................................................14
Hình 2. 4: Trích xuất cột mới có tên DaysToShipSchedule.........................................15
Hình 2. 5: Trích xuất cột mới có tên DaysToShipActual.............................................16
Hình 2. 6: Trích xuất cột mới có tên ShippingStatus....................................................17
Hình 2. 7: Tạo một server bên máy SQL server...........................................................17
Hình 2. 8: Kết nối dữ liệu tới SQL Server....................................................................18
Hình 2. 9: Chọn columns cần thiết để xuất ra trong bảng kết quả................................18
Hình 2. 10: Đặt tên cho bảng kết quả...........................................................................19
Hình 2. 11: Kiểm tra các cột liên kết với nhau.............................................................19
Hình 2. 12: Thực thi nhiệm vụ......................................................................................20
Hình 2. 13: Các data flow đã sẵn sàng để chạy............................................................20
Hình 2. 14: Xuất kết quả ra 1000 hàng trong Databases/ShippingStatus ở SQL Server
......................................................................................................................................21
Hình 2. 15: Kết quả cuối cùng......................................................................................21

23
PHỤ LỤC BẢNG BIỂU
Bảng 1. 1: so sánh ETL và ELT...................................................................................12

Bảng 2. 1: Số ngày giao hàng của từng gói cước.........................................................15

24
TÀI LIỆU THAM KHẢO
[1] Mastering Data Analytics, ETL là gì? Tìm hiểu chi tiết về quy trình ETL trong
phân tích dữ liệu, truy cập ngày 1/11/2023 tại:
https://mastering-da.com/etl-la-gi/
[2] aws, ETL(Trích xuất, chuyển đổi, tải) là gì?, truy cập ngày 2/11/2023 tại:
https://aws.amazon.com/vi/what-is/etl/?nc1=f_ls
[3] FPT Cloud (10/3/2022), ETL là gì? Cách thức hoạt động và tầm quan trọng của
ETL, truy cập ngày 2/11/2023 tại:
https://fptcloud.com/etl/
[4] aws, ETL và ELT khác nhau ở điểm nào?, truy cập ngày 3/11/2023 tại:
https://aws.amazon.com/vi/compare/the-difference-between-etl-and-elt/
https://a1digihub.com/elt-la-gi/#:~:text=S%E1%BB%B1%20kh%C3%A1c%20nhau
%20gi%E1%BB%AFa%20ETL,%C4%91%C6%B0%E1%BB%A3c
%20%C4%91%C6%B0a%20%C4%91%E1%BA%BFn%20data%20warehouse.
https://product.vinbigdata.org/duong-dan-du-lieu-etl-va-elt-dau-la-khac-biet-co-ban/
[5] Viblo.asia, Tìm hiểu về quy trình ETL (Extract, Transform, Load) và cách chúng
được áp dụng trong thực tế, truy cập ngày 3/11/2023 tại:
https://viblo.asia/p/tim-hieu-ve-quy-trinh-etl-extract-transform-load-va-cach-chung-
duoc-ap-dung-trong-thuc-te-38X4EPYXVN2
[6] Data Chanel, What is ETL And How the ETL process works, truy cập ngày
11/11/2023 tại:
https://www.datachannel.co/blogs/what-is-etl-and-how-the-etl-process-works
[7] Community.Tableau (2022), Sample - Superstore Sales (Excel).xls, ngày truy cập
8/11/2023, tại:
https://community.tableau.com/s/question/0D54T00000CWeX8SAL/sample-
superstore-sales-excelxls

25

You might also like