ETL là viết tắt của Extract Transform Load và nó là quá trình làm thế nào dữ liệu được đưa vào từ các nguồn dữ liệu vào kho dữ liệu.
ETL đơn giản là :
- Extracts dữ liệu — tức là đi thu gom dữ liệu từ nhiều nguồn khác nhau — doanh nghiệp của bạn sẽ có một vài phần mềm với mỗi phần mềm đảm nhiệm một công việc nào đó như dữ liệu người dùng từ database của một website, từ hệ thống quản lý quan hệ khách hàng (CRM) và công việc cần làm đi thu gom dữ liệu từ các nguồn dữ liệu này.
- Transforms dữ liệu — tức là chuyển đổi dữ liệu, việc chuyển đổi này có mục đích hẳn hoi, đó là chuyển đổi từ các dữ liệu nghiệp vụ của các phần mềm thành dữ liệu phân tích được, đồng thời phải tối ưu hóa cho mục đích phân tích dữ liệu này. Ngoài ra, việc chuyển đổi dữ liệu còn một mục đích khác nữa là làm sạch dữ liệu
- Load dữ liệu — như bạn thấy ở hình trên, sau khi được chuyển đổi thì toàn bộ các dữ liệu này được đưa vào một nơi lưu trữ mới, mà người ta gọi là DataWarehouse (tạm dịch là kho dữ liệu). Và đến đây là kết thúc giai đoạn ETL dữ liệu, giai đoạn đầu tiên để bạn triển khai giải pháp Business Intelligence cho doanh nghiệp của bạn.
Các công cụ ETL mà có thể sử dụng là:
- Pentaho Kettle — là công cụ Open Source, thành lập 2001 và sử dụng công cụ GUI để bạn xây dựng và vận hành ETL dữ liệu của mình — họ có phiên bản Community và phiên bản thương mại, và bạn có thể sử dụng Java để phát triển Engine của sản phẩm này. Đây là công cụ tương đối đầy đủ cho việc ETL, tổ chức Warehouse, và xây dựng các báo cáo phân tích BI.
- Talend — thành lập tháng 10, 2006 — tập trung vào ETL dữ liệu và là một opensource cho ETL dữ liệu
Ngoài ra còn rất nhiều tool ETL khác như Apache Airflow , Apache Kafka , CloverETL bạn có thế tìm hiểu thêm ở đây https://dzone.com/articles/open-source-etl-tools-comparison