OceanBase数据库-租户
一、为什么要有租户
在传统的数据库模式下,假如有多个系统,每个系统需要单独维护自己的数据库实例,无法统一运维管理。
若想要统一管理,共用一套资源,则需要在数据库下创建多个用户,每个用户分配不同的权限,操作不同数据库表,但是,这也只是逻辑资源层面(如对数据库表的操作)的隔离,无法实现物理资源层面的隔离(如CPU、内存等)。
因此OceanBase采用了多租户的架构,每个租户相当于一个数据库实例,能够单独创建数据库、表等,租户之间的物理资源能够独立分配,实现了物理资源和逻辑资源的隔离。
二、租户是什么
租户可以等同于传统数据库的数据库实例,拥有自己的资源配置。
由于OceanBase是分布式数据库,同一份数据存储在多个节点上,为了保证资源在每个节点的配置都相同,OceanBase引入了资源单元、资源池等概念。
- 资源单元(Unit):Unit是CPU、内存等物理资源的集合
- 资源池:每个Unit都属于一个资源池,同一个资源池内的各个Unit具有相同的资源规格
三、租户的类型
OceanBase有三种租户类型:系统租户、用户租户、Meta租户。
- 系统租户
负责管理集群和所有租户的生命周期。
- 用户租户
用户创建的租户,支持完整的数据库功能。
- Meta租户
描述用户租户的租户,存储和管理用户租户的私有数据。