Và Data Scientist ch u trách ệ ị nhiệm khai thác insights trong tương lai từ dữ liệu hiện có và giúp các công ty đưa ra quyết định dựa trên dữ liệu.. Mà Python r t quan tr ng ấ ọ với ETL
Trang 1ĐẠI HỌ C QU C GIA THÀNH PHỐ H CHÍ MINH Ố Ồ
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA H C VÀ K THU T THÔNG TIN Ọ Ỹ Ậ
-
BÁO CÁO ĐỒ ÁN TÌM HI U V V TRÍ DATA ENGINEER TRONG Ể Ề Ị
DOANH NGHI P Ệ
Sinh viên th c hi n: ự ệ
Hu nh Trung Hi u - 22540006 ỳ ế
Trần Vũ Minh - 22540011
Giảng viên:
Ths Lưu Thanh Sơn
Thành phố H Chí Minh, tháng 10 ồ năm 2022
Trang 2MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU VỀ VỊ TRÍ DATA ENGINEER 1
1 Khái ni m v Data Engineer 1ệ ề 2 Ch ức năng của Data Engineer trong doanh nghiệp 1
3 S ự khác bi t gi a Data Engineer so v i Data Analyst và Data Scientis 1ệ ữ ớ CHƯƠNG 2: NHỮNG KIẾN THỨC CẦN HỌC ĐỂ TRỞ THÀNH MỘT DATA ENGINEER 3
1 Ngôn ngữ s d ử ụng 3
1.1 SQL 3
1.2 Python 4
1.3 R 5
2 H ệ cơ sở ữ ệ d li u quan h và phi quan h 7ệ ệ 2.1 Cơ sở dữ liệu quan hệ (SQL) 7
2.2 Cơ sở dữ liệu phi quan hệ (NoSQL) 7
3 Gi ải pháp ETL/ ELT 7
3.1 ETL 8
3.2 ELT 9
4 Data Warehouse 10
5 Data Lake 11
6 Xây dựng báo cáo phân tích 12
CHƯƠNG CƠ HỘ3: I VIỆC LÀM CỦA LẬP TRÌNH VIÊN DATA ENGINEER 14
1 Nh ững khó khăn, thách thức với nghề Data Engineer 14
2 Con đường s nghi p cự ệ ủa Data Engineer 15
3 Tri ển v ng công vi c 16ọ ệ
TÀI LI U THAM KH O 17Ệ Ả
Trang 3CHƯƠNG 1: GIỚI THIỆU VỀ VỊ TRÍ DATA ENGINEER
1 Khái ni m v Data Engineer ệ ề
Data Engineer là quá trình thi t k và xây d ng h th ng cho phép mế ế ự ệ ố ọi người thu th p và phân tích d li u thô t nhi u nguậ ữ ệ ừ ề ồn và định d ng Các h th ng này cho ạ ệ ố phép mọi người tìm th y các ấ ứng dụng thực tế c a d li u, mà các doanh nghi p có th ủ ữ ệ ệ ể
sử dụng để phát tri n [1] ể
Data Engineer là m t lo i k ộ ạ ỹ sư phần mềm, ngườ ạo ra các đười t ng ống ETL dữ liệu lớn để qu n lý lu ng d li u thông qua t chả ồ ữ ệ ổ ức Điều này giúp doanh nghi p có th ệ ể lấy một lượng l n d li u và chuy n nó thành thông tin chi ti t H t p trung vào s s n ớ ữ ệ ể ế ọ ậ ự ả xuất c a d li u và nh ng thủ ữ ệ ữ ứ như định d ng, khạ ả năng phục h i, mồ ở r ng và b o m t ộ ả ậ [2]
2 Ch ức năng của Data Engineer trong doanh nghiệp
Trong doanh nghi p, Data Engineer ch u trách nhi m thi t k , xây d ng và b o ệ ị ệ ế ế ự ả trì các lu ng d li u H s ki m tra h sinồ ữ ệ ọ ẽ ể ệ h thái cơ sở ữ ệ d li u c a doanh nghi p và ủ ệ chuẩn bị d li u cho các Data Scientist ch y các thu t toán và ti n hành phân tích dữ ệ ạ ậ ế ữ liệu trên toàn h th ng ệ ố
Một Data Engineer tham gia vào các hoạt động khác nhau, một s hoố ạt động như sau:
- Làm cho d li u có th truy cữ ệ ể ập được để các t ch c có th s dổ ứ ể ử ụng nó để c i ả thiện hi u su t c a h ệ ấ ủ ọ
- Thu thập và qu n lý d li u, chuyả ữ ệ ển đổ ữ ệu đó thành thông tin hữi d li u ích
- Xây d ng và duự y trì đường ng d liố ữ ệu và duy trì cơ sở ữ ệ d li u
- Cộng tác với quản lý để nh n th c các m c tiêu cậ ứ ụ ủa tổ ch c ứ
- Tạo các quy trình xác thực dữ ệ li u m i và các công c phân tích ớ ụ
- Thiết k , xây d ng, ki m tra và duy trì h th ng qu n lý d li u [3] ế ự ể ệ ố ả ữ ệ
3 S ự khác bi t gi a Data Engineer so v i Data Analyst và Data Scientis ệ ữ ớ
Dữ li u luôn quan trệ ọng đố ớ ấ ỳi v i b t k hình th c ra quyứ ết định nào Th gi i ngày ế ớ nay ch y hoàn toàn d a trên d li u và không t ch c nào ngày nay có th t n t i n u ạ ự ữ ệ ổ ứ ể ồ ạ ế không có các k ho ch chiế ạ ến lược và ra quyết định d a trên d li u Ngày nay, có m t ự ữ ệ ộ
số vai trò trong ngành x lý d li u vì nh ng hi u bi t và s tin c y vô giá c a nó D a ử ữ ệ ữ ể ế ự ậ ủ ự
Trang 4trên t ng nhi m v , vai trò trong doanh nghi p chúng ta có th phân bi t s khác nhau ừ ệ ụ ệ ể ệ ự giữa Data Engineer, Data Analyst và Data Scientis như sau:
- Data Analyst ch u trách nhi m th c hiị ệ ự ện các hành động ảnh hưởng đến ph m ạ
vi hi n t i c a công ty Data Engineer ch u trách nhi m phát tri n n n t ng ệ ạ ủ ị ệ ể ề ả
mà Data Analysts và Data Scientists làm vi c Và Data Scientist ch u trách ệ ị nhiệm khai thác insights trong tương lai từ dữ liệu hiện có và giúp các công
ty đưa ra quyết định dựa trên dữ liệu
- Một Data Analyst không tr c ti p tham gia vào quá trình ra quyự ế ết định Đúng hơn là anh ta gián tiế ảnh hưởng đếp n quyết định thông qua việc cung cấp insights tĩnh về ệ hi u qu hoả ạt động của công ty M t Data Engineer không ộ chịu trách nhi m v vi c ra quyệ ề ệ ết định Và một Data Scientist tham gia vào quá trình ra quyết định có ảnh hưởng đến hoạt động c a công ty ủ
- Một Data Analyst s d ng các k thuử ụ ỹ ật mô hình tĩnh để tóm t t d li u thông ắ ữ ệ qua phân tích mô t M t khác, m t Data Engineer ch u trách nhi m phát tri n ả ặ ộ ị ệ ể
và b o trì Data Pipelines M t data scientist s d ng các k thuả ộ ử ụ ỹ ật động như Học máy có insights tương lai
- Kiến th c v h c máy không quan trứ ề ọ ọng đối v i các Data Analyst Tuy nhiên, ớ điều này là b t buắ ộc đối v i các Data Scientist M t Data Engineer không c n ớ ộ ầ phải có ki n th c v hế ứ ề ọc máy nhưng anh ta bắt buộc ph i có ki n th c v các ả ế ứ ề khái niệm điện toán cốt lõi như lập trình và thuật toán để xây d ng h th ng ự ệ ố
dữ li u m nh m ệ ạ ẽ
- Data Analyst ch ph i x lý d li u có c u trúc Tuy nhiên, Data Scientists và ỉ ả ử ữ ệ ấ Data Engineers còn ph i x lý d li u phi c u trúc ả ử ữ ệ ấ
- Data Analyst và Data Scientist đều được yêu c u ph i thành th o vi c tr c ầ ả ạ ệ ự quan hóa d liữ ệu Tuy nhiên, điều này không b t buắ ộc đối v i Data Engineer ớ
- Cả Data Scientists và Analysts không c n ph i có ki n th c v phát tri n ng ầ ả ế ứ ề ể ứ dụng và hoạt động của các API Tuy nhiên, đây là yêu cầu c n thi t nhầ ế ất đối
với Data Engineer [4]
Trang 5CHƯƠNG 2: NHỮNG KIẾN THỨC CẦN H ỌC ĐỂ TRỞ
THÀNH M T DATA ENGINEER Ộ
1 Ngôn ngữ s d ử ụng
1.1 SQL
Data Engineer s ph i s dẽ ả ử ụng SQL để thi t l p, truy v n và qu n lý h thế ậ ấ ả ệ ống cơ
sở d li u ữ ệ
Khái niệm:
SQL là lo i ngôn ngạ ữ máy tính, giúp cho thao tác lưu trữ và truy xu t d li u ấ ữ ệ được lưu trữ trong một cơ sở dữ liệu quan hệ SQL là viết tắt của Structured Query Language là ngôn ng truy v n có c u trúc [5] ữ ấ ấ
SQL là m t ngôn ngộ ữ được tiêu chu n hóa b i ANSI (American National ẩ ở Standards Institute) Vi n tiêu chu n qu c gia Hoa K– ệ ẩ ố ỳ Đây cũng đồng th i là ngôn ờ ngữ được s d ng phử ụ ổ bi n trong các h th ng quế ệ ố ản lý cơ sở ữ ệ d li u quan h và h tr ệ ỗ ợ
sử dụng trong các công ty lớn v công ngh ề ệ
Lịch s hình thành: ử
- 1970 Ti– ến sĩ Edgar F “Ted” Codd mô tả ộ m t mô hình quan hệ cho cơ sở ữ d liệu
- 1974 Ngôn ng truy v n có c u trúc (SQL) xu t hi n – ữ ấ ấ ấ ệ
- 1978 IBM phát hành m t s n ph m có tên là System/R – ộ ả ẩ
- 1986 IBM phát tri n nguyên m u c– ể ẫ ủa cơ sở ữ ệ d li u quan hệ, được tiêu chu n ẩ hóa b i ANSI ở
- 1989 Phiên b– ản SQL đầu tiên ra m t ắ
- 1999 SQL 3 ra m t v– ắ ới các tính năng như trình kích hoạt, hướng đối tượng, v.v
- SQL 2003 – các hàm window, các tính năng liên quan đến XML, v.v
- SQL 2006 H tr ngôn ng truy v n XML – ỗ ợ ữ ấ
- SQL 2011 H tr c i ti– ỗ ợ ả ến cho cơ sở ữ ệ ạ d li u t m th i [6] ờ
Tính năng nổ ậi b t:
- Dữ li u có th hi n thệ ể ể ị ở ọ m i thi t b ế ị
- Các thao tác tùy ch nh d liỉ ữ ệu như thêm, xóa hay sửa vô cùng đơn giản, không phức tạp như các ngôn ngữ khác
Trang 6- Hỗ tr l p trình nh vào khợ ậ ờ ả năng lưu trữ ữ ệ d li u c a nhi u ng d ng trên cùng ủ ề ứ ụ một CSDL duy nh t ấ
- Có th nhúng nh ng ngôn ng khác có dùng mô-ể ữ ữ đun SQL
- Có l ch sị ử lâu dài, uy tín và được s d ng b i nhi u doanh nghi p chuyên v ử ụ ở ề ệ ề công ngh ệ
Ngoài vi c là m t ngôn ng máy tính ph bi n, SQL còn là ngôn ng máy tính ệ ộ ữ ổ ế ữ hữu dụng Vì vậy, người ta thường s dử ụng SQL cho các mục đích:
- Tạo cơ sở dữ liệu, bảng và view mới
- Để chèn các bản ghi vào trong một cơ sở ữ ệ d li u
- Để xóa các b n ghi t mả ừ ột cơ sở ữ ệ d li u
- Để l y d li u t mấ ữ ệ ừ ột cơ sở ữ ệ d li u
1.2 Python
Data Engineer s dử ụng Python để ế vi t các ETL scripts Mà Python r t quan tr ng ấ ọ với ETL (Extract-Transform-Load, là quá trình trích xu t, chuyấ ển đổi và t i lên các d ả ữ liệu), cũng như các hoạt động phân tích dữ liệu và các ứng dụng học máy
Khái niệm:
Python là m t ngôn ng l p trình b c cao cho các mộ ữ ậ ậ ục đích lập trình đa năng, do Guido van Rossum t o ra và lạ ần đầu ra mắt vào năm 1991 Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ h c và dễ nh Python là ngôn ngữ có cấu trúc rõ ràng, thuận ọ ớ tiện cho người mới học lập trình và là ngôn ngữ lập trình dễ học; được dùng rộng rãi trong phát tri n trí tu nhân t o [7] ể ệ ạ
Lịch s hình thành:ử
- Guido Van Rossum cho ra m t phiên bắ ản đầu tiên c a ngôn ng Python (phiên ủ ữ bản 0.9.0) vào năm 1991 Ngôn ngữ này đã bao gồm các tính năng hữu ích như một số ki u d liể ữ ệu và hàm để ử x lý l i ỗ
- Python 1.0 đã được ra mắt vào năm 1994 với các hàm mới để d dàng x lý danh ễ ử sách d li u, ch ng hữ ệ ẳ ạn như ánh xạ ọc và , l lược bỏ
- Python 2.0 đã được ra mắt vào ngày 16 tháng 10 năm 2000, với các tính năng hữu ích m i cho l p trình viên, ch ng hớ ậ ẳ ạn như hỗ ợ tr ký t Unicode và cách x ự ử
lý chi ti t mế ột danh sách nhanh chóng hơn
Trang 7- Python 3.0 đã được ra mắt vào ngày 3 tháng 12 năm 2008 Phiên bản này bao gồm các tính năng như hàm in và hỗ trợ nhiều hơn cho việc phân chia số và xử
lý l i [8] ỗ
Tính năng nổ ậi b t:
- Ngôn ng l p trình mi n phí, mã ngu n m ữ ậ ễ ồ ở
- Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng này sang n n t ng khác và ch y nó mà không có b t kề ả ạ ấ ỳ thay đổi nào Nó ch y li n ạ ề mạch trên hầu h t t t c các n n tế ấ ả ề ảng như Windows, macOS, Linux
- Khả năng mở rộng và có thể nhúng: có thể dễ dàng kết hợp các phần code bằng
C, C++ và nh ng ngôn ng khác (có th gữ ữ ể ọi được từ C) vào code Python
- Ngôn ng thông d ch c p cao: Khi ch y code Python, nó s tữ ị ấ ạ ẽ ự động chuyển đổi code sang ngôn ngữ máy tính có th hi u ể ể
- Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có một số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình tr nên dễ dàng hơn ở rất nhiều, đơn giản vì không ph i t vi t t t c code ả ự ế ấ ả
- Hướng đối tượng: M i th ọ ứ trong Python đều là hướng đối tượng Lập trình hướng đối tượng (OOP) giúp gi i quy t nh ng vả ế ữ ấn đề ph c t p m t cách tr c quan V i ứ ạ ộ ự ớ OOP, chúng ta có th phân chia nh ng vể ữ ấn đề ph c t p thành nh ng t p nh ứ ạ ữ ậ ỏ hơn bằng cách tạo ra các đối tượng [9]
1.3 R
Data Engineer s d ng ngôn ng R ử ụ ữ để phân tích d li u và thi t l p các mô hình ữ ệ ế ậ thống kê, trang t ng quan và hi n thổ ể ị tr c quan ự
Khái niệm:
R là m t ngôn ng l p trình hàm c p cao v a là mộ ữ ậ ấ ừ ột môi trường dành cho tính toán thống kê R hỗ trợ r t nhi u công cấ ề ụ cho phân tích d li u, khám phá tri th c và khai ữ ệ ứ
mỏ d liữ ệu nhưng lại là ph n m m mi n phí mã ngu n mầ ề ễ ồ ở Hơn ữ n a R r t d h c và có ấ ễ ọ thể phát tri n nhanh các ng d ng tính toán xác su t thể ứ ụ ấ ống kê, phân tích d li u [10] ữ ệ
Lịch s hình thành: ử
- R được tạo ra tại Phòng thí nghiệm Bell bởi John Chambers vào năm 1976 R được phát triển như một phần m rở ộng cũng như một phần triển khai của ngôn ngữ l p trình S ậ
Trang 8- Dự án R được phát tri n bể ởi Ross Ihaka và Robert Gentleman và được phát hành vào năm 1992, phiên bản đầu tiên vào năm 1995 và phiên bản beta ổn định vào năm 2000 [11]
Tính năng nổi bật:
- Ngôn ngữ toàn di n: cung c p các d ch v l p mô hình thệ ấ ị ụ để ậ ống kê cũng như để phát tri n ph n mể ầ ềm R cũng là một ngôn ng lữ ập trình hướng đối tượng, là m t ộ
bổ sung cho tính năng lập trình th tủ ục của nó
- Ngôn ngữ l p trình mi n phí, có mã ngu n m ậ ễ ồ ở
- Có khả năng tương thích đa nề ản t ng: R có th ch y trên b t k hể ạ ấ ỳ ệ điều hành nào trong b t kấ ỳ môi trường ph n mầ ềm nào Nó cũng có thể được ch y trên b t ạ ấ
kỳ c u hình ph n c ng nào mà không c n thêm b t k gi i pháp thay th nào ấ ầ ứ ầ ấ ỳ ả ế
- Không c n trình biên d ch: Ngôn ngầ ị ữ R được thông d ch thay vì biên d ch Do ị ị
đó, nó không cần trình biên dịch để biên dịch mã thành chương trình thực thi
Mã R được di n gi i tễ ả ừng bước một và được chuyển đổi trực tiếp thành các l nh ệ gọi cấp máy Điều này làm cho vi c ch y m t t p l nh R ít tệ ạ ộ ậ ệ ốn thời gian hơn nhiều
- Thực hi n các phép tính nhanh: có th th c hi n nhi u thao tác ph c t p trên ệ ể ự ệ ề ứ ạ vectơ, mảng, khung dữ liệu và các đối tượng dữ liệu khác có kích thước khác nhau v i tớ ốc độ nhanh
- Có th x lý t t c các lo i d li u: R cung cể ử ấ ả ạ ữ ệ ấp các phương tiện lưu trữ và x lý ử
dữ li u tuy t v i R tệ ệ ờ ạo điều ki n thu n l i cho vi c x lý d li u có c u trúc ệ ậ ợ ệ ử ữ ệ ấ cũng như phi cấu trúc để truyền đạt khả năng dữ liệu toàn diện Hơn nữa, R cung cấp các phương tiện vận hành dữ liệu và mô hình hóa dữ liệu khác nhau thường
là k t qu c a sế ả ủ ự tương tác tích cực với phương tiện lưu trữ Nó cũng cung cấp các ph n m r ng cho SQL và D li u l n ầ ở ộ ữ ệ ớ
- Tích h p v i công ngh khác: R có thợ ớ ệ ể được tích h p v i m t s công ngh , ợ ớ ộ ố ệ khuôn kh , gói ph n m m và ngôn ng lổ ầ ề ữ ập trình khác nhau như C, C ++, Java, Python [12]
Trang 92 H ệ cơ sở ữ ệ d li u quan h và phi quan h ệ ệ
Data Engineer c n bi t cách làm vi c v i nhi u n n t ng d liầ ế ệ ớ ề ề ả ữ ệu khác nhau Đặc biệt là các h thệ ống cơ sở ữ ệ d li u quan h d a trên SQL ệ ự (RDBMS) như MySQL, PostgreSQL (một cơ sở ữ ệ d li u k t h p SQL và NoSQL), Microsoft SQL Server và ế ợ Oracle Đồng th i, hờ ọ cũng phải biết cách làm việc với các cơ sở dữ liệu NoSQL như MongoDB, Cassandra, Couchbase, Cơ sở dữ liệu Oracle NoSQL và các cơ sở khác
2.1 Cơ sở dữ liệu quan hệ (SQL)
Cơ sở dữ liệu quan hệ là một loại cơ sở dữ liệu lưu trữ và cung cấp quyền truy cập vào các điểm d liữ ệu có liên quan đến nhau Cơ sở d li u quan h d a trên mô hình ữ ệ ệ ự quan h , m t cách trệ ộ ực quan, đơn giản để ể bi u di n d li u trong bễ ữ ệ ảng Trong cơ sở ữ d liệu quan h , m i hàng trong b ng là m t b n ghi v i m t ID duy nhệ ỗ ả ộ ả ớ ộ ất được g i là khóa ọ Các c t cộ ủa bảng ch a các thu c tính c a d li u và m i bứ ộ ủ ữ ệ ỗ ản ghi thường có m t giá tr ộ ị cho mỗi thu c tính, giúp d dàng thi t l p m i quan h gi a ộ ễ ế ậ ố ệ ữ các điểm d li u [13] ữ ệ
Cơ sở dữ li u quan h là nhệ ệ ững thông tin được lưu trữ dưới dạng b ng, xu t hi n ả ấ ệ vào năm 1970 từ IBM và sau đó được tiếp nhận bởi Oracle Các cơ sở dữ liệu phổ biến
có quan hệ rõ ràng là Oracle, MySQL và Postgres [14]
2.2 Cơ sở dữ liệu phi quan hệ (NoSQL)
Cơ sở dữ liệu phi quan hệ không tuân theo bất kỳ mô hình quan hệ truyền thống nào Danh mục cơ sở ữ ệ d li u này hay còn gọi là NoSQL, đã chứng ki n sế ự tăng trưởng mạnh m trong nhẽ ững năm gần đây Cơ sở ữ ệ d li u này kh c ph c nh ng h n ch c a ắ ụ ữ ạ ế ủ
cơ sở dữ liệu quan hệ trong việc giải quyết các nhu cầu về Dữ liệu lớn (Big Data) [14]
Mô hình d liữ ệu: cơ sở ữ ệ d li u NoSQL cung c p các mô hình linh ho t giúp c p ấ ạ ậ nhật CSDL d ễ dàng hơn
Cấu trúc d li u: các D li u lữ ệ ữ ệ ớn ngày nay không v n hành theo hàng và c t, t c ậ ộ ứ
là không có c u trúc ấ
Mô hình phát triển: NoSQL thường là ngu n m nên không c n ph i tr b t k ồ ở ầ ả ả ấ ỳ khoản phí nào [14]
3 Gi ải pháp ETL/ ELT
Để có thể chuyển đổi và di chuyển dữ liệu từ hệ thống lưu trữ hoặc ứng dụng này sang h thệ ống lưu trữ ho c ng d ng khác, Data Engineer c n hi u rõ và s d ng ặ ứ ụ ầ ể ử ụ thành th o các gi i pháp ETL ạ ả
Trang 10Đường dẫn dữ liệu (ETL (Extract – Transform – Load) hay ELT (Extract – Load – Transform) th c hi n nhi m v t ng h p, s p x p và di chuy n d liự ệ ệ ụ ổ ợ ắ ế ể ữ ệu đến h th ng ệ ố mục tiêu nh m tiằ ến hành lưu trữ và phân tích ETL và ELT đều rất cần thiết trong khoa học d li u, b i các ngu n thông tin ữ ệ ở ồ — cho dù chúng s dử ụng cơ sở d li u SQL có c u ữ ệ ấ trúc hay cơ sở d li u NoSQL không c u trúc ữ ệ ấ — thì đều hi m khi ế ở các định dạng tương
tự hoặc tương thích với nhau Do đó, các nguồn dữ liệu cần được làm s ch, làm giàu và ạ chuyển đổi trước khi tích hợp thành một tổng thể có thể phân tích
3.1 ETL
Khái ni m: ệ
ETL là tên vi t t t c a Extract, Transform và Load Trong quá trình này, m t công ế ắ ủ ộ
cụ ETL trích xu t d li u t các h th ng nguấ ữ ệ ừ ệ ố ồn RDBMS khác nhau sau đó chuyển đổi
dữ liệu như áp dụng các biến đổ ữ ệi d li u (tính toán, n i chuố ỗi v.v ) và sau đó tải dữ li u ệ vào h th ng Data Warehouse ETL là nh ng lu ng tệ ố ữ ồ ừ “nguồn” tới ”đích” Trong quá trình ETL, engine chuyển đổ ẽ ửi s x lý mọi thay đổ ữ ệi d li u
Ưu điểm:
- ETL cho phép phân tích dữ liệu nhanh hơn, hiệu quả hơn, ổn định hơn
- Bảo v d li u cá nhân t t hệ ữ ệ ố ơn
- Có nhi u công c và n n tề ụ ề ảng ETL được phát tri n t t, sể ố ẵn có để ỗ ợ h tr nhu c u ầ trích xu t, chuyấ ển đổi và t i d li u ả ữ ệ
Nhượ điểc m:
- Nhu cầu b o trì là r t cao vì c n ph i ch n d liả ấ ầ ả ọ ữ ệu để load và transform
- ETL thường không ph i là m t gi i pháp cho các Data Lake Nó biả ộ ả ến đổi d li u ữ ệ
để tích hợp v i hệ th ng kho dữ liệu quan hệ có cấu trúc ớ ố
- ETL có thể được s dử ụng để ấ c u trúc d li u phi cữ ệ ấu trúc, nhưng nó không thể được sử dụng để chuyển dữ liệu phi cấu trúc vào hệ thống đích
- Thời gian tải ETL lâu hơn ELT bởi vì đó là một quá trình g m nhiồ ều giai đoạn: (1) t i d li u vào staging area, (2) di n ra quá trình chuyả ữ ệ ễ ển đổi, (3) t i d li u ả ữ ệ vào kho d li u Khi d liữ ệ ữ ệu được t i, vi c phân tích thông tin s ả ệ ẽ nhanh hơn ELT
- Chi phí r t cao cho các doanh nghi p v a và nh ấ ệ ừ ỏ