admin
1,735
09-04-2021
ETL là một phần thiết yếu của các quy trình và hệ thống Business Intelligence (BI) ngày nay. Đó là quá trình mà thông qua đó, dữ liệu từ các nguồn khác nhau có thể được đưa vào một vị trí để phân tích và khám phá thông tin chi tiết về doanh nghiệp.
Có 3 loại trích xuất chính:
– Trích xuất toàn bộ (Full Extraction): Trích xuất tất cả dữ liệu vào khu vực dàn dựng mà không cần áp dụng điều kiện.
– Trích xuất một phần (Với thông báo cập nhật): Trích xuất dữ liệu với thông báo cập nhật do nguồn gửi, nếu một số dữ liệu đã trích xuất có sửa đổi, chỉ trích xuất dữ liệu đã sửa đổi vào khu vực tổ chức.
– Trích xuất một phần (Không có thông báo cập nhật): Trích xuất dữ liệu đang có điều kiện tải, chẳng hạn như trong một số bộ lập lịch hàng ngày chỉ trích xuất dữ liệu hàng ngày đó. Phần còn lại của dữ liệu mới được thêm vào sẽ được trích xuất trong ngày tương ứng.
Có một số nhiệm vụ sẽ thực hiện trong quá trình Transform:
– Selection (Lựa chọn) : tiêu chí để lựa chọn dữ liệu trích xuất. Việc lựa chọn có thể được thực hiện trong giai đoạn chiết xuất, trong giai đoạn biến đổi hoặc trong cả hai giai đoạn.
– Integration (Tích hợp): sự kết hợp của dữ liệu từ giai đoạn trích xuất đến khu vực dàn dựng. Sự kết hợp này có nghĩa là thêm, xóa và cập nhật dữ liệu trong khu vực tổ chức dựa trên dữ liệu được trích xuất.
–Join (Tham gia): được sử dụng để nối dữ liệu được trích xuất, tương tự như phép nối SQL (phép nối bên trong, phép nối bên trái, phép nối phải, phép nối đầy đủ, v.v.)
– Cleansing (Làm sạch dữ liệu): loại bỏ dữ liệu không nhất quán hoặc không hợp lệ hoặc dữ liệu có lỗi để cải thiện chất lượng dữ liệu.
– Summarizations (Tóm tắt): tóm tắt bộ dữ liệu để sử dụng sau
– Aggregations (Tổng hợp): dữ liệu được tổng hợp và tóm tắt theo nhóm
– Consolidations (Tính toán): dữ liệu từ nhiều nguồn hoặc cấu trúc được hợp nhất trong một tập dữ liệu duy nhất
Dưới đây là một số kiểu Transform phổ biến:
– Delete duplicate data
– Splitting and merging
– Conversions (date, time, number masks, measurements)
– Encoding (Male to M)
– Calculations (item_value = unit_Price * quantity)
– Key generation
Có 3 phương pháp load chính:
– Tải toàn bộ: toàn bộ dữ liệu đã được trích xuất và chuyển đổi được tải vào khu vực phân tích
– Tải tăng dần: là quá trình so sánh dữ liệu đã chuyển đổi với dữ liệu ở đích cuối cùng và chỉ tải dữ liệu mới. Tải tăng dần có thể được sử dụng cùng với tải làm mới, được giải thích bên dưới
– Tải làm mới: là quá trình cập nhật dữ liệu ở đích cuối cùng để phản ánh những thay đổi được thực hiện trong nguồn ban đầu. Làm mới có thể đầy đủ hoặc tăng dần.
Nhìn tổng quan trong bài viết thì các bạn có thể thấy là quy trình ETL rất đơn giản, tuy nhiên đây là một công việc như mình có chia sẻ nó là phần quan trọng nhất và khá khoai để có một bộ dữ liệu doanh nghiệp hoàn chỉnh cho việc phân tích – dưới đây là một số thách thức khi xây data warehouse:
– Các kỹ sư thiếu luống nghiệp vụ kinh doanh thích hợp
– Mất dữ liệu có thể xảy ra trong quá trình ETL
– Tồn tại một số yêu cầu phần mềm không rõ ràng.
– Tồn tại các vấn đề không rõ ràng trong việc thu thập và xây dựng quy trình test dữ liệu.
– Các dữ liệu test không phải là đại diện thực sự của tất cả các quy trình kinh doanh có thể có.
Dữ liệu quan trọng đối với tất cả các doanh nghiệp để đưa ra các quyết định quan trọng. Kiểm tra ETL đóng một vai trò quan trọng trong việc xác minh, xác thực và đảm bảo rằng thông tin kinh doanh là chính xác, nhất quán và đáng tin cậy. Kiểm tra ETL là kiểm tra tập trung vào dữ liệu, bao gồm việc so sánh khối lượng lớn dữ liệu trên các nguồn dữ liệu không đồng nhất. Kiểm tra tập trung vào dữ liệu này giúp đạt được dữ liệu chất lượng cao bằng cách sửa các quy trình sai sót một cách nhanh chóng và hiệu quả.
Kiểm tra tập trung vào dữ liệu: Kiểm tra tập trung vào dữ liệu xoay quanh việc kiểm tra chất lượng của dữ liệu. Mục tiêu của kiểm tra tập trung vào dữ liệu là đảm bảo rằng dữ liệu hợp lệ và chính xác nằm trong hệ thống. Nó đảm bảo rằng các quy trình ETL thích hợp được áp dụng trên cơ sở dữ liệu nguồn, trong quá trình chuyển đổi và trên dữ liệu tải trong cơ sở dữ liệu đích. Nó cũng đảm bảo rằng việc di chuyển và nâng cấp hệ thống thích hợp được thực hiện.
Kiểm tra độ chính xác của dữ liệu: Loại kiểm tra này đảm bảo rằng dữ liệu được chuyển đổi và tải chính xác như mong đợi. Thông qua thử nghiệm này, chúng tôi có thể xác định các lỗi thu được do cắt ngắn ký tự, ánh xạ cột không phù hợp, lỗi triển khai trong logic, v.v.
Kiểm tra tính đầy đủ của dữ liệu: Các kiểm tra này giúp xác minh rằng tất cả dữ liệu mong đợi được tải vào đích từ nguồn. Nó giúp xác minh số lượng hàng trong bảng lái xe khớp với số lượng trong bảng mục tiêu.
Kiểm tra tính toàn vẹn của dữ liệu: Loại kiểm tra này giúp kiểm tra số lượng hàng “không xác định” hoặc “chưa khớp” đối với khóa ngoại và so sánh tỷ lệ khớp khóa ngoại bằng cách chạy truy vấn trên dữ liệu.
Kiểm tra nghiệp vụ: Kiểm tra này đảm bảo rằng dữ liệu đáp ứng các yêu cầu kinh doanh quan trọng. Dữ liệu được đánh giá dựa trên các quy tắc kinh doanh đã nêu. Thử nghiệm này cũng kiểm tra xem dữ liệu đã được di chuyển, sao chép hoặc tải hoàn toàn và chính xác hay chưa.
Kiểm tra chuyển đổi dữ liệu: Nó được thực hiện trong nhiều trường hợp vì nó không thể đạt được bằng cách viết trên truy vấn SQL nguồn và so sánh kết quả đầu ra với đích.
Kiểm tra xác nhận sản xuất: Loại kiểm tra này được thực hiện trên dữ liệu đang được chuyển đến sản xuất. Để đạt được các quyết định kinh doanh hiệu quả, dữ liệu trong hệ thống sản xuất phải có thứ tự hợp lệ và chính xác.
Với nhu cầu phát triển không ngừng của các doanh nghiệp và những thay đổi tương tự trong hệ thống nguồn, Testing ETL thúc đẩy hiệu quả sự thay đổi liên tục trong lược đồ kho dữ liệu và dữ liệu đang được tải. Do đó, điều cần thiết là các quy trình phát triển và thử nghiệm phải được xác định rõ ràng. Testing ETL và Data Warehouse nên được theo sau bởi phân tích tác động và nên tập trung vào sự liên kết chặt chẽ giữa phát triển, hoạt động và các nhóm kinh doanh. Dưới là số công cụ kiểm tra ETL có thể được sử dụng.
Kiểm tra ETL có thể được thực hiện theo cách thủ công hoặc bằng cách sử dụng các công cụ như Informatica, QuerySurge, v.v. Tuy nhiên, phần lớn việc ETL Testing được thực hiện bằng kịch bản SQL hoặc phân tích dữ liệu trên Excel, Google Spread Sheet. Việc sử dụng các công cụ kiểm tra tự động đảm bảo rằng chỉ dữ liệu đáng tin cậy mới được phân phối trong hệ thống quá trình phân tích báo cáo kết quả đầu ra của bạn. Quá trình Testing ETL làm giảm rủi ro kinh doanh và của việc mất mát và dữ liệu lỗi.
Tóm lại
Trích xuất dữ liệu từ các nguồn khác nhau, chuyển đổi dữ liệu thu được thành định dạng dễ đọc và tải dữ liệu đó lên kho dữ liệu là một nhiệm vụ rất lớn vì nó rất quan trọng đối với khả năng cạnh tranh của doanh nghiệp. Việc sử dụng dữ liệu và phân tích phù hợp có thể tạo ra sự khác biệt đối với cách các doanh nghiệp đưa ra các quyết định quan trọng ảnh hưởng đến sự tăng trưởng của họ. Quá trình khai thác, chuyển đổi và tải có một số thách thức, khiến nó trở thành một hoạt động phức tạp. Để đảm bảo rằng ETL phục vụ mục đích đã định, nó cần diễn ra liền mạch. Đây là lúc phải Testing ETL.
Bài tiếp theo mình sẽ chia sẻ tiếp về quá trình ghi nhật ký và hiệu suất của ETL
Nguồn bài tham khảo: Bài viết được lược dịch và tổng hợp từ:
https://www.guru99.com/etl-extract-load-process.html
https://medium.com/@supunbandara06/etl-process-9aa283a79565
https://pediaa.com/what-is-the-difference-between-etl-and-data-warehouse/#:~:text=Partial%20Extraction%20(with%20update%20notification,based%20on%20certain%20key%20features.
Nếu bạn muốn hiểu sâu về phân tích dữ liệu một cách bài bản từ chuyên gia top trong nghành vui lòng đăng ký khóa học của chúng tôi sẽ khai giảng vào ngày 14/4 tới:
=>Link đăng ký tại: https://bit.ly/3t8koBA