前言
以社区版讲解!!!
社区版不支持 共享存储模式(存算分离)
社区版只支持 MYSQL 模式
想快速看懂官方文档,需理解以下概念!
术语

物理概念(真实存在的设备或资源)
集群
图上所有的东西,都属于一个集群;未展示出来的还有,Prometheus、Grafana、AlertManager。
OBProxy集群
专用的代理服务器,操作时会帮你选择当前最合适副本操作;可单台部署。
Zone
机房,也可以按逻辑概念理解。
OBServer
单台服务器,但正确理解是,一台服务器只运行一个OBServer进程;
包括多个 Unit 和 系统资源;
同一Zone下的多个 OBServer 是分区关系。
系统资源
除OBServer进程占用之外剩余的资源,如:总资源(16核-64G-1TB)剩余(2核-4G-50G)供操作系统使用。
Unit
从OBServer进程占用的资源,划分一小部分供租户业务使用;
租户独占,不能给其他租户使用;
大小不可以超过服务器限制,如划分一块(2核-4G-500G)的使用区域;
资源单元个数,UNIT_NUM 的值不能大于每个 Zone 内 OBServer 的个数。
LS
日志流,最难理解的部分,OceanBase 底层默认操作;
除 DBA人员 外的其他人几乎不用去关心;
大致可以理解为,主副本同步时需要的数据(tablet、RedoLog)和配置;
也就是说,OceanBase 是通过日志流去同步数据的;
集群中主副本分布到几个服务器,就会有几个主日志流。
tablet
数据分片,
逻辑概念
Zone
机房之间是主副本关系;
资源池
多个Unit组成一个资源池;
资源池可以有一个或多个zone下的一个或多个unit组成。
租户
用过 Oracle 可以理解为其实例;
可以理解为业务部门,一个业务部门会有n个业务,对应n个数据库,这些都可以在本业务部门所对应的租户下创建;
如:创建租户时,起名"航空部门"、"铁路部门",航空部门的业务多,划分的Unit资源可以多一点。
建表参考
大表一定要分区,即使是单个OBServer;
1,系统会根据条件扫指定分区数据,节省性能;
2,将来扩容时,部分分区会自动分发到其他OBServer上;
同一业务的表,尽量使用表组
1,表数据都在同一个OBServer上,避免远程SQL调用,提升性能
场景示例
3个zone,每个zone有2个observer,现在有6张表,设置3副本,主副本分布为随机,T1有2个分区,T2-T5属于一个表组没有分区,数据分布大致如下:

1327

被折叠的 条评论
为什么被折叠?



