Amundsen — Lyft's data discovery & metadata engine
Bài tóm tắt Lyft 2019 2. Tăng trưởng Độ khó: Dễ
Lyft · 2019 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc
Bài giới thiệu sản phẩm nội bộ (về sau open source); kiến trúc được hẹn ở bài sau. Giá trị chính ở cách phân loại metadata và hai đánh đổi.
Bối cảnh
- Ở Lyft, data scientist và research scientist lẽ ra dành phần lớn thời gian làm model và đưa lên production, nhưng mất nhiều thời gian cho tìm dữ liệu: dữ liệu có tồn tại không, ở đâu, đâu là nguồn sự thật, có quyền truy cập không, ai sở hữu, ai hay dùng, có việc sẵn để dùng lại không, có tin được không.
Thay đổi chính
- Metadata theo "ABC" (mượn từ paper Ground): Application context (tồn tại, mô tả, ngữ nghĩa, tag), Behavior (ai tạo, ai dùng, sở hữu, lineage), Change (schema tiến hoá, ETL tạo ra nó). Đối tượng được mô tả: bảng trong kho (Hive, Presto, MySQL, S3), dashboard, event/schema, stream (Kafka, Kinesis), job xử lý, và cả con người (team, dữ liệu hay dùng).
- Amundsen là "Google cho dữ liệu": ô tìm kiếm bằng tiếng thường, khớp mờ trên tên bảng, tên cột, mô tả; xếp hạng kiểu PageRank theo số lần được query (bảng hay dùng lên trên). Trang chi tiết: mô tả do người viết, cột phổ biến được đánh dấu, chủ sở hữu, người dùng thường xuyên (sinh tự động từ audit log), số bản ghi theo thời gian, thống kê cột (null, min, max, trung bình trên ngày gần nhất), xem trước partition mới nhất nếu có quyền.
- Đánh đổi 1: discovery vs curation. Tổ chức nhỏ, dữ liệu được làm cẩn thận thì ít cần tìm kiếm; tổ chức lớn nhanh thì chỉ curation không đủ. Lyft làm cả hai: hệ tìm kiếm + quy ước đặt tên và mô tả.
- Đánh đổi 2: bảo mật vs dân chủ hoá. Metadata cơ bản (tồn tại, tên, mô tả, chủ, lần cập nhật) ai cũng xem được, để biết mà xin quyền; nếu chính sự tồn tại của bảng lộ thông tin thì sửa mô hình dữ liệu chứ không giấu. Metadata giàu (thống kê cột, xem trước) chỉ cho người có quyền với dữ liệu.
Kết quả (theo Lyft)
- Thời gian tìm ra một artifact còn khoảng 5% so với trước Amundsen. Tích hợp Hive, Presto và mọi hệ dùng Hive metastore; lộ trình thêm người (từ hệ HR), dashboard, lineage, schema registry, stream. Hướng tiếp: dùng metadata để tag dữ liệu cá nhân cho GDPR/CCPA.
Vì sao
- Khi số bảng tăng nhanh hơn khả năng làm sạch, thứ giúp được người dùng là tín hiệu hành vi (ai query, query bao nhiêu) lấy tự động từ log, không chỉ mô tả viết tay (Pipeline dữ liệu và analytics).
Bài học cho SWE
- Lấy metadata "ai dùng" từ audit log thay vì bắt người khai báo.
- Tách metadata theo mức nhạy cảm: công khai sự tồn tại, giới hạn nội dung.
- Ownership và lineage dùng được cho cả năng suất lẫn compliance.
Liên quan
- Notion 2024 (năm năm sau: catalog có mà ít dùng, chữa ở nguồn) · Netflix 2022 · Pinterest 2014
- Pipeline dữ liệu và analytics
#Data discovery#Metadata#Amundsen#Search ranking#Hive metastore#Presto#Ownership#Lineage#Access control#Compliance
Được nhắc tới trong
Chủ đề (1)
Công ty (1)
Bài tóm tắt (5)