PolarDB这里没有完全理解,对于saas的多租户场景,cn上怎样去做资源隔离呢?这里好像只讲了dn
是不是这么理解呢,cn是靠k8s的实例进行隔离的,本身没有在进程内做资源组隔离?
在多租户场景下,PolarDB-X采用分区表和Locality的SaaS级多租户能力来满足不同租户的数据隔离与资源隔离需求。此外,它还支持两种常见的SaaS多租户方案:Schema级SaaS多租户和Partition级SaaS多租户。
在Schema级SaaS多租户中,一个租户对应一个包含多个Table定义的Schema(或一个Database,在MySQL中,Schema概念等同于Database),不同租户的Schema会分布在不同的机器上,从而实现资源的隔离。这种方案尤其适用于那些需要独立Schema运行的场景。
PolarDB-X对多租户隔离,都是推荐用节点级别的隔离来做,DN文章里有提,CN层本身无状态,后续会支持多endpoint,不同用户可以用不同的cn节点。cgroup的隔离比单进程内部做cpu时间片统计会靠谱一些。cn内部的sql计算引擎,虽然也有一定的时间片均衡小查询和大query,但还是建议节点级别隔离。此回答整理自微信群“阿里云 PolarDB-X开源交流2号群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about