Etl la gi

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

Etl la gi
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).

Đó 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.