10 — Final Synthesis
Databricks như managed data platform runtime sở hữu các seam giữa Spark, notebook, identity, policy, storage, config, observability và capacity.
Câu hỏi cuối
Sau khi trả lời từng nhánh, mình muốn tổng hợp lại một câu:
Databricks Runtime khác gì với việc tự ghép Spark + notebook + HMS + Ranger + object storage?
Thesis tạm thời
Databricks không chỉ cung cấp Spark, notebook, catalog và storage integration. Điểm đáng học là nó own các seam giữa chúng:
- ai start runtime;
- ai giữ SparkContext;
- ai nhận command;
- ai giữ language session;
- ai biết command/query thuộc user nào;
- ai resolve catalog/table;
- ai enforce permission/FGAC;
- ai derive/vend storage credential;
- ai wrap filesystem;
- ai kiểm soát config;
- ai emit telemetry;
- ai report load/capacity signal.
Sườn tổng hợp sau này
1. From Spark job to runtime service
Spark job truyền thống kết thúc sau workload. Databricks interactive runtime sống lâu, nhận command nhỏ, giữ state, stream result, có health/readiness/load signal.
2. From notebook kernel to command platform
Notebook không chỉ là Jupyter kernel. Databricks có command routing, DriverCorral, language-specific DriverLocal, pre/post command setup, output/result handling.
3. From login identity to execution principal
Identity không dừng ở UI. Nó phải đi vào command/query/storage path qua headers/context/token. run_as tách authorizing principal khỏi authenticating actor.
4. From catalog policy to runtime enforcement
AuthZ không chỉ ở catalog API. It has to sit in catalog resolution, Spark analyzer rules, row/column policy rewrite, storage credential derivation, and filesystem wrappers.
5. From object storage path to governed storage access
Storage path không còn là raw S3/ADLS/GCS path. Nó trở thành path dưới một principal/securable/credential scope cụ thể.
6. From config/logging as ops details to platform contract
Config và telemetry là part of control boundary. Runtime config phải bị govern; runtime event/log/query history là cách control plane hiểu và vận hành data plane.
Format viết kết luận cuối
Mỗi claim nên có:
Claim
Mechanism
Evidence
LimitKhông viết “Databricks chắc chắn làm X” nếu mới chỉ thấy tên class/config. Dùng:
- “snapshot cho thấy” khi có file/config/log/class evidence;
- “gợi ý” khi có nhiều dấu vết nhưng chưa có body/source;
- “chưa verify” khi chỉ là mental model nối các mảnh.