相关模型
多租户相关模型
多租户相关模型如下图所示。
概念 |
说明 |
---|---|
用户 |
用户是拥有用户名,密码等账号信息的自然人,是大数据集群的使用者。 图1中有三个不同的用户:用户A、用户B和用户C。 |
角色 |
角色是承载一个或多个权限的载体。权限是限定在具体对象上的,例如对HDFS中的“/tenant”目录的访问权限,这里权限就限定在“/tenant”目录这个具体对象上。 图1中有四个不同的角色:角色“t1”、角色“t2”、角色“t3”和角色“Manager_tenant”。
|
租户 |
租户是从大数据集群中划分出的资源集合。多个不同的租户统称为多租户,租户内部进一步划分出的资源集合是子租户。 图1中有三个不同的租户:租户“t1”、租户“t2”和租户“t3”。 |
资源 |
若用户想要使用租户资源或为租户添加/删除子租户,则需要同时绑定该租户对应的角色和角色“Manager_tenant”。在图1中,各用户绑定的角色如表2所示。
用户 |
绑定的角色 |
权限 |
---|---|---|
用户A |
|
|
用户B |
|
|
用户C |
|
|
用户和角色是多对多的关系,一个用户可以绑定多个角色,一个角色可以被多个用户绑定。用户通过绑定角色和租户建立关系,因此用户和租户也是多对多的关系。一个用户可以使用多个租户的资源,多个用户也可以使用同一个租户的资源,例如图1中,用户A使用租户“t1”和租户“t2”的资源,用户A和用户C都使用租户“t1”的资源。
“父租户”、“子租户”、“一级租户”、“二级租户”的概念是针对客户的多租户业务场景设定的,注意与FusionInsight Manager上的“叶子租户”和“非叶子租户”的概念区别。
- 一级租户:按照租户所在层级确定名称,如最初创建的租户为一级租户,一级租户的子租户为二级租户。
- 父租户与子租户:用来表述租户间上下层级关系的称呼。
- 非叶子租户:创建租户时,选择的租户类型,该类型可以创建子租户。
- 叶子租户:创建租户时,选择的租户类型,该类型不可以创建子租户。
多租户平台
租户是FusionInsight大数据平台的核心概念,使传统的以用户为核心的大数据平台向以多租户为核心的大数据平台转变,更好的适应现代企业多租户应用环境,如图2所示。
对于以用户为核心的大数据平台,用户直接访问并使用全部的资源和服务。
- 用户的应用可能只用到集群的部分资源,资源利用效率低。
- 不同用户的数据可能存放在一起,难以保证数据安全。
对于以租户为核心的大数据平台,用户通过访问租户来使用需要的资源和服务。
- 按照应用需求分配和调度出需要的资源,以租户来统一使用,资源利用效率高。
- 用户通过分配不同的角色获得使用不同租户资源的权限,以保障访问安全。
- 不同的租户之间数据隔离,以保证数据安全。