ETL và các công cụ
ETL là gì? Đơn giản là: Extracts dữ liệu - tức là đi thu gôm 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ư quản trị nhân sự (HCM), quản lý quan hệ khách hàng (CRM) và đây là công việc đi thu gôm dữ liệu ...
ETL là gì?
Đơn giản là: Extracts dữ liệu - tức là đi thu gôm 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ư quản trị nhân sự (HCM), quản lý quan hệ khách hàng (CRM) và đây là công việc đi thu gôm dữ liệu từ các nguồn của các phần mềm 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ủa các nhà quản trị, đồ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, chuyển đổi dữ liệu còn tham gia vào 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.
Tại sao tôi phải ETL dữ liệu?
Nếu tôi vẫn để nguyên các dữ liệu trên các database của các dữ liệu nguồn, tôi vẫn làm được các báo cáo phân tích,.. vậy tại sao tôi phải ETL dữ liệu làm gì?
Như đã nói trên, bạn dùng ETL dữ liệu để chuyển mục đích, và tối ưu hóa mục đích sử dụng dữ liệu của các phần mềm từ ghi nhận các nghiệp vụ phát sinh hàng ngày, sang mục đích khai thác, vận hành, và phân tích các dữ liệu này để các nhà quản trị tìm ra các cơ may phát triển, các hoạt động kinh doanh mới đề vận hành doanh nghiệp - và đây chính là mục đích của ETL, và là nguyên nhân bạn cần công cụ này - chuyển đổi công năng sử dụng dữ liệu để cung cấp cho nhà quản trị.
Tôi có cần Datawarehouse không? Không nhất thiết phải có, nhưng nên có - vì như thế mới đạt được tới mục đích tối ưu dữ liệu của bạn nhằm phục vụ các cụ khó tính nhất trong doanh nghiệp của bạn, các cụ nằm ở C-level.
Các công cụ ETL hiện tại mà các doanh nghiệp thường dùng hiện nay là gì? nhất là các công cụ với giá rẻ
Các công cụ mà bạn 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. Phiên bản Community hiện đang có 13,500 Register
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 Informatica PowerCenter - Đây là công cụ rất tốt cho ETL dữ liệu (bản thương mại) - được thành lập năm 1993 và cho tới nay đã có khoản 2,600 khách hàng tin dùng và đang vận hành công cụ này trên toàn cầu. Informatica tập trung mạnh vào ETL dữ liệu
Inaplex Inaport - Nếu công ty của bạn cần ETL dữ liệu với một số các phần mềm nguồn là CRM thì Inplex Inaport có thể là một lựa chọn (nhưng bên BSD chưa thực sự R&D cho sản phẩm này, nên không biết nhiều về nó)
Để so sánh 3 giải pháp đầu là Pentaho, Talend, và Infomatica thì mình có các nhận xét theo kinh nghiệm làm việc của mình ở các giải pháp này như sau:
Chi phí Infomatica là giải pháp thương mại là chính, nên chi phí sẽ đắc hơn 2 giải pháp còn lại (cho dù là Pentaho và Talend cũng có các giải pháp thương mại, nhưng giá của 2 giải pháp này vẫn cứ rẻ hơn Informatica).
Dễ sử dụng, làm việc cho cả Business User và Technicial User Về mặt này mình đánh giá Infomatica và Pentaho ngang ngửa nhau, còn Telend khó sử dụng hơn đặc biệt là cho Business Users.
Phát triển sản phẩm. Tức là công việc để xây dựng trọn gói một giải pháp Business Intelligence cho doanh nghiệp, bao gồm ETL, Data Moduling, Analytics, Report, and Dashboaring. Mình thích Pentaho (cá nhân mình thôi nhe, còn những vị khác thì mình làm răn mà biết được), còn lại Infomatica và Talend ngang ngữa nhau về mặt phát triển sản phẩm.
Tốc độ Đánh giá ngang ngữa nhau cho 3 giải pháp này ở DB tầm trung (khoảng 200 GB), còn lên cao hơn nữa thì mình chưa làm việc, mình sẽ thử với các DB lớn hơn và feed back lại cho bạn ở topic này sau vậy.
Monitoring Tức là công cụ để hỗ trợ mình giám sát các sự cố xảy ra trong giải pháp, và công cụ hỗ trợ mình tìm kiếm lỗi phải trong giải pháp - cái này em đánh giá rất cao Informatica, còn lại chắc là ngang ngửa nhau cho Pentaho và Talend
Data Quality
Vẫn thế, Informatica dẫn đầu (theo cá nhân mình) còn lại đánh đồng ngang ngửa cho 2 em còn lại.
Nói một cách khác, mọi sự so sánh không có ý nghĩa lớn bằng việc doanh nghiệp bạn cần gì, và mình tìm đúng công cụ với thế mạnh của sản phẩm đó, và bên cạnh đó là phần kỹ thuật của anh/em cũng như nhà cung cấp giải pháp cho bạn. Không đi thẳng từ A đến B được thì ta đi vòng từ A đến C, đến D rồi lại mò về B thôi. Vấn đề là kinh nghiệm nên làm như thế nào để đạt được cái tối ưu nhất và dễ dàng cho người dùng đầu cuối (Business User) đến mức tốt nhất mà mình có thể.