Tổng quan về đường dẫn dữ liệu ETL và ELT

Đườ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. 

Bất kể đó là ETL hay ELT, quá trình chuyển đổi/tích hợp dữ liệu bao gồm ba bước sau:

  • Trích xuất (Extract): Lấy dữ liệu nguồn ra từ cơ sở dữ liệu gốc hoặc nguồn dữ liệu. Với ETL, dữ liệu đi vào vùng lưu trữ tạm thời. Với ELT, nó đi ngay vào hệ thống hồ dữ liệu (Data lake).
  • Chuyển đổi (Transform): Thay đổi cấu trúc của thông tin. Quá trình chuyển đổi được tích hợp với hệ thống dữ liệu mục tiêu và phần còn lại của dữ liệu trong hệ thống đó.
  • Truyền tải (Load): Gửi thông tin vào hệ thống lưu trữ dữ liệu.
 
Tổng quan về đường dẫn dữ liệu ETL và ELT (Nguồn ảnh: Xplenty)
Tổng quan về đường dẫn dữ liệu ETL và ELT (Nguồn ảnh: Xplenty)

Tuy cùng thực hiện ba bước kể trên, nhưng trình tự của đường dẫn dữ liệu ETL và ELT là khác nhau. Vì vậy, câu hỏi đặt ra là: Nên chuyển đổi dữ liệu trước hay sau khi tải nó vào kho dữ liệu? Để trả lời, bạn cần tìm hiểu ETL và ELT một cách riêng biệt.

Quy trình ETL

Kho dữ liệu Xử lý Phân tích Trực tuyến (OLAP data warehouse) — cho dù dựa trên đám mây hay được tiến hành tại chỗ — đều cần làm việc với cấu trúc dữ liệu SQL quan hệ. Do đó, bất kỳ dữ liệu nào bạn tải vào kho dữ liệu OLAP đều phải được chuyển đổi thành định dạng quan hệ. Một phần của quá trình chuyển đổi này có thể yêu cầu ánh xạ dữ liệu (data mapping) để kết hợp nhiều nguồn dữ liệu dựa trên tương quan về mặt thông tin (Nhờ vậy, nền tảng kinh doanh thông minh –  business intelligence platform – có thể phân tích thông tin như một đơn vị tích hợp duy nhất).

Các vai trò trong quản trị dữ liệu
Các vai trò trong quản trị dữ liệu

Đó là lý do tại sao các kho dữ liệu yêu cầu ETL — vì các thao tác chuyển đổi phải được thực hiện trước khi truyền tải. Dưới đây là một số chi tiết để hiểu về ETL:

  • Một quy trình liên tục với các khâu được xác định rõ ràng: Đầu tiên, ETL trích xuất dữ liệu từ các nguồn dữ liệu đồng nhất hoặc không đồng nhất. Tiếp theo, nó gửi dữ liệu vào một khu vực lưu trữ các thay đổi trên tập tin (staging area). Từ đó, dữ liệu trải qua quá trình làm sạch, làm giàu, chuyển đổi, và cuối cùng được lưu trữ trong kho dữ liệu.
  • Được sử dụng bởi các kỹ sư dữ liệu (data engineers) trong việc lập kế hoạch chi tiết, giám sát và lập trình: Các phương pháp chuyển đổi ETL theo cách thủ công truyền thống tốn rất nhiều thời gian. Ngay cả sau khi thiết kế quy trình, dữ liệu phải mất thời gian trải qua từng giai đoạn khi cập nhật kho dữ liệu với thông tin mới.
  • Các giải pháp ETL hiện đại đơn giản và nhanh chóng hơn: ETL hiện đại, đặc biệt đối với kho dữ liệu và nền tảng SaaS dựa trên đám mây, có thể được thực hiện nhanh hơn rất nhiều. Bằng cách sử dụng giải pháp cloud-based ETL, người dùng có thể trích xuất, chuyển đổi và tải dữ liệu của họ ngay lập tức từ các nguồn khác nhau mà không cần phải có chuyên môn về lập trình.

Ưu điểm của ETL

  • Một trong những lợi thế lớn nhất của ETL so với ELT liên quan đến bản chất cấu trúc trước của kho dữ liệu OLAP. Sau khi cấu trúc / chuyển đổi dữ liệu, ETL cho phép phân tích dữ liệu nhanh hơn, hiệu quả hơn, ổn định hơn. Ngược lại, ELT không lý tưởng khi nhiệm vụ yêu cầu phân tích nhanh.
  • Một lợi thế đáng kể khác của ETL so với ELT liên quan đến việc bảo vệ dữ liệu cá nhân. Thông thường, các công ty được quy định bởi GDPR, HIPAA hoặc CCPA cần phải xóa, ẩn hoặc mã hóa các trường dữ liệu cụ thể để bảo vệ quyền riêng tư của khách hàng. Điều này có thể liên quan đến việc chuyển đổi email thành địa chỉ miền hoặc xóa phần cuối cùng của địa chỉ IP. ETL cung cấp một cách an toàn hơn để thực hiện các chuyển đổi này vì nó biến đổi dữ liệu trước khi đưa vào kho dữ liệu.
  • Cuối cùng, là một quá trình tích hợp / chuyển đổi dữ liệu, ETL đã tồn tại hơn hai thập kỷ. Điều này đồng nghĩa với việc 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. Ngoài ra, cũng không khó để tìm được các kỹ sư dữ liệu có kỹ năng và kinh nghiệm trong việc thiết lập luồng ETL.

Quy trình ELT

ELT là viết tắt của “Extract, Load và Transform.” Trong quá trình này, dữ liệu được tận dụng thông qua kho dữ liệu để thực hiện các chuyển đổi cơ bản. Điều đó có nghĩa là không cần khu vực lưu trữ thay đổi dữ liệu (data staging). ELT sử dụng các giải pháp lưu trữ dữ liệu dựa trên đám mây cho tất cả các loại dữ liệu khác nhau – bao gồm các loại dữ liệu có cấu trúc, phi cấu trúc, bán cấu trúc và thậm chí là dữ liệu thô.

Quy trình ELT cũng hoạt động song song với các hồ dữ liệu (data lake). “Hồ dữ liệu” là loại lưu trữ dữ liệu đặc biệt — không giống như kho dữ liệu OLAP — chấp nhận bất kỳ loại dữ liệu có cấu trúc hoặc phi cấu trúc nào. Các hồ dữ liệu không yêu cầu bạn phải chuyển đổi dữ liệu của mình trước khi tải lên nó. Bạn có thể tải ngay lập tức bất kỳ loại dữ liệu thô nào vào hồ dữ liệu, bất kể định dạng hay tình trạng thiếu thông tin đó.

Việc chuyển đổi dữ liệu vẫn cần thiết trước khi phân tích dữ liệu với nền tảng kinh doanh thông minh. Tuy nhiên, việc làm sạch, làm giàu và chuyển đổi dữ liệu xảy ra sau khi tải dữ liệu vào hồ dữ liệu. Dưới đây là một số chi tiết để hiểu về ELT và hồ dữ liệu:

  • ELT là một công nghệ tương đối mới, được tạo ra nhờ các công nghệ máy chủ hiện đại, dựa trên đám mây. Kho dữ liệu dựa trên đám mây cung cấp khả năng lưu trữ gần như vô tận và khả năng xử lý có thể mở rộng. Ví dụ: các nền tảng như Amazon Redshift và Google BigQuery làm cho các đường ống ELT trở nên khả thi chính nhờ vào khả năng xử lý đáng kinh ngạc của chúng.
  • ELT được ghép nối với một hồ dữ liệu, cho phép bạn ngay lập tức nhập một nhóm dữ liệu thô có quy mô ngày càng mở rộng. ELT không yêu cầu chuyển đổi dữ liệu thành một định dạng đặc biệt trước khi lưu nó vào hồ dữ liệu.
  • ELT chỉ biến đổi dữ liệu cần thiết cho một phân tích cụ thể. Mặc dù nó có thể làm chậm quá trình phân tích dữ liệu, nhưng nó mang lại sự linh hoạt hơn — vì bạn có thể chuyển đổi dữ liệu theo những cách khác nhau để tạo ra các loại chỉ số, dự báo và báo cáo khác nhau. Ngược lại, với ETL, toàn bộ đường ống ETL — và cấu trúc của dữ liệu trong kho OLAP — có thể phải sửa đổi nếu cấu trúc được quyết định trước đó không cho phép một kiểu phân tích mới.
  • ELT kém tin cậy hơn ETL: Điều quan trọng cần lưu ý là các công cụ và hệ thống của ELT vẫn đang phát triển, vì vậy chúng chưa thể đạt được mức độ đáng tin cậy cao như ETL đã ghép nối với cơ sở dữ liệu OLAP. Mặc dù cần nhiều nỗ lực hơn để thiết lập, ETL cung cấp thông tin chi tiết chính xác hơn khi xử lý nhóm dữ liệu khổng lồ. 

Ưu điểm của ELT

Ưu điểm chính của ELT so với ETL liên quan đến tính linh hoạt và dễ dàng lưu trữ dữ liệu mới, không có cấu trúc. Với ELT, bạn có thể lưu bất kỳ loại thông tin nào — ngay cả khi bạn không có thời gian hoặc khả năng để chuyển đổi và cấu trúc thông tin đó trước. Hơn nữa, bạn không phải phát triển các quy trình ETL phức tạp trước khi nhập dữ liệu và tiết kiệm thời gian cho các nhà phát triển và nhà phân tích BI khi xử lý thông tin mới.

Một số lợi ích khác của ELT:

  • Tốc độ cao: Khi nói đến tính khả dụng của dữ liệu, ELT là lựa chọn nhanh hơn. ELT cho phép tất cả dữ liệu đi vào hệ thống ngay lập tức và từ đó, người dùng có thể xác định chính xác dữ liệu họ cần để chuyển đổi và phân tích.
  • Bảo trì thấp: Với ELT, người dùng nói chung sẽ không phải có kế hoạch bảo trì “cao cấp”. Vì ELT dựa trên đám mây, nó sử dụng các giải pháp tự động thay vì dựa vào người dùng để bắt đầu cập nhật thủ công.
  • Tải nhanh hơn: Bởi vì bước chuyển đổi không xảy ra cho đến khi dữ liệu đã vào kho, nên ELT cắt giảm thời gian tải dữ liệu vào vị trí cuối cùng. Không cần đợi dữ liệu được làm sạch hoặc sửa đổi theo cách khác, nó chỉ cần đi vào hệ thống mục tiêu một lần.

So sánh hai đường dẫn dữ liệu ETL và ELT

  ETL ELT
Tính khả dụng của dữ liệu trong hệ thống ETL chỉ chuyển đổi và tải dữ liệu mà người dùng cho là cần thiết. ELT có thể tải tất cả dữ liệu ngay lập tức và người dùng có thể xác định dữ liệu nào cần chuyển đổi và phân tích sau đó.
Tính tương thích với các hồ dữ liệu ETL thường không phải là một giải pháp cho các hồ dữ liệu. 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. ELT cung cấp một đường dẫn cho các hồ dữ liệu để nhập dữ liệu phi cấu trúc. Sau đó, nó chuyển đổi dữ liệu trên cơ sở cần thiết để tiến hành phân tích.
Quy mô dữ liệu và mức độ phức tạp của việc chuyển đổi ETL phù hợp nhất để xử lý các tập dữ liệu nhỏ và yêu cầu các phép biến đổi phức tạp. ELT là tốt nhất khi xử lý một lượng lớn dữ liệu có cấu trúc và phi cấu trúc.
Khả năng hỗ trợ kho dữ liệu ETL hoạt động với các kho dữ liệu tại chỗ hoặc dựa trên đám mây. Nó yêu cầu định dạng dữ liệu quan hệ hoặc có cấu trúc. ELT làm việc với các giải pháp lưu trữ dữ liệu dựa trên đám mây để hỗ trợ các kiểu dữ liệu có cấu trúc, phi cấu trúc, bán cấu trúc và thô.
Trình tự trích xuất, biến đổi, truyền tải Các phép biến đổi dữ liệu xảy ra ngay sau khi trích xuất. Sau khi chuyển đổi, dữ liệu được tải vào kho dữ liệu. Dữ liệu được trích xuất, sau đó được tải vào hệ thống dữ liệu mục tiêu. Chỉ một số dữ liệu sau đó được chuyển đổi trên cơ sở “khi cần thiết” cho các mục đích phân tích.
Hỗ trợ dữ liệu phi 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. ELT là một giải pháp để tải dữ liệu phi cấu trúc lên hồ dữ liệu và cung cấp dữ liệu phi cấu trúc cho các hệ thống ra quyết định kinh doanh thông minh.
Thời gian chờ tải thông tin 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. Quá trình tải dữ liệu diễn ra nhanh hơn vì không phải chờ chuyển đổi và dữ liệu chỉ tải một lần vào hệ thống dữ liệu đích. Tuy nhiên, phân tích thông tin chậm hơn ETL.
Thời gian chờ để thực hiện các phép biến đổi Việc chuyển đổi dữ liệu ban đầu mất nhiều thời gian hơn vì mọi phần dữ liệu đều yêu cầu chuyển đổi trước khi tải. Ngoài ra, khi kích thước của hệ thống dữ liệu tăng lên, quá trình chuyển đổi diễn ra lâu hơn. Tuy nhiên, một khi được chuyển đổi trong hệ thống, việc phân tích diễn ra nhanh chóng và hiệu quả. Vì các phép biến đổi xảy ra sau khi tải, và bạn chỉ chuyển đổi dữ liệu bạn cần phân tích tại thời điểm đó nên các phép biến đổi diễn ra nhanh hơn rất nhiều. Tuy nhiên, nhu cầu liên tục chuyển đổi dữ liệu làm chậm tổng thời gian truy vấn / phân tích.
So sánh ETL và ELT