Phân bổ chi phí Databricks theo phòng ban và dự án: quy chuẩn tag phải có từ ngày đầu
Hoá đơn Databricks chỉ là một con số tổng. Cách gắn tag, bắt buộc tag và lập báo cáo để biết từng phòng ban, từng dự án đang sử dụng bao nhiêu.
Cuối tháng đầu tiên sau khi đưa nền tảng Databricks vào vận hành, bộ phận tài chính thường nhận được một hoá đơn tổng và đặt ngay một câu hỏi: khoản này thuộc về phòng ban nào, dự án nào. Nếu tài nguyên chưa được gắn tag, câu hỏi đó không có lời giải. Việc gắn tag bổ sung sau này cũng không cứu được dữ liệu cũ, vì tag chỉ áp dụng cho mức tiêu thụ phát sinh từ thời điểm gắn trở đi.
Bài viết này trình bày cách tổ chức việc phân bổ chi phí trên Databricks: dữ liệu chi phí nằm ở đâu, gắn tag cho từng loại tài nguyên thế nào, làm sao để tag trở thành bắt buộc, và những khoản chi phí nào khó phân bổ.
1. Dữ liệu chi phí nằm ở đâu
Mọi mức tiêu thụ tính phí đều được ghi vào bảng hệ thống system.billing.usage. Mỗi dòng cho biết ngày sử dụng, workspace, loại sản phẩm (SKU), khối lượng tiêu thụ tính bằng DBU, định danh cụm máy hoặc job liên quan, và các tag tuỳ chỉnh (custom tag) gắn trên tài nguyên đó. Bảng system.billing.list_prices chứa đơn giá niêm yết theo từng SKU; nhân khối lượng tiêu thụ với đơn giá có hiệu lực tại thời điểm sử dụng sẽ ra chi phí theo giá niêm yết, chưa tính chiết khấu trong hợp đồng.
Điều quan trọng là custom tag được ghi thẳng vào từng dòng tiêu thụ. Vì vậy, chỉ cần tag được gắn đúng và đủ, báo cáo chi phí theo phòng ban là một truy vấn đơn giản:
SELECT usage_date,
custom_tags['cost_center'] AS cost_center,
sku_name,
SUM(usage_quantity) AS dbu
FROM system.billing.usage
WHERE usage_date >= date_sub(current_date(), 30)
GROUP BY ALL
ORDER BY usage_date, cost_center;
Dòng nào có cost_center rỗng là mức tiêu thụ chưa được gắn tag. Tỷ lệ này là chỉ số đầu tiên cần theo dõi.
2. Bộ tag tối thiểu, thống nhất trước với bộ phận tài chính
Không cần nhiều tag. Ba đến bốn khoá với danh sách giá trị cố định là đủ cho phần lớn doanh nghiệp:
cost_center: mã trung tâm chi phí, trùng với mã bộ phận tài chính đang dùng trong hệ thống kế toán.project: dự án hoặc bài toán, để biết một sáng kiến tốn bao nhiêu so với giá trị nó mang lại.env: môi trường phát triển, kiểm thử hay vận hành chính thức.owner: nhóm chịu trách nhiệm về tài nguyên.
Danh sách giá trị cần được bộ phận tài chính xác nhận trước khi triển khai. Nếu mỗi đội tự đặt giá trị theo ý mình (“Risk”, “risk”, “QLRR”), báo cáo sẽ phải làm sạch thủ công mỗi tháng.
3. Gắn tag cho từng loại tài nguyên
Mỗi loại tài nguyên nhận tag theo một cách khác nhau:
| Tài nguyên | Nơi gắn tag |
|---|---|
| Workspace | Giao diện (chỉ trên Azure) hoặc Account API |
| Pool | Giao diện Pools hoặc Instance Pool API |
| Cụm máy tương tác và cụm máy chạy job | Giao diện Compute hoặc Clusters API |
| SQL warehouse | Giao diện SQL Warehouse hoặc Warehouses API |
| Database instance (Lakebase) | Giao diện hoặc Database API |
| Tài nguyên serverless | Chỉ qua serverless budget policy trong Account Console |
Tag ở cấp workspace được áp cho mọi tài nguyên trong workspace đó. Nếu mỗi phòng ban có workspace riêng, việc phân bổ gần như tự động, nhưng số workspace phải quản trị tăng theo số phòng ban. Khi nhiều phòng ban dùng chung một workspace, tag phải được gắn ở cấp cụm máy, warehouse và job.
Tài nguyên serverless cần lưu ý riêng: notebook, job, pipeline và model serving chạy serverless chỉ nhận tag qua budget policy. Budget policy có một số giới hạn cần biết trước: tài sản đã tạo không tự nhận policy mới được gán; thay đổi tag chỉ áp cho mức tiêu thụ phát sinh sau đó; pipeline do job kích hoạt không kế thừa policy của job; và người dùng có nhiều policy mà không chọn thì policy đứng đầu theo thứ tự chữ cái được áp dụng.
4. Bắt buộc gắn tag bằng policy, không dựa vào nhắc nhở
Quy chuẩn tag chỉ có hiệu lực khi hệ thống không cho phép tạo tài nguyên thiếu tag. Databricks cung cấp các cơ chế sau:
- Compute policy với tag cố định. Policy có thể đặt giá trị
custom_tags.cost_centerở dạng cố định, nên mọi cụm máy tạo từ policy đó mang sẵn đúng tag. Mỗi phòng ban một policy, cấp quyềnCAN_USEcho nhóm tương ứng. - Thu hồi quyền tạo cụm máy tự do. Người dùng có quyền “Allow unrestricted cluster creation” có thể tạo cụm máy ngoài mọi policy, nên quyền này chỉ dành cho quản trị viên.
- Cấp warehouse theo nhóm. Người dùng được khởi động warehouse đã cấp cho nhóm mình nhưng không tự tạo warehouse mới.
- Gán budget policy mặc định cho serverless, để không có mức tiêu thụ serverless nào nằm ngoài phân bổ.
- Một job kiểm tra hằng ngày liệt kê cụm máy và warehouse chưa có tag, gửi cho quản trị viên nền tảng.
5. Những khoản khó phân bổ
Một số chi phí không thể gắn trọn cho một phòng ban, và nên thống nhất cách xử lý từ đầu thay vì tranh luận hằng tháng.
SQL warehouse dùng chung là trường hợp phổ biến nhất. Dùng chung tiết kiệm chi phí nhưng làm việc phân bổ phức tạp hơn, vì mức tiêu thụ được ghi cho warehouse chứ không cho từng người truy vấn. Có hai cách: cấp warehouse riêng cho những phòng ban dùng nhiều, hoặc chấp nhận một dòng chi phí dùng chung và phân bổ theo tỷ lệ đã thống nhất với bộ phận tài chính.
Chi phí phía nhà cung cấp cloud cũng cần tính đến. Với compute classic, máy ảo, ổ đĩa và mạng nằm trên hoá đơn cloud chứ không nằm trong system.billing.usage. Tag của SQL warehouse được tự động gắn sang máy ảo phía cloud; với pool, tag của pool được chuyển sang máy ảo, còn tag của cụm máy chỉ xuất hiện trong dữ liệu DBU. Chi phí lưu trữ có thể phân bổ bằng cách dùng tài khoản lưu trữ riêng cho từng khối nghiệp vụ.
6. Báo cáo và ngân sách
Account Console có sẵn dashboard mức tiêu thụ, chia theo sản phẩm, SKU và custom tag, cho toàn tài khoản hoặc từng workspace. Mỗi budget được giới hạn theo workspace hoặc theo tag và có tối đa bốn ngưỡng theo tháng; mỗi ngưỡng là một số tiền cụ thể, khi mức chi vượt ngưỡng hệ thống gửi cảnh báo qua email. Trừ budget dành cho Unity Gateway có thể chặn các yêu cầu tiếp theo, budget không chặn mức tiêu thụ: hoá đơn cuối tháng vẫn có thể vượt ngân sách. Để giám sát tự động, doanh nghiệp truy vấn trực tiếp bảng system.billing.usage.
Người nhận cảnh báo nên gồm cả đội kỹ thuật lẫn đầu mối nghiệp vụ của phòng ban, vì quyết định cắt giảm hay tiếp tục chi thường là quyết định nghiệp vụ.
Sancire làm gì trong việc này
Gói Dựng nền tảng lakehouse của Sancire, kéo dài 4 đến 6 tuần với giá từ 25.000 USD, bàn giao quy chuẩn gắn tag chi phí và cảnh báo ngân sách ngay từ ngày đầu, cùng policy bắt buộc tag cho cụm máy, warehouse và serverless. Với nền tảng đang vận hành, gói Vận hành nền tảng rà soát chi phí theo tag và theo đội ngũ hằng tháng. Nếu doanh nghiệp chưa biết mức tiêu thụ hiện tại thuộc về ai, buổi khảo sát 90 phút là điểm bắt đầu phù hợp.
Nguồn: Tài liệu Databricks về bảng hệ thống billable usage, tra cứu ngày 29/9/2026. Tài liệu Databricks về budget, tra cứu ngày 16/10/2026. Tên và trạng thái tính năng thay đổi nhanh; cần đối chiếu tài liệu hiện hành trước khi thiết kế.