一个集群有多个zone,一个zone有多个OB Server,多个OB Server组成资源池。把资源池授予租户使用,一个租户有多个库。
集群:一个集群包含多个租户,由多个OBServer服务器协同提供服务。
租户:OceanBase 内置多租户特性,每个租户对于使用者是一个独立的数据库实例,能够在租户级别设置租户的分布式部署方式。
OBServer:OceanBase 在服务器上会运行叫做 observer 的单进程程序作为数据库的运行实例,使用本地的文件存储数据和事务 Redo 日志。
可用区(Zone)
概念:可用区(Zone)是一个逻辑概念,每个Zone均有且只有一份完整的副本,OceanBase集群通过多个Zone实现分布式高可用。
部署:不同的Zone可以对应不同城市、一个城市的不同机房、或者一个机房的不同机架。当集群分布在多个数据中心的时候,每个可用区可以对应于一个数据中心。
个数:部署集群时,单机部署时Zone的个数为1;分布式部署时Zone个数>=2,配置仲裁服务时建议Zone的个数是2或者4,没有仲裁服务时建议Zone的个数为奇数,少数派故障不影响业务。
集群扩缩容
OB数据库提供灵活的在线扩展性
当集群的容灾需求发生变化时,可通过调整可用区数量(加/减 Zone)的方式提高或降低集群的容灾能力。
当集群的外部负载发生变化时,可通过调整可用区内物理机的数量(加/减 OBServer)的方式改变集群的负载能力。
多租户架构:资源隔离,数据隔离:
租户(tenant)是一个逻辑概念,在一定程度上相当于传统数据库的"实例"概念。
租户是资源分配的单位,OceanBase 将集群按指定规格(CPU、内存、存储、IO)划分成多个资源池,分配给不同的租户。
租户内可以创建自己的用户并进行独立的权限管理。
租户内可以创建数据库(database)、表(table)等所有数据库对象,并与其他租户隔离。
租户有自己独立的 information_schema 等系统数据库和管理视图。
租户具有自己独立的系统变量和系统参数。
创建租户时可以选择租户的兼容模式:Oracle 模式或 MySQL 模式。