Chuyển đến nội dung
Data Lineage: data đã đi qua đâu?

Data Lineage: data đã đi qua đâu?

Dashboard doanh thu giảm 30%. Bảng đầu ra có năm upstream table và nhiều pipeline. Data Engineer cần biết thay đổi bắt đầu ở đâu và còn ai bị ảnh hưởng.

Data Lineage (quan hệ nguồn gốc và đường đi của data) mô tả dataset được tạo từ đâu, qua bước nào và được output nào sử dụng.

    flowchart TD
 A["MySQL<br/>orders"] --> B["raw_orders"]
 C["Payment API"] --> D["raw_payments"]
 B --> E["fact_orders"]
 D --> E
 E --> F["Dashboard doanh thu"]
 E --> G["Bảng đối soát"]
  

Lineage trả lời hai hướng

Upstream của fact_orders cho biết input nào tạo ra nó. Downstream cho biết bảng, dashboard hoặc model nào phụ thuộc vào nó.

Khi payment_status đổi type, downstream lineage giúp xác định phạm vi ảnh hưởng trước khi deploy. Khi dashboard sai, upstream lineage thu hẹp nơi cần điều tra.

Lineage có nhiều mức chi tiết:

Mức Ví dụ Dùng khi
System MySQL → Warehouse → BI Nhìn kiến trúc tổng thể
Dataset raw_orders → fact_orders Điều tra pipeline
Column payments.amount → fact_orders.revenue Phân tích thay đổi field

Lineage có thể thu tự động từ SQL và job, nhưng dynamic SQL hoặc thao tác thủ công dễ tạo khoảng trống. Owner vẫn cần kiểm tra những đường quan trọng.

Một sơ đồ đẹp nhưng đã cũ không giúp xử lý incident. Lineage nên gắn với metadata đang chạy, thời điểm cập nhật và link đến job thật. Bắt đầu ở dataset quan trọng thay vì cố vẽ toàn bộ công ty cùng lúc.