【OceanBase】24.OB - DDL的处理上和TIDB有异曲同工之妙

1.DDL语句处理 

OceanBase 数据库支持传统数据库的 DDL 语句,DDL 类型的 SQL 语句不会被优化器处理,
而是作为 command 发送到 RootServer,由 RootServer 进行处理,比如典型的建表语句。
在 OceanBase 数据库上的执行流程如下图所示:

Client
    |                   OBSERVER2
    |                  /
OBServer1---->RootServer(异步刷新)
	|			|	   \
    <-----------|       OBSERVER3 
     (异步刷新)


OBSERVER1:解析生成变更信息

RootServer:
	1.变更信息持久化
	2.本地schema刷新
	3.通知observer异步刷新

2.DDL语句处理说明 

◼ OceanBase支持传统数据库的DDL语句,自动完成全局统一的schema变更,无需用户在多节点间做schema一
致性检查
◼ DDL任务由OceanBase的RootServer统一调度执行,保证全局范围内的schema一致性
◼ 对于所有支持的 DDL 操作都是 OnLine 的,DDL不会产生表锁,在执行 DDL 的过程中不会阻塞业务的读写操
作
◼ DML根据schema信息的变更自动记录格式,对业务零影响
◼ DML与DDL互相不阻塞,提高性能

3.总结 
OceanBase,TIDB 在DDL的处理上与传统数据库锁表的机制有锁不同。可以独立操作,不影响彼此的运行。这是一个非常大的改进。TIDB是通过将DML,DDL放置在不同的任务队列中执行,互相不影响。这避免了每次操作都必须等到晚上才能进行的麻烦事。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值