BMSQL TPCC测试
**测试方案:**
1. 通过 OBD 部署 OceanBase 集群,ODP 和 TPC-C 单独部署在一台机器上, 防止客户端的压力不足成为性能瓶颈。
2. 3 节点的 OceanBase 集群部署规模为 1:1:1,部署成功后先新建跑 TPC-C 测试的租户及用户(sys 租户是管理集群的内置系统租户,请勿直接使用 sys 租户进行测试),设置租户的 Primary Zone 为 RANDOM。
**租户规格:**
* MAX_CPU = 26
* MEMORY_SIZE = 70g
**软件版本:**
* mysql-connector-java-5.1.47
* Benchmark SQL V5.0
**测试配置:**
* warehouse = 1000
* loadWorder=40
* terminals=800
* runMins=5
* newOrderWeight=45
* paymentWeight=43
* orderStatusWeight=4
* deliveryWeight=4
* stockLevelWeight=4
**测试结果:**
| **指标** | **V4.0.0_CE** |**V3.1.0_CE** |
|---------|----------|----------|
|tpmC (NewOrders) |307021.0 |295855.92|
|tpmTOTAL |682517.67 |657398.9|
TPCH 测试
**测试方案:**
* 使用 OBD 部署 OceanBase 数据库集群。TPC-H 客户端需要部署在一台机器上, 作为客户端的压力机器。您无需部署 ODP,测试时直连任意一台机器即可。
* 3 节点的 OceanBase 集群部署规模为 1:1:1,部署成功后先新建跑 TPCH 测试的租户及用户(sys 租户是管理集群的内置系统租户,请勿直接使用 sys 租户进行测试),设置租户的 Primary Zone 为 RANDOM。
* 测试数据量:100GB。
**租户规格:**
* MAX_CPU = 26
* MEMORY_SIZE = 70g
**测试结果(单位均为秒):**
| **Query** | **V4.0.0_CE** |**V3.1.0_CE** |**提升%** |
|---------|----------|----------|----------|
|Q1 |2.34 |14.04 |500.00%|
|Q2 |0.14 |1.12 |700.00%|
|Q3 |0.72 |13.57 |1784.72%|
|Q4 |0.56 |2.51 |348.21%|
|Q5 |2.25 |12.31 |447.11%|
|Q6 |0.23 |7.33 |3086.96%|
|Q7 |1.52 |10.38 |582.89%|
|Q8 |0.70 |11.42 |1531.43%|
|Q9 |5.22 |30.99 |493.68%|
|Q10 |1.24 |6.84 |451.61%|
|Q11 |0.23 |1.22 |430.43%|
|Q12 |1.62 |8.64 |433.33%|
|Q13 |2.41 |7.59 |214.94%|
|Q14 |0.36 |1.51 |319.44%|
|Q15 |0.79 |3.01 |281.01%|
|Q16 |0.66 |2.66 |303.03%|
|Q17 |0.63 |8.60 |1265.08%|
|Q18 |0.93 |7.88 |747.31%|
|Q19 |0.78 |9.36 |1100.00%|
|Q20 |1.17 |10.95 |835.90%|
|Q21 |2.42 |12.27 |407.02%|
|Q22 |1.24 |4.05 |226.61%|
|Total |28.16 |188.25 |568.50%|
兼容性变更
产品行为变更
| **功能** | **变更点说明** |
|---------|----------|
|备份能力 |不再支持集群级备份,支持租户级备份 <br> 不支持二次备份功能<br>数据校验能力、归档日志压缩和手工清理功能将在后续版本支持
|时钟源| 租户时钟源不再支持 LTS 模式|
|主备库 |不再支持集群级主备库,后续版本将支持租户级主备库|
|Queuing 表| 不再支持|
|加密投票型副本| 不再支持|
|Partition Group| 不再支持|
|Table Group |不再支持 binding=true 的 Table Group|
|合并 |不再支持集群级合并,支持租户级合并<br>不再支持轮转合并,租户内所有 Zone 一起合并|
|RESOURCE UNIT| 参数设置变更,删除参数存储空间(MAX_DISK_SIZE)和 Session 个数(MAX_SESSION_NUM ),增加参数日志盘空间(LOG_DISK_SIZE)。删除参数 MAX_MEMORY/MIN_MEMORY,使用 MEMORY_SIZE 参数设置内存资源。<br>必选参数为 MAX_CPU和MEMORY_SIZE,可选参数 MIN_CPU 默认值等于 MAX_CPU,LOG_DISK_SIZE 默认值为 MEMORY_SIZE * 3,MAX_IOPS、MIN_IOPS、IOPS_WEIGHT 默认值是根据租户 CPU 个数按比例分配。|
|Meta 租户| 新增 Meta 租户,是 OceanBase 内部自管理的租户,每创建一个用户租户会创建一个对应的 Meta 租户,其生命期与用户租户保持一致。Meta 租户用于存储和管理用户租户的集群私有数据,这部分数据不需要跨库物理同步以及物理备份恢复,例如:配置项、位置信息、副本信息、日志流状态、备份恢复相关信息、合并信息等。|
|租户的 UNIT 资源配置 |不再支持按 Zone 个性化配置租户的 Unit 个数,只能按照 Unit Group 维度整体调整,扩缩容时要求租户所有 Zone 的 Unit 个数相同
|Primary Zone 和 Locality 配置 |不再支持表级、DB 级、tablegroup 级配置 primary zone 和 locality,仅支持租户级别配置 primary zone 和 locality|
|MySQL 模式下,语法 `/*! xxx */;`| 版本命令全部执行,不支持的命令不进行报错处理|
|浮点类型 |不再支持 float(m,d) 格式定义,仅支持 float(m) 和 float(m,0) 的格式定义|
视图/实体表/虚拟表
* OceanBase V4.0 新增诸多自有视图,主要分为两大类:数据字典视图和动态性能视图。数据字典视图用于展示内部表这些实体表中存储的数据或数据的组合,用以替代之前直接对内部表的查询。动态性能视图用于展示系统运行过程中很多内存状态信息,用以替代之前直接对虚拟表的查询。举例如下:
* DBA_OB_SERVERS 展示集群的服务器节点信息,当系统管理员使用 `ADD SERVER` 和 `DELETE SERVER` 运维命令增删机器后,这里查询的机器数量就会发生变化。该视图同时展示 RootService 是否在机器上(WITH_ROOTSERVER)、心跳是否正常(STATUS)、程序的版本号(BUILD_VERSION)等信息。
* GV$OB_UNITS 展示每台服务器上具体有哪些租户的哪些 UNIT 的动态性能视图。该视图用于查询各个服务器上最新的 UNIT 信息,包含了 Meta 租户的 UNIT 和隐藏系统租户的 UNIT,Meta 租户 UNIT 是每个系统内部构造的。
* OceanBase V4.0 数据库对实体表和虚拟表进行了重新梳理和设计。举例如下:
* 实体表 __all_tenant_partition_meta_table 记录 PG 内 partition 汇报的元信息,V4.0 不再支持 PG 故将该表删除。
* 实体表 __all_table_v2 记录 table 多版本 schema 信息,V4.0 将表名称变更为 __all_table。
* 虚拟表 __all_virtual_core_meta_table 展示系统租户 __all_core_table 表副本的位置信息,V4.0 去掉的关键字段 table_id、partition_id、partition_cnt,增加关键字段 ls_id。
有关视图的详细信息,参见 [系统视图](https://github.com/oceanbase/oceanbase-doc/blob/V4.0.0/zh-CN/7.reference/3.system-views/1.overview-2.md)。
配置项变更