正文:(十六)数据同步1
系统从一开始设计的时候,就有数据同步的需求,即公司局域网的电脑都访问中心服务器的数据库,而各台笔记本都访问本机上的分数据库,两者是完全同构的数据库。
由于在接这个项目之前,我没做过任何数据同步的项目。因此,一开始我还设想着自己写程序来实现数据同步功能,即设定时间点,然后通过程序导出每个数据库某段时间内的数据(新建、修改、删除),然后再将导出的数据进行比较,最终求出数据合集。可稍微考虑点详细的实现过程就觉得头大,情况太复杂了。如果要实现到应用的程度,可能单写数据同步程序所花费的精力,就远远超过了写业务程序,所以,最终放弃了这种不现实的想法。
(在校时,我的一位同学接了个进销存项目,可当时我们所掌握的技术主要集中在C++操作文件上,即所有的数据都是存储在二进制文件中。这老兄完成这个项目,楞是没有用数据库。所有的数据全用二进制文件来操作,读写删查都是自己写代码,没有用一句SQL。用他的话说,简直就是自己写了个数据库啊,累得快吐血,效果还很一般。)
同样的道理,如果我自己去写数据同步程序的话,我估计效果肯定和我那位同学当年一样。所以断然不能自己去写数据同步,即便我真有这能力写出来,那也不能这样做。因为如果业务发生变化或系统扩展,需要对数据库表进行调整(新增表或字段),那我的数据同步程序还要自己去重新完善,我想那一定是个场灾难。
数据对于任何公司来说,都是最宝贵的,所以我要选用成熟而安全的方式来实现数据同步。
系统从一开始设计的时候,就有数据同步的需求,即公司局域网的电脑都访问中心服务器的数据库,而各台笔记本都访问本机上的分数据库,两者是完全同构的数据库。
由于在接这个项目之前,我没做过任何数据同步的项目。因此,一开始我还设想着自己写程序来实现数据同步功能,即设定时间点,然后通过程序导出每个数据库某段时间内的数据(新建、修改、删除),然后再将导出的数据进行比较,最终求出数据合集。可稍微考虑点详细的实现过程就觉得头大,情况太复杂了。如果要实现到应用的程度,可能单写数据同步程序所花费的精力,就远远超过了写业务程序,所以,最终放弃了这种不现实的想法。
(在校时,我的一位同学接了个进销存项目,可当时我们所掌握的技术主要集中在C++操作文件上,即所有的数据都是存储在二进制文件中。这老兄完成这个项目,楞是没有用数据库。所有的数据全用二进制文件来操作,读写删查都是自己写代码,没有用一句SQL。用他的话说,简直就是自己写了个数据库啊,累得快吐血,效果还很一般。)
同样的道理,如果我自己去写数据同步程序的话,我估计效果肯定和我那位同学当年一样。所以断然不能自己去写数据同步,即便我真有这能力写出来,那也不能这样做。因为如果业务发生变化或系统扩展,需要对数据库表进行调整(新增表或字段),那我的数据同步程序还要自己去重新完善,我想那一定是个场灾难。
数据对于任何公司来说,都是最宝贵的,所以我要选用成熟而安全的方式来实现数据同步。