首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Otter源代码解析(8)

2013-10-01 
Otter源代码解析(八)?结构比较清楚,再说就啰嗦了。??. Load过程相对有点复杂的,其结构如下:??值得说明的地

Otter源代码解析(八)

?结构比较清楚,再说就啰嗦了。

?

?

. Load过程相对有点复杂的,其结构如下:


Otter源代码解析(8)
?

?

值得说明的地方:

1)Load过程是并发执行的,但是受Weight的控制(并非全局的);

2)在Load过程中包含了打标记的过程(与Select过程是呼应的,即Load打的标记会被Select过程所识别,然后不会同步回去了,这一点官方文档有相关说明,不过我看了代码之后才最终理解,所以做下补充说明)

3)FileLoadAction没有展开来解析,比较容易理解,读者可自行阅读相关的逻辑。

1 楼 agapple 2013-09-18   Weight的控制,主要解决类事务的需求. 因为otter在Load的时候使用了pk hash的机制打散了原先的数据事务. 业务原本在A地,先插入了t1表,后插入t2表. 同步到目标库后,顺序如果没有保证,业务上在B地看到t2表有数据,立即去join t1表,发现无数据,就可能会出错.

针对这种case,引入weight来解决,otter在同步的时候定义了t1的优先级低于t2,就可以保证t2插入成功,一定可以join出t1记录. 解决类似主表+副表的业务设计

热点排行