Loader和 Insert 操作只写主分片,副本通过数据复制服务完成写入,可更好的保障主副本一致性,并大大提升写入性能(至少 1 倍以上)。
主副本数据并不是同时落磁盘,是先写入主分片的磁盘文件落地后,然后把数据转发给副本,副本数据再落磁盘,然后再转发给下一个副本,副本数据再落磁盘。
出现节点表数据不一致时,集群的自动同步程序会自动进行表分片数据的同步,并针对该表设置recover lock锁,会阻塞针对该表的ddl操作,但不会阻塞针对该表的select、insert、udpate、delete及数据加载操作;
同时,节点数据同步采用增量追加同步的方式进行,即在同步期间,该表新增的数据在同步结束后,会继续追加同步新发生的数据变化。
集群是基于SCN同步,SCN与时间无关,是集群gcluster层的全局参数,每次数据库有变动SCN值会加1. 有节点宕机,其他节点的SCN仍然会根据数据库变动增加,宕机节点重新启用后会跟SCN最大的节点同步。
NTP同步只是为了日志记录和分析精确,各日志中都会有具体时间记录,如果各节点时间不统一,对于各节点日志分析会带来误导。