Lập trình
Metric Semantic Layer: How Lyft Governs and Scales Key Data Definitions
/3 phut doc/1 luot xem
KẾT LUẬN
Lyft đã xây dựng Metric Semantic Layer (MSL) như một giải pháp nội bộ dưới dạng Python package để quản trị tập trung các định nghĩa metric, giải quyết triệt để vấn đề phân mảnh định nghĩa dữ liệu khi tổ chức mở rộng. MSL không chỉ đảm bảo tính nhất quán của dữ liệu xuyên suốt tổ chức mà còn tạo nền tảng vững chắc cho AI Agents thông qua MCP, mở ra hướng tích hợp với các công cụ BI và phân tích dựa trên AI trong tương lai.
LUẬN ĐIỂM CHÍNH
- Thiếu nhất quán trong định nghĩa metric là vấn đề tất yếu khi tổ chức scale — các team khác nhau dùng các định nghĩa khác nhau cho cùng một metric, dẫn đến quyết định sai lệch và thiếu niềm tin vào dữ liệu.
- MSL được triển khai dưới dạng Python package, sử dụng YAML config và Jinja SQL templates để lưu trữ định nghĩa metric — tạo ra single source of truth cho toàn bộ tổ chức, mọi thay đổi tự động lan tỏa đến tất cả downstream applications.
- Governance model hai lớp (Business Owner + Operational Owner) với cơ chế phê duyệt kép đảm bảo chất lượng và độ tin cậy lâu dài của metric; owner luôn là team chứ không phải cá nhân để chống chịu với biến động nhân sự.
- MSL tích hợp đa kênh truy cập: Python API cho lập trình viên, Amundsen cho data catalog, self-service UI cho người không code, và AI MCP/Skills giúp AI Agents truy vấn metric bằng ngôn ngữ tự nhiên với độ chính xác cao.
LUẬN ĐIỂM PHỤ
- Chỉ các Golden Metrics — metric có ít nhất 2 use case hoặc application khác nhau — mới được đưa vào MSL, tránh overhead quản trị cho các metric quá niche chỉ dùng nội bộ một team.
- YAML config kết hợp Jinja template mang lại tính linh hoạt cao (DRY, dễ đọc, hỗ trợ parameterization theo time granularity và dimensions) mà không đòi hỏi learning curve lớn như các template framework khác.
- MSL đã được mở rộng thành knowledge base cho AI Agents thông qua MCP (Model Context Protocol), tích hợp với Claude, Cursor, và Hex, có guardrails đánh giá kết quả bằng ground truth và LLM as a judge để giảm hallucination.
LUẬN CỨ & VÍ DỤ
- Ví dụ YAML config cho metric rides_completed: operational_owner là rides_table_owners, data_sources là rides_table, SQL view dùng Jinja template DATE_TRUNC với time_granularity và dimensions được parameterize, metric expression là 1.0*count_if(is_dropped_off) — tất cả định nghĩa gói gọn trong một file.
- Python API get_sql() cho phép truy xuất SQL hoàn chỉnh chỉ với vài tham số (metric_group_name, start_date, end_date, dimension_names, metric_names, time_granularity) — tự động generate mệnh đề GROUP BY và điều kiện lọc theo time granularity.
- MCP integration: Lyft tạo MCP server với tools truy cập MSL library, cho phép người dùng hỏi bằng ngôn ngữ tự nhiên về metric với hallucination thấp hơn hẳn nhờ định nghĩa deterministic; tích hợp được với Claude, Cursor IDE, và Hex BI tool.
Nguồn: Data Engineering Weekly | Phân tích bởi AI
Ban thay bai viet nay the nao?
Bình luận (0)
Bài viết liên quan
Gợi ý dựa trên điểm tương quan phân cấp và danh mục chung
Ngưỡng tương quan tối thiểu:30%
Tất cả (0%)Tương quan mạnh (70%+)
Không có bài viết nào đạt ngưỡng tương quan này. Hãy thử kéo thanh trượt sang trái.
--- Het ---