-
来黑客派玩
2018-05-31 14:15变味是指:不分场合抖机灵讲段子,资讯质量下降,商业气息越来越浓,硬邦邦的软文增多,现在悬浮广告(推荐)都出来了,慢慢的一股垃圾站的气息就出来了。
当然,我还是想回去经营的,但是现在时间不多。
现在泡的多的就 v2ex,Stack Overflow,GitHub,dribble 这样的社区了 -
多系统,异构数据,大数据量同步的问题
2018-05-31 12:42@linker @xjtushilei ,昨天问的问题今天整理了两个方案出来,正在实现中(java web),欢迎讨论:
场景
这里对场景进行简化:
- 现在有张表:A 和 B,A B 表通过 id 字段关联(A 表掌握在客户手里,不能随便变更结构和数据)
- 俩表异构,需要自己根据业务做好字段的对应
- 这两张表可能不在同一个数据库
- 用户只对 A 进行人为操作,其中 增删改 操作的结果需要同步到 B 表
- 不要求实时,要求准确可靠,增量更新,并且数据量大
分析
增量更新必须要有相应的字段支持,否则除了行间内容的全量对比(成本高效率低),别无他法。
增量同步的两个先决条件:
- A 表需要一个记录内容的 最后修改时间 的字段,假设该字段名是 modifyTime
- B 表需要一个记录内容的 最后同步时间 的字段,假设该字段名是 syncTime
一些方案
方案一
查询出 B 表的最小 syncTime(minSync) ,分页查出 A 表 modifyTime>=minSync (上次同步完之后进行了修改) 的记录进行同步或者插入,直到所有的 modifyTime<minSync 。
方案二
分页从 A 表取出 id 和 modifyTime,在 B 系统中做关联对比,syncTime<=modifyTime 的记录需要更新,B 表中没有的记录则执行插入。
注意:考虑到不同机器的时间有一些误差,需要做一些处理,避免都写出在临界值的记录没有得到更新,比如:modifyTime>=minSync-N (N 是机器间时间差和其他的时间开销产生的误差)
以上两种方案的优缺点,暂时没有总结整理。
-
多系统,异构数据,大数据量同步的问题
2018-05-31 12:38datax 之前看了下,没有 ad 同步,而且不是 java web 的形式,没有采用。另外,我们的源数据在客户那里,我们的程序权限有限。