2.10.2 Meta信息维护
dble在每次执行某些类型ddl语句之后都会更新相关表,视图的元信息。目前,更新元信息的ddl语句类型如下:
- create table语句
- drop table语句
- alter table语句
- truncate table语句
- create index语句
- drop index语句
根据是否配置zookeeper服务器服务(参见1.1 cluster.cnf),Meta信息的维护逻辑分如下两种情况:
- 不用zookeeper服务
在此种情况下,由于仅有一个dble运行实例,本地更新已是全部信息,不必做进一步的维护逻辑。 - 利用zookeeper服务
此种情况下的更新逻辑为:
a. 在启动时每一个dble实例都向zookeeper服务器注册监听事件,监听系统中表元信息的改变。
b. 当某一个dble实例更新了某些表的元信息之后,它负责向zookeepr服务器广播更新事件。
c. 其他dble实例在监听到更新事件后更新自己维护的元信息。