大数据平台多租户形态:强多租的优势与挑战及MaxCompute的实现
多租户形态对比
多租户形态分类
- 强多租:数据库独立实例级别,支持RBAC管控面统一,独立计算资源
- 单租:计算+开放存储(如AWS EMR、Databricks),计算+内部存储(如BigQuery、MaxCompute)
对比分析
| 特性 | 强多租(如MaxCompute) | 单租(如AWS EMR、Databricks) | 单租(如BigQuery、MaxCompute) |
|--------------|--------------------------------------------|------------------------------------------------|-----------------------------------------------|
| 优势 | - 开箱即用,无需创建独立资源
- 极致弹性,秒级扩容
- 按需计费,实际计算付费
- 集群内削峰填谷 | - 支持强大UDF
- 多云支持
- 资源粒度、弹性扩缩容
- 云存储读写效率高
- 中间数据保存 | - 极致弹性,按实际计算付费
- Native on存储,带宽优化
- UDF支持 |
| 挑战 | - 存储调度(云存储/内部存储)
- 大规模/公平调度
- 运行时安全隔离
- 网络定制与隔离
- 资源调度关注性能与可扩展性
- 安全是关键可行性因素 | - 云主机限制 | - 云主机限制 |
| 其他形态 | - 资源调度更关注大规模场景性能和可扩展性
- 安全是方案可行关键 | - 支持强大UDF | - 支持强大UDF |
MaxCompute多租实现
存储实现
- 内部存储:Pangul(基于capability的权限模型),分布式访问/Native优化
资源管控
- 调度:可扩展,超大规模公平调度算法,Failover机制
- 资源形态:预付费和后付费
- Runtime管控:cgroup资源管控,作业启动方式(CPU/GPU)
安全与隔离
- 轻量级安全容器:UDF和三方代码隔离
- 网络隔离与打通:作业级别VPC网络打通,访问湖上数据
- 性能和稳定性:混合计算形态(开源引擎Spark、机器学习Pai)
强大能力
- UDF和网络能力:提供Python和Java UDF,访问本地IO和公网网络
- 混合计算形态:支持开源引擎、机器学习Pai
演进方向