0

ETL Và ELT Khác Nhau Thế Nào? Tại Sao Thời Nay Người Ta Lại Đua Nhau Chuyển Sang ELT?

Chào anh em chiến hữu! Dạo này lướt các hội nhóm IT, các group lập trình hay ngồi trà đá văn phòng chém gió công nghệ, chắc hẳn mọi người liên tục nghe thấy mấy từ viết tắt sặc mùi dữ liệu như: "Đường ống ETL của dự án này bị lỗi rồi", "Bên tôi đang chuyển dịch hết sang ELT cho hiện đại", hay "Dùng dbt để làm Transform dữ liệu đi".

Mấy anh em Lập trình viên Backend vốn quen với việc viết API, hay mấy anh em Data Analyst quen kéo thả biểu đồ Power BI nghe xong chắc xây xẩm mặt mày, tưởng đâu giới dữ liệu lớn lại vừa đẻ ra một đống mật mã phức tạp để dọa người mới. Nhưng xin anh em hãy bình tĩnh! Đằng sau những cái tên viết tắt có vẻ nguy hiểm đó thực chất lại là những khái niệm vô cùng thực tế và bình dân, liên quan trực tiếp đến việc: Chúng ta dọn dẹp và chế biến dữ liệu thô như thế nào.

Hôm nay chúng ta sẽ cùng giải ngố, bóc tách tường tận hai quy trình này bằng ngôn ngữ dân dã dễ hiểu nhất nhé!

1. ETL Là Gì? Quy Trình Làm Việc Kiểu "Nhà Hàng Truyền Thống"

Đầu tiên là ETL (viết tắt của Extract - Transform - Load), dịch nôm na ra tiếng Việt là: Trích xuất -> Biến đổi -> Nạp. Đây là quy trình đã có tuổi đời hàng thập kỷ trong ngành dữ liệu.

Để dễ hình dung, anh em hãy tưởng tượng quy trình này giống hệt như việc vận hành một Nhà hàng phở truyền thống:

Extract (Trích xuất): Cứ mỗi sáng sớm, anh đầu bếp (hệ thống tự động) sẽ chạy ra các khu chợ nông sản (các phần mềm của công ty như CRM, ERP, Facebook Ads) để gom nguyên liệu thô mang về. Nguyên liệu thô lúc này rất bẩn, đầy đất cát và rác rưởi.

Transform (Biến đổi): Đây là khâu tốn nhiều công sức nhất. Anh đầu bếp phải ngồi rửa sạch bùn đất, cắt gọt rau củ, thái thịt bò, loại bỏ những phần hỏng (làm sạch dữ liệu, xóa dòng trùng, sửa lỗi font, định dạng lại ngày tháng). Mọi công việc sơ chế này đều được thực hiện ngay tại căn bếp nhỏ của nhà hàng (máy chủ trung gian - Staging Server).

Load (Nạp): Sau khi mọi nguyên liệu đã được sơ chế sạch sẽ, tinh khiết và cắt thái đẹp mắt, anh đầu bếp mới xếp chúng gọn gàng lên các kệ hàng trong siêu thị cao cấp (kho lưu trữ Data Warehouse). Sáng hôm sau, anh em làm báo cáo phân tích chỉ việc vào siêu thị nhặt đồ sạch về nấu.

Hạn chế của ETL là gì? Căn bếp nhỏ (máy chủ trung gian) có diện tích giới hạn. Khi lượng nguyên liệu (dữ liệu thô) đổ về quá khổng lồ lên tới hàng Terabyte, căn bếp sẽ bị quá tải, tắc nghẽn và anh đầu bếp sẽ kiệt sức (máy chủ bị treo do không đủ RAM và CPU để xử lý các phép tính toán dọn dẹp nặng nề).

2. ELT Là Gì? Quy Trình Kiểu "Lẩu Buffet Tự Phục Vụ"

Để khắc phục điểm yếu của nhà hàng truyền thống khi lượng khách (dữ liệu) phình to quá nhanh, giới công nghệ đã phát minh ra quy trình ELT (Extract - Load - Transform), tức là: Trích xuất -> Nạp -> Rồi mới Biến đổi.

Anh em hãy tưởng tượng quy trình này giống như một Nhà hàng lẩu Buffet hiện đại:

Extract (Trích xuất): Vẫn là bước gom nguyên liệu thô từ các chợ nông sản về.

Load (Nạp): Đây chính là cú bẻ lái ngoạn mục! Thay vì bắt anh đầu bếp ngồi hì hụi rửa ráy, cắt gọt ở căn bếp nhỏ chật hẹp, nhà hàng quyết định: Bê nguyên đống đồ thô đó đổ thẳng vào cái kho chứa khổng lồ của siêu thị (Data Warehouse đám mây). Kho chứa này cực kỳ rộng lớn, có sức chứa vô hạn và chi phí thuê siêu rẻ (Cloud Storage).

Transform (Biến đổi): Khi nguyên liệu đã nằm sẵn trong kho chứa khổng lồ, lúc này nhà hàng mới sử dụng chính sức mạnh tính toán cực khủng của siêu thị để tự động dọn dẹp, rửa sạch và cắt gọt nguyên liệu ngay bên trong kho. Công cụ nổi tiếng nhất chuyên làm nhiệm vụ này hiện nay chính là dbt (data build tool).

3. Tại Sao Thời Nay Người Ta Lại Đua Nhau Chuyển Sang ELT?

Sự dịch chuyển từ ETL sang ELT không phải là một trào lưu nhất thời, mà là sự thay đổi bắt buộc để thích nghi với kỷ nguyên điện toán đám mây:

Tận dụng sức mạnh của Đám mây (Cloud): Các kho dữ liệu đám mây hiện đại (như Snowflake, Databricks, Google BigQuery) sở hữu sức mạnh tính toán phân tán vô hạn. Việc thực hiện các phép tính toán dọn dẹp trực tiếp trong kho (ELT) sẽ nhanh hơn gấp trăm lần so với việc dựng một máy chủ trung gian để xử lý (ETL).

Bảo toàn dữ liệu gốc: Với ELT, dữ liệu thô ban đầu được nạp thẳng vào kho nên không bao giờ bị mất mát thông tin. Nếu sau này doanh nghiệp thay đổi công thức tính toán, các kỹ sư dữ liệu chỉ việc chạy lại lệnh biến đổi trên dữ liệu thô có sẵn, thay vì phải chạy đi xin lại file gốc từ hệ thống nguồn như quy trình ETL cũ.

Dễ bảo trì và mở rộng: Việc phân tách rõ ràng khâu di chuyển dữ liệu (Extract & Load) và khâu xử lý logic (Transform) giúp hệ thống cực kỳ dễ gỡ lỗi khi xảy ra sự cố, giảm thiểu tối đa rủi ro đứt gãy đường ống dữ liệu giữa đêm.

Chốt Lại

Hiểu một cách dân dã nhất:

ETL là: Sơ chế sạch sẽ ở ngoài rồi mới mang vào cất vào kho. (Phù hợp dữ liệu nhỏ, hệ thống cũ).

ELT là: Mang hết đồ thô cất vào kho rồi dùng sức mạnh của kho để dọn dẹp sau. (Phù hợp dữ liệu lớn, hệ thống đám mây hiện đại).

Hiểu rõ hai khái niệm này, anh em đã chính thức nắm được bản chất vận hành của các hệ thống dữ liệu lớn hiện nay rồi đấy. Chúc anh em sớm cập nhật công nghệ mới và luôn giữ vững vị thế tiên phong trong sự nghiệp công nghệ của mình nhé!

Đăng ký nhận: Lộ trình Data Engineer mới nhất


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí