用户可能提一些需求,导致数据库修改。
目前数据库这么部署的,北京网点,建一套数据库,上海网点,建一套数据库,广州、西安……同样以此类推,将来打算弄个分布式系统把各地的数据库连起来,往总部收集数据,现在还是各自为政。全国是联网的。
现在的麻烦事就是,开发时数据库变动了结构,怎么往各地的数据库同步啊,现在手工同步,麻烦死了,每次都得记下自己改了什么,再往各地数据库打补丁。
还有更糟糕的,有些结构改变需要清除数据,对数据进行一下处理,再重新导入。
面对n个数据库,更新实在是很繁琐
用户可能提一些需求,导致数据库修改。
目前数据库这么部署的,北京网点,建一套数据库,上海网点,建一套数据库,广州、西安……同样以此类推,将来打算弄个分布式系统把各地的数据库连起来,往总部收集数据,现在还是各自为政。全国是联网的。
现在的麻烦事就是,开发时数据库变动了结构,怎么往各地的数据库同步啊,现在手工同步,麻烦死了,每次都得记下自己改了什么,再往各地数据库打补丁。
还有更糟糕的,有些结构改变需要清除数据,对数据进行一下处理,再重新导入。
面对n个数据库,更新实在是很繁琐
你的结构体假如经常改变,这个往往说明你的需求分析,还没稳定下来,这个时候一些工作是免不了的。
另外你每次跟新数据都要清除数据这个是设计的问题···,我们也有这样弄过,但是因为图方便清除了数据,重新跑代码,OK就行,但是好的代码,是结构体改变了也要继续跑下去。不过我没用过标准的数据库,我们都用nosql,每个数据都存的很小,然后在出口的时候,统一拼装成一个大的结构体,返回给外部。
5 回答3.3k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
3 回答2.3k 阅读
2 回答2.1k 阅读
好的工具倒是没见过,思路倒是有一些:
以上是专家体,专家都是这么分几条几点说的,下面说说我自己的看法:
如果我去做,我会如何做:
既然数据库结构是标准的、统一的,那就在几种的地方有一个中心服务(比如svn的形式)提供标准结构,各个字系统有脚本或者计划任务定期对比、执行。
我的基本原则是,只要自动化系统的工作量不超过所有单次执行工作量的两倍都是可以接受的,并且我们公司也是这样去做的。
最后说重点:
UP:突然想起来,你可以研究下puppet这个玩意