实际案例:一家有名公司总部在北京,在全国各个站点也都有分布,例如长沙、广州和上海,它们通过公司内网连接通讯,现他们开发了一款与时俱进的软件在各个站点使用,各个站点都有相应的服务器支持,软件使用过程中存储的数据都保存在服务器里的oracle数据库中
实际案例:一家有名公司总部在北京,在全国各个站点也都有分布,例如长沙、广州和上海,它们通过公司内网连接通讯,现他们开发了一款与时俱进的软件在各个站点使用,各个站点都有相应的服务器支持,软件使用过程中存储的数据都保存在服务器里的oracle数据库中,现在要求将各个站点服务器中的一些比较庞大的而且比较重要的数据表需要同步到公司总部服务器(北京服务器),求一个比较好的方案;
模拟同步的表为item_rec和user_rec,这两个表分别都是记录表,每天都能产生大量的数据,总部有可能需要时时查看各站点中这两个表中的数据,因为直接连接到各个站点去看有时候会因为网络限制比较卡,所以要求同步到总部服务器上面,示意图如下:
vcPm08Oxv7e9t6jXxcrWwcujuzwvcD4KPHA+z9a94r72t72wuKO6PC9wPgo8cD6499W+teO3/s7xxvfW0KO6zqrP4NOmb3JhY2xlyv2+3b/i1tDOqs/g06bQ6NKqzayyvbXEse29qMGiz+DTprXEtKW3osb3us3Su9XFstnX98jV1r6x7aOstKW3osb3yrXP1rXEuabE3MrH1Nq21Gl0ZW1fcmVjus11c2VyX3JlY7HtvfjQ0NT2yb64xLXEyrG68qOsvavP4NOmtcSy2df3tcSx7aGistnX97zHwrzW97z8SUShorLZ1/e1xHNxbNPvvuQo0qrT0LXYx/jH+LfWo6zS1LHj19y5q8u+t/7O8cb31Nqx7dbQsuXI68r9vt21xMqxuvLT0M/g06a1xMf4t9YpoaLKx7fxzayyvc3qs8mx6sq2KLe9seOy6b+0vMfCvMrHt/HNrLK9s8m5pimy5cjrtb2y2df3yNXWvrHt1tCjuzwvcD4KPHA+uavLvtfcsr+3/s7xxvejutTauavLvtfcsr+3/s7xxvfK/b7dv+LW0MztvNPQ6NKqzayyvbXEse1pdGVtX3JlY6GidXNlcl9yZWOjrNei0uLT0LXYx/jWrrfWo6y9qMGi0ru49rTmtKK5/bPMo6y05rSiuf2zzNa00NC1xLmmxNzKx6O6zai5/URCLUxpbmvBrL3TuPe49tW+teO3/s7xxvejrLLp0a+497j21b6147XEstnX98jV1r6x7aOsuPm+3bzHwrzW97z8SUS6zbXYx/jQxc+i1rTQ0Mbk1tC1xHNxbNPvvuSjrNDeuMTNrLK9se0oaXRlbV9yZWOhonVzZXJfcmVjKdDFz6KjrLPJuabWtNDQzeqzybrz1PK9q7j31b6147LZ1/fI1da+se3W0LXEz+DTprXEvMfCvLXEzayyvbHqyrbQ3rjEzqrN6rPJo6zX3Lmry763/s7xxvfW0Mq508NKb2K197bIs8zQ8qOszai5/UpvYraoyrG197bItOa0orn9s8yjrM2ssr3N6rPJo6E8L3A+CjxwPsq+0uLNvMjnz8KjujwvcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140929/201409290921142.jpg" alt="">
其实使用这样的同步方案,里面存在很多的问题的:
1、网络不稳定;
2、各站点需要同步的表比较多,每张表对应一个触发器,过多的触发器多多少少会影响软件正常的使用;
3、总公司服务器在执行各站点操作记录数据的时候,由于一次性各站点记录日志表数据比较大,可能会影响总公司服务器的运行,经过测试其实影响也没多少;
4、在总公司服务器同步完成相应的单条记录信息的时候(成功执行单条sql语句),需要修改各站点中操作日志表相应的同步完成标识,由于记录比较多且需要远程访问,也会存在一定的影响;
在实际测试的时候,发现问题还是蛮多的,所以希望专业人士能够给出好的建议,如果有更好的技术希望能交流分享之,让此类问题的数据同步能够更加稳定,谢谢!!