Databricks Jobs & Computes Operations
From Operational Questions to Dimensional Modeling
Operational Questions
Tại Masan, team tớ đang vận hành một Data Platform với scale tương đối lớn trên Databricks. Trong quá trình vận hành, ngoài bài toán chi phí - vốn luôn là một trong những mối quan tâm lớn nhất - team cũng cần theo dõi sát hiệu quả sử dụng compute resources và workload behavior của toàn platform.
Do team đã có người phụ trách riêng các bài toán FinOps như cost allocation theo business units, teams, projects hay products, nên tớ có cơ hội tập trung nhiều hơn vào khía cạnh operational analytics của hệ thống.
Từ đó, tớ bắt đầu đặt ra một số câu hỏi như:
Compute Efficiency
- Cluster sizing đã thực sự hợp lý chưa?
- Có đang xảy ra tình trạng over-provision hoặc under-utilization resources hay không?
- Worker type, Photon, autoscaling ảnh hưởng thế nào tới runtime và compute cost?
Shared Compute Utilization
- All-purpose/shared cluster có đang bị contention theo từng khung giờ hay không?
- Workload distribution có bị lệch peak time khiến cluster quá tải tại một số thời điểm nhưng nhàn rỗi ở các thời điểm khác?
- Shared compute đã thực sự được tận dụng hiệu quả chưa?
Pooling Efficiency
- Pool hit/miss ratio hiện tại ra sao?
- Có thể tối ưu worker type hoặc scheduling strategy để cải thiện pool utilization không?
- Việc sử dụng pools có thực sự giúp giảm cluster startup overhead hay chưa?
SQL Warehouse Behavior
- Query workload thường tập trung vào những khung giờ nào?
- Có tồn tại peak usage periods rõ rệt hay không?
- Idle timeout hiện tại đã được cấu hình hợp lý để cân bằng giữa responsiveness và cost chưa?
- Có nên pre-start warehouse vào một số thời điểm cố định trong ngày để giảm cold start latency hay không?
Actions
Tất cả những băn khoăn trên đã thúc đẩy tớ đi tìm hiểu sâu hơn về Databricks system tables và operational metadata của platform.
Databricks thực tế đã cung cấp sẵn rất nhiều source tables liên quan tới jobs, clusters, pools, SQL warehouses và query workloads. Tuy nhiên, raw operational tables alone vẫn chưa đủ để trả lời các câu hỏi mang tính analytical hoặc historical analysis một cách hiệu quả.
Từ đó, tớ nhận ra dimensional modeling là một hướng tiếp cận phù hợp để:
- tổ chức lại operational data,
- xây dựng analytical views ổn định,
- và hỗ trợ theo dõi compute behavior theo thời gian.
Đồng thời đây cũng là cơ hội để tớ kiểm chứng cách dimensional modeling có thể được áp dụng cho operational analytics của Data Platform, thay vì chỉ các bài toán BI truyền thống như sales hoặc customer analytics.