对于OceanBase来说,集群是一个物理概念,是分布在多个 Zone 的若干台 OBServer 的集合。

    租户是集群的最顶层的逻辑概念,相当于一个数据库的实例。在实例内部可以创建多个数据库(database),这里的数据库在一定程度上相当于传统意义上的模式(schema)的概念,可以跨数据库访问数据。

    与数据库处于同一个级别的逻辑概念还有表格组(Table Group)和用户(User)。Table Group 和物理数据文件没有关联关系,TableGroup 只影响表分区的调度方法,OceanBase 会优先把属于同一个 Table Group 的表分区调度到同一台节点上,以减少跨节点分布式事务。用户和传统意义上的用户概念相同,需要访问某个数据库的数据需要授权,一个用户可以拥有多个数据库的权限。

    数据库对象 - 图1

    在数据库内部,是各种基本数据库对象,如表、视图、索引等。表的基本单位是字段,或称属性、列(Column)等。每一列必须有明确的数据类型。OceanBase 提供完整的 SQL 数据类型支持,并和 Mysql 完全兼容。