ETL hỗ trợ quá trình thu thập dữ liệu từ đa dạng các nguồn, xử lý và lưu trữ vào một cơ sở dữ liệu tập trung.. Một - hệ thống ETL được thiết kế cho việc trích xuất dữ liệu từ các hệ thốn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ
BÁO CÁO ĐỒ ÁN MÔN HỌC
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI: NGHIÊN CỨU VỀ ETL
Giảng Viên Hướng Dẫn: ThS Hồ Thị Thanh Tuyến
Nhóm Sinh Viên: Nhóm 1
1 Đặng Thị Đông Thùy 31221021835-
2 Đồng Gia Hân 31221022747-
3 Nguyễn Thị Ngọc Trúc - 31221022771
4 Nguyễn Mai Anh - 31221024988
Mã lớp học phần: 24D1INF50901802
TP Hồ Chí Minh, Ngày 26 tháng 01 năm 202 4
Trang 2MỤ C L ỤC
I GIỚI THIỆU 1
II NỘI DUNG 2
1 Khái niệm ETL 2
2 Quá trình phát triển ETL 2
2.1 Truyền thống 2
2.2 Hiện đại: 3
3 Lợi ích của ETL 3
4 Cách thức hoạt động 4
4.1 Giai đoạn trích xuất - Extract 4
4.2 Giai đoạn chuyển đổi - Transform 5
4.3 Giai đoạn Tải - Load 6
4.4 Ví dụ quy trình ETL 7
5 Đối với doanh nghiệp 8
5.1 Tầm quan trọng 8
5.2 Thách thức 9
5.3 Đề xuất giải pháp 9
6 Các công cụ ETL 10
7 ETL v i ELT ớ 11
7.1 So sánh 11
7.2 Khi nào nên sử dụ ng ETL hay ELT 11
III TÀI LI U THAM KH Ệ ẢO 13
Trang 3I GIỚI THIỆU
Trong thời đại công nghệ thông tin phát triển như hiện tại, dữ liệu trở thành một tài nguyên vô cùng quý giá Dữ liệu được sử dụng trong hầu hết các lĩnh vực như kinh doanh, y tế, giáo dục, sản xuất, Dữ liệu hỗ trợ tổ chức trong phân tích và đưa ra các quyết định sáng suốt, từ đó cải thiện hiệu quả hoạt động và gia tăng lợi nhuận
Để khai thác dữ liệu một cách hiệu quả và nhanh chóng, rất cần một hệ thống giúp thực hiện các hoạt động thu thập, xử lý khai thác và lưu trữ dữ liệu một cách hiệu quả
Một hệ thống phổ biến và là một trong những hệ thống quan trọng nhất trong trong việc quản lý dữ liệu là ETL ETL hỗ trợ quá trình thu thập dữ liệu từ đa dạng các nguồn, xử lý và lưu trữ vào một cơ sở dữ liệu tập trung
Việc hiểu và áp dụng đúng ETL là một yếu tố quan trọng trong việc đảm bảo chất lượng và hiệu quả trong quá trình xử lý dữ liệu
Trang 4II NỘI DUNG
1 Khái niệm ETL
- Hệ thống ETL ( Extract - Transform Load) là nền tảng của kho dữ liệu Một -
hệ thống ETL được thiết kế cho việc trích xuất dữ liệu từ các hệ thống nguồn, chuyển đổi đảm bảo các nguồn độc lập có thể tích hợp và cuối cùng dữ liệu sau chuyển đổi được đưa vào kho dữ liệu phục vụ mục đích và phát triển ứng dụng hay phục vụ các mục đích kho dữ liệu
- Vào những năm 1970, quá trình ETL đã trở thành khái niệm vô cùng vô cùng phổ biến khi các tổ chức bắt đầu sử dụng các kho dữ liệu thay vì các cơ sở dữ liệu để lưu trữ các thông tin đa dạng khác nhau Từ đó dẫn đến nhu cầu tích hợp dữ liệu tăng nhanh chóng, ETL trở thành một phương pháp tiêu chuẩn để
có thể lấy dữ liệu từ những nguồn khác nhau và chuyển đổi nó ngay trước khi tải vào nguồn đích
2 Quá trình phát triển ETL
2.1 Truyền thống
● Ưu điểm
- Hợp nhất dữ liệu: ETL cung cấp một nền tảng thống nhất để hợp nhất dữ liệu từ các nguồn khác nhau, vượt qua các thách thức về thông tin
- Phân phối đáng tin cậy: Trích xuất và xử lý hàng loạt đảm bảo tính sẵn có của dữ liệu có thể dự đoán được cho các ứng dụng tiếp theo
- Tiêu chuẩn hóa: Các quy trình ETL thực thi việc làm sạch và chuyển đổi dữ liệu, đảm bảo chất lượng dữ liệu nhất quán
- Phân tích ngoại tuyến: Xử lý hàng loạt hỗ trợ phân tích lịch sử về xu hướng
và mô hình mà không ảnh hưởng đến hoạt động theo thời gian thực
● Khuyết điểm
- Độ trễ và xử lý hàng loạt: Xử lý hàng loạt dẫn đến sự chậm trễ giữa quá trình cập nhật và phân tích dữ liệu, cản trở tính linh hoạt
- Cơ sở hạ tầng cứng nhắc: Việc triển khai tại chỗ rất tốn kém và thiếu khả năng mở rộng, hạn chế khả năng xử lý dữ liệu
- Tính linh hoạt của dữ liệu hạn chế: ETL truyền thống gặp khó khăn với dữ liệu phi cấu trúc, hạn chế khả năng ứng dụng của nó
- Chuyên môn kỹ thuật: Việc phát triển và bảo trì ETL yêu cầu các kỹ năng chuyên môn, làm tăng chi phí triển khai
Too long to read on your phone? Save
to read later on your computer
Save to a Studylist
Trang 52.2 Hiện đại:
● Ưu điểm:
- Khối lượng dữ liệu tăng lên và đa dạng: ETL có thể xử lý các tập dữ liệu lớn hơn và đa dạng hơn, bao gồm các định dạng bán cấu trúc và không cấu trúc
- Giải pháp dựa trên đám mây: Nền tảng Cloud ETL cung cấp khả năng mở rộng, tính linh hoạt và tiết kiệm chi phí
- Triển khai kết hợp: Các mô hình triển khai tại chỗ và đám mây đáp ứng các nhu cầu tuân thủ và bảo mật khác nhau
- Tích hợp thời gian thực: Các công cụ nâng cao cho phép xử lý gần thời gian thực, hỗ trợ đưa ra quyết định gần như tức thời
● Khuyết điểm:
- Độ phức tạp: Việc tích hợp các quy trình hàng loạt và thời gian thực làm tăng độ phức tạp, đòi hỏi một chiến lược điều phối dữ liệu mạnh mẽ hơn
- Cần nhiều tài nguyên: Các phép biến đổi phức tạp và xử lý theo thời gian thực có thể tiêu tốn nhiều tài nguyên, đặc biệt là đối với các giải pháp đám mây
- Nguồn dữ liệu đang phát triển: Việc theo kịp các nguồn dữ liệu mới và các thay đổi về lược đồ đòi hỏi phải điều chỉnh liên tục các đường dẫn ETL
- Khoảng cách kỹ năng: Việc chuyển sang ETL dựa trên đám mây và thời gian thực đòi hỏi các bộ kỹ năng mới, tạo ra khoảng cách nhân tài tiềm năng
3 Lợi ích của ETL
- Cải thiện tính toàn vẹn dữ liệu thông qua các bộ dữ liệu rõ ràng và thống nhất ETL kết hợp các 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 và duy nhất Từ đó cho phép phân tích, báo cáo và kiểm tra dữ liệu chính xác và hợp lý hơn
- Cho phép lịch sử dữ liệu được hợp nhất với dữ liệu hiện tại từ nhiều nguồn khác nhau, có vai trò quan trọng trong việc cung cấp cái nhìn sâu rộng về lịch
sử dữ liệu của tổ chức ETL cho phép các bộ dữ liệu cũ hơn được phân tích và
so sánh với các bộ dữ liệu mới hơn
- Khả năng phân tích dữ liệu chính xác, ETL cung cấp khả 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à quy định Bằng cách tích hợp công cụ ETL với các công cụ kiểm soát chất lượng dữ liệu,có thể tạo hồ sơ, kiểm tra và làm sạch dữ liệu, đảm bảo rằng dữ liệu được xác thực và tin cậy
Trang 64
- Tối ưu hóa và đẩy nhanh quy trình công việc nhờ vào việc tự động hóa các tác vụ xử lý dữ liệu lặp đi lặp lại Từ đó tăng hiệu suất trong phân tích, giúp nhân viên dữ liệu dành nhiều thời gian hơn cho 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à chuẩn hóa dữ liệu
4 Cách thức hoạt động
Trích xuất, chuyển đổi và tải (ETL) hoạt động bằng cách di chuyển dữ liệu từ
hệ thống gốc đến hệ thống đích trong các chu kỳ định kỳ
4.1 Giai đoạn trích xuất - Extract
Đây là phần đầu tiên của quy trình ETL, liên quan đến việc trích xuất dữ liệu từ các hệ thống nguồn
Rất ít doanh nghiệp chỉ sử dụng một loại dữ liệu hoặc hệ thống Hầu hết doanh nghiệp quản lý dữ liệu từ nhiều nguồn khác nhau và sử dụng một số công cụ phân tích dữ liệu để tối ưu hóa quá trình quản trị Để dữ liệu được chuyển đến một đích mới, trước tiên nó phải được trích xuất từ các nguồn
Trong bước đầu tiên của quy trình ETL, dữ liệu có cấu trúc và không cấu trúc được nhập và hợp nhất vào một kho lưu trữ duy nhất Dữ liệu thô có thể được trích xuất từ nhiều nguồn khác nhau, bao gồm:
- Cơ sở dữ liệu hiện có
- Ứng dụng bán hàng và tiếp thị
- Ứng dụng và thiết bị di động
- Hệ thống quản lý khách hàng CRM
- Nền tảng lưu trữ dữ liệu
- Kho dữ liệu
- Công cụ phân tích
Mặc dù các dữ liệu này có thể xử lý thủ công, nhưng việc trích xuất dữ liệu được mã hóa bằng tay có thể tốn nhiều thời gian và dễ bị lỗi Các công cụ ETL tự động hóa quá trình trích xuất và tạo ra một quy trình làm việc hiệu quả và đáng tin cậy hơn
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
Trang 7Mộ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ỏ
4.2 Giai đoạn chuyển đổi - Transform
Trong giai đoạn này của quy trình ETL, các quy tắc và quy định có thể được áp dụng để đảm bảo chất lượng dữ liệu và khả năng truy cập Quá trình chuyển đổi dữ liệu bao gồm một số quy trình phụ:
Chuyển đổi dữ liệu cơ bản
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
- Làm sạch 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: hống trùng lặp trong quá trình làm sạch dữ liệu là C 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: 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
Trang 86
● 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
- 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: 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
4.3 Giai đoạn Tải - Load
Bước cuối cùng trong quy trình ETL là tải dữ liệu mới được chuyển đổi vào một đích mới Dữ liệu có thể được tải tất cả cùng một lúc (tải đầy đủ) hoặc theo các khoảng thời gian theo lịch trình (tải tăng dần)
- Tải hoàn toàn
Ở chế độ này, toàn bộ dữ liệu từ nguồn được chuyển đổi và tải vào kho dữ liệu Quá trình tải hoàn toàn thường diễn ra trong lần đầu tiên bạn chuyển dữ liệu từ hệ thống nguồn vào kho dữ liệu
Trang 9- Tải tăng dần
Trong quá trình tải tăng dần, công cụ ETL tải delta (hoặc sự thay đổi) giữa hệ thống đích và nguồn theo khoảng thời gian đều đặn Công cụ này duy trì thông tin về ngày trích xuất cuối cùng để đảm bảo rằng chỉ có các bản ghi thay đổi sau ngày này mới được tải Có hai cách để thực hiện tải tăng dần:
+ Tải tăng dần theo luồng: Đối với 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 đến kho dữ liệu đích + 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 và tải chúng thành từng lô theo định kỳ
4.4 Ví dụ quy trình ETL
Giả sửcó 1 b ng dữ li u bán hàng gốc đư c thu th p t các n n tả ệ ợ ậ ừ ề ảng bán hàng khác nhau như như sau:
Mã đơn
hàng
Mã khách
hàng
Ngày đặt Mã sản
phẩm
Số lượng
Đơn giá
Hình th c ứ thanh toán
Quá trình ETL có thể hiểu như sau:
1/ Trích xuất: Dữ liệu được tổng hợ ừ nhiềp t u n n t ng mua bán Giề ả ả sửchúng ta
đã trích xu t đưấ ợc bảng dữ liệu trên
2/ Chuyển đ : Dổi ữ liệu sẽ được chuy n đ i để ổ ểđáp ng nhu cứ ầu và chu n hoá d ẩ ữ liệu Ti n hành th c hi n các chuy n đ i phù hế ự ệ ể ổ ợp:
• Tính tổng số tiền m i đơnỗ hàng bằng cách tích s lượng với đơn giá ố
• Thêm cột thành ti n đ lưu tr giá trề ể ữ ị đơn hàng
• Chuyển “Hình th c thanh toán” thành dứ ạng số (0: COD, 1: ONLINE) thay vì văn bản
Trang 108
Sau khi chuy n đ ể ổi
Mã đơn
hàng
Mã khách
hàng
Ngày đặt Mã
sản phẩm
Số lượng
Đơn giá
Thành tiền
Hình th c ứ thanh toán
3/ T i: ả Dữ liệu chuyển đ i sẽ được tải lên và đưa vào m t hổ ộ ệ thống lưu trữ dữ
liệu Trong ví d này, chúng ta có thụ ể tải dữ ệu vào một b ng trong cơ sli ả ở dữ liệu
B ả ng Sales trong cơ s ở dữ liệu
Mã đơn
hàng
Mã khách
hàng
Ngày đặt Mã
sản phẩm
Số lượng
Đơn giá
Thành tiền
Hình th c ứ thanh toán
5 Đối với doanh nghiệp
5.1 Tầm quan trọng
Doanh nghiệp sở hữu lượng lớn dữ liệu có cấu trúc và phi cấu trúc từ nhiều nguồn như CRM, ERP, các ứng dụng di động, IoT,
- Tăng cường hiệu quả hoạt động: ETL giúp tự động hoá các quy trình chuyển đổi dữ liệu thô, giúp tiết kiệm được thời gian và chi phí
Trang 11- Nâng cao khả năng ra quyết định kinh doanh: Các tập dữ liệu thô riêng lẻ được tích hợp theo định dạng và cấu trúc thống nhất Mang lại cho doanh nghiệp khả năng hiển thị về hoạt động của họ và những hiểu biết có giá trị cần thiết để đưa ra quyết định sáng suốt
- Xử lý lượng dữ liệu lớn một cách hiệu quả, đảm bảo dữ liệu đưa vào hệ thống một cách hiệu quả và nhanh chóng
- Tính chính xác của dữ liệu: Quy trình làm sạch và chuẩn hóa dữ liệu đảm bảo các dữ liệu ở mức chính xác và đáng tin cậy nhất định
Ví dụ: ETL giúp ngân hàng tự động trích xuất một lượng dữ liệu lớn về khách hàng, tài khoản giao dịch từ hệ thống dữ liệu, chuyển sang 1 định dạng thống nhất và tải vào SaaS (dịch vụ lưu trữ dữ liệu đám mây) sau đó tạo báo cáo và phân tích dữ liệu về khách hàng Nhờ đó, ngân hàng có thể hiểu rõ hơn về khách hàng của mình
và đưa ra dịch vụ khách hàng tốt hơn
5.2 Thách thức
- Hệ thống nguồn đa dạng và khác nhau, cũng như cách thức mô tả dữ liệu
ở hệ thống mơ hồ và khó hiểu
- Khối lượng dữ liệu và độ phức tạp: Lượng dữ liệu khổng lồ, phức tạp, sự trùng lắp thông tin, thiếu cách thức xử lý và quy trình triển khai không hợp lý dẫn đến rủi ro lớn
- Tích hợp với các hệ thống sẵn có: Hệ thống đến từ những nền tảng và hệ điều hành khác nhau Doanh nghiệp phải đảm bảo quy trình ETL được tích hợp với các hệ thống hiện có nhằm giảm lỗi thủ công và tăng hiệu quả
- Bảo mật và quyền riêng tư: Lượng thông tin cá nhân được lưu trữ và cần
xử lý ngày càng lớn, cần đề ra giải pháp để ngăn chặn truy cập trái phép hoặc mất mát dữ liệu
- Ngân sách và thời gian: Là quy trình nhiều bước cũng như độ phức tạp của dữ liệu yêu cầu nhiều thời gian và chi phí cho nhân lực, phần mềm, cơ
sở hạ tầng
5.3 Đề xuất giải pháp
- Sử dụng các công cụ có khả năng xử lý mọi kích thước dữ liệu, đồng thời cung cấp khả năng tích hợp dữ liệu hiệu quả
- Tích hợp thành công là sử dụng giải pháp ETL tương thích với các hệ thống hiện có như CRM và hệ thống quản lý hàng tồn kho
- Triển khai các biện pháp kiểm soát truy cập nghiêm ngặt, mã hóa dữ liệu cũng như thường xuyên giám sát và kiểm tra việc sử dụng dữ liệu Sử