Blog

[Nhập môn Data Warehouse] ETL dữ liệu

Tổng quan ETL

Tiến trình ETL hay còn được gọi là tiến trình thu thập và tích hợp dữ liệu (Data Acquisition and Integration).

  • Extract (Data Acquisition): truy cập hệ thống nguồn để trích xuất dữ liệu. Dữ liệu được sinh ra từ quá trình này gọi là dữ liệu nguồn (Source Data).
  • Transform (Data Integration): kiểm tra, làm sạch, điều chỉnh phù hợp các yêu cầu của DW. Dữ liệu được tạo ra bảo quá trình này gọi là dữ liệu tải (Load Data).
  • Load (Data Integration): cập nhật DW với dữ liệu được cung cấp từ Load Data.
ETL-flow

Phân tích Hệ thông nguồn (Source System Analysis):

Nguyên lý phân tích Source System:

  • Hệ thống hồ sơ(System of Record): Tuyên bố có thẩm quyền của một thực thể hoặc sự kiện.
  • Dữ liệu thực thể (Entity Data): Các thành viên/đại lý vật lý hoặc logic của doanh nghiệp.
  • Dữ liệu số học (Arithmetic Data): Đo lường các hoạt động doanh nghiệp.
  • Dữ liệu số nhưng không phải số học (Numeric Data That ins’t Arithmetic): Dữ liệu không đúng định dạng và chức năng.
  • Dữ liệu số và chữ (Alphanumeric Data):  Văn bản và dữ liệu mô tả.
  • Mức độ chi tiết (Granularity): Mức phân cấp của độ chi tiết.
  • Độ trễ (Latency): Chậm trễ trong sự xuất hiện và tính sẵn sàng.
  • Dữ liệu giao dịch (Transaction Data): Sự kết hợp của thực thể và dữ liệu số học để đo lường một sự kiện.
  • Dữ liệu chụp (Snapshot Data): Sự kết hợp của thực thể và dữ liệu số học để đo lường kế quả thuần của nhiều sự kiện trong một khoảng thời gian.

Phương pháp phân tích Source System:

  • Hồ sơ dữ liệu (Data Profile): Một khung nhìn tĩnh của doanh nghiệp thông qua dữ liệu của nó.
  • Biểu đồ luồng dữ liệu (Data Flow Diagram): Một khung nhìn động của doanh nghiệp thông qua biến động dữ liệu.A dynamic view of the enterprise through its data in motion
  • Biểu đồ trạng thái dữ liệu (Data State Diagram): Một khung nhìn động của doanh nghiệp thông qua dữ liệu, ý nghĩa và các nghiệp vụ liên quan.
  • Hệ thống hồ sơ (System of Record)

Phân tích Hệ thống đích (Target System Analysis):

Thiết kế DW phải trình bày được cách DW phản ánh toàn bộ hệ thống nguồn (máy móc, con người, đơn hàng,…) cũng như chu trình trạng thái của các thực thể đó (đã xét, đã duyệt, được mua, được thuê,..)

  • Khi Source System tạo một thể hiện mới của một thực thể dữ diệu, DW sẽ phản ánh thực thể đó như thế nào?
  • Khi Source System thay đổi trạng thái của một thực thể dữ liệu, DW sẽ phản ánh trạng thái thay đổi đó như thế nào?
  • Khi Source System xoá bỏ một thể hiện (instance) của một thực thể dữ liệu, DW sẽ phản ánh thể hiện bị xoá bỏ như thế nào?
  • Khi một sự kiện nghiệp vụ xảy ra, DW sẽ phản ánh sự kiện đó như thế nào?
  • Khi một sự kiện nghiệp vụ xoay vòng các trạng thái của nó (khởi tạo, giao dịch, đóng), DW phản ánh các trạng thái đó như thế nào?

Data Profile

Hồ sơ dữ liệu của hệ thống đích Target System (DW) cho phép nhà phân tích ETL định nghĩa và mô tả dữ liệu sẽ được tải vào DW, bao gồm 3 phần:

  • Bản kê của các thành phần dữ liệu (Inventory of Data Elements)
    • Tên (Name)
    • Định dạng (Format)
    • Miền giá trị (Domain of values)
    • Giải giá trị  (Ranges of values)
    • Tần suất các giá trị khác biệt (Frequency of distinct values)
  • Bản kê của các thực thể dữ liệu (Inventory of Data Entities)
    • Các thành phần dữ liệu kết hợp định nghĩa dữ liệu logic
    • Các thành phần dữ liệu lõi (Core data elements)
    • Các thành phần dữ liệu mô tả (Descriptive data elements)
    • Các thành phần dữ liệu liên kết (Associative data elements)
  • Mô hình dữ liệu (Data Model)
    • Logic
    • Vật lý
    • ETL keys
    • Quan hệ giữa các khoá ngoại  (Foreign key relationships)
    • Quan hệ của các thực thể dữ liệu (Data Entity relationships)

Data State

Phân tích trạng thái dữ liệu giúp nắm bắt các ý nghĩa nghiệp vụ của các thành phần dữ liệu khi đi vào DW. DW có thể không bao gồm tất cả các trạng thái dữ liệu trong hệ thống nguồn (Operational System). Ngoài tra, trạng thái dữ liệu trong Operational System có thể khác với DW.  No giúp xác định các trạng thái được thể hiện trong Data Warehouse.

ETL Data State

Data Mapping

Nó giúp xác định dữ liệu nguồn (vị trí location, trạng thái state, thời gian timing,…) đáp ứng các yêu cầu dữ liệu của một Data Warehouse. Các phép biến đổi các thiết để tạo ra các thành phần dữ liệu trong DW cũng được thể hiện trong bản đồ dữ liệu này. Ngoài ra, nó có thể được thể hiện ở dạng bảng tính, biểu đồ hoặc văn bản.

  • Data Mapping dạng đơn giản
Simple Data Mapping
  • Data mapping dạng dẫn xuất
Recursive Data Mapping

Business Rule

Qui tắc nghiệp vụ được sử dụng để tạo ra các quy tắc kiểm chứng chất lượng dữu liệu (Data Quality validations) của dữ liệu và các luồng của nó trong DW (luồng ETL, luồng Aggregation). Vì vậy, bất kỳ thành phần dữ liệu nào trong DW phải duy trì hành xử nhất quán; và nếu có thể ảnh hưởng đễn chất lượng nhận thức của DW, phải đưa vào danh sách Business Rules.

Ví dụ:

ETL Business Rule Example

Kiến trúc ETL

Extract-Transform-Load

ETL Architecture

Trong ứng dụng ETL, data được lấy từ hệ thống hoạt động Operational System. Dữ liệu trích xuất Extracted Data được nắm bắt trên nền tảng đươc điều khiển bởi ứng dụng ETL. Tiến trình nắm bắt dữ liệu trên nền tảng này được gọi là Staging. Nền tảng này được gọi là Staging Platform hoặc Staging Environment. Tại thời điểm này, Staged Data ở dạng thô raw, giống thể thức và trạng thái của nó trong ứng dụng hoạt đông. Trước quá trình Transform, Staged Data được gọi là Source Data.

Ứng dụng Transform thực thi các phiến biến đổi dữ liệu cần thiết trên Source Data để làm nó phù hợp với các qui tắc, bố cục và định dạng trong DW. Transformed Data vẫn được được nắm bắt trong Staging Platform. Tuy nhiên, sau khi Transform, Staged Data được gọi là Load Data.

Ứng dụng Load là cầu nối khoảng cách giãu ETL/Staging Platform và DW Platform. Ứng dụng Load đọc Load Data và thực thi các bước INSERT, UPDATE, DELETE trên DW. Khi ứng dụng Load thành công, ETL hoàn thành.

Extract-Load-Transform

ETL Architecture

Sự khác biệt giữa ứng dụng ETL và ELT là nền tảng plaform mà ứng dụng thực thi chức năng của nó.

Ứng dụng ELT sử dụng nền tảng ELT như một nền tảng tạm thời để kết nối tới nền tảng DW RDBMS. Nền tảng ELT trích xuất dữ liệu hoạt động, tải trực tiếp vào các Staging Table trên nền tảng DW RDBMS. Tất cả chức năng Transform được thực hiện trên nền tảng này. Cuối cùng, DW được tải từ bên trong nền tảng DW RDBMS.

Nguyên lý thiết kế ETL

Process principles:

  1. One Thing at a Time
  2. Know when to Begin
  3. Know when to End
  4. Large to Medium to Small
  5. Stage Data Integrity
  6. Know what you have

Stage principles:

  1. Name the data
  2. Own the data
  3. Build the data
  4. Type the data
  5. Land the data

Bài viết tham khảo

  • Building and Maintaining a Data Warehouse

>> Đọc thêm:

KHOÁ HỌC TRUY VẤN VÀ THAO TÁC DỮ LIỆU SQL TỪ CƠ BẢN ĐẾN NÂNG CAO

KHÓA HỌC DATA WAREHOUSE : TỔNG HỢP, CHUẨN HÓA VÀ XÂY DỰNG KHO DỮ LIỆU TRONG DOANH NGHIỆP

KHÓA HỌC DATA MODEL – THIẾT KẾ MÔ HÌNH DỮ LIỆU TRONG DOANH NGHIỆP

LỘ TRÌNH TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU

DATA ENGINEER LÀ GÌ? CÔNG VIỆC CHÍNH CỦA DATA ENGINEER? CÁC KỸ NĂNG CẦN THIẾT

Leave a Reply

Your email address will not be published. Required fields are marked *