数据岗位面试题更新 2026-08-05

在 Presto 中,实现多租户查询并隔离不同租户资源的具体方法有哪些?

数据安全意识系统设计方案权衡Presto

考察说明

考察对 Presto 多租户及资源隔离机制的理解。

回答思路

  1. 【回答框架 1】Presto 通过资源组(Resource Groups)实现多租户资源隔离。资源组可嵌套,每个组可设置并发限制、排队策略、CPU 和内存使用率上限,并基于用户、来源、会话属性等条件将查询路由到对应组。
  2. 【回答框架 2】通过资源组配置,可为不同租户分配不同资源组,设置各自的并发数和内存限制,避免租户间相互影响。例如,可为高优先级租户配置较高并发和资源上限。
  3. 【回答框架 3】此外,Presto 还支持基于队列的调度策略,如加权公平调度,可按权重分配资源。结合访问控制(Access Control),可确保租户只能访问自身数据,实现逻辑隔离。
  4. 【回答框架 4】物理隔离方面,可部署多个 Presto 集群或使用 Kubernetes 等容器化技术隔离资源,但成本较高。实际场景中通常采用资源组逻辑隔离与访问控制结合。
  5. 【关键点 1】资源组是 Presto 多租户资源隔离的核心机制
  6. 【关键点 2】资源组支持并发限制和内存限制,实现查询级隔离
  7. 【关键点 3】可通过用户或会话属性将查询路由到指定资源组
  8. 【关键点 4】访问控制确保租户数据逻辑隔离
  9. 【易错点 1】资源组隔离不能完全保证物理资源严格隔离,高负载下仍可能互相影响
  10. 【易错点 2】仅配置资源组而忽略访问控制可能导致数据越权