1.程序移植了,数据库还是统一管理。
这个方法最容易实现,但是有问题。数据库必须打开互联网通道。如何保证安全性是个问题。而且访问速度能否满足要求也是个问题。采用vpn隧道?速度不能满足。
2.程序和数据库都是移植的。
这种方式可以达到最好的镜像效果,但是实现起来比较困难,国内实现这种镜像的网站并不多。该方案有两种不同的实现方式:
3.程序不变,数据库同步
这种方法比较简单,程序部分基本不变,通过sqlserver2000的同步功能实现数据同步。
但是从我在erp项目实施中的经验来看,这似乎很简单,但实际上,可能存在着最大的问题。首先,sqlserver还继承了微软的老问题:效率低下。我不看好3G数据同步复制的速度。其次,需要直接开放上网,如何避免安全问题还没有决定,需要咨询安全专家。最后,如果同步复制过程中出现网络故障,如何保证多个数据源的数据完整性和一致性是一个巨大的挑战。
4.平台程序变更,数据库异步复制
这种方式对程序要求较高,网站平台架构调整较大。相当于把网站从单站点程序变成多站点平台。这就对业务和数据的一致性有了更高的要求。这种方式最管用,似乎也最难,但我觉得这种方式最可行。首先将程序结构划分为事务,mts可以实现多站点统一事务,保证数据的一致性;其次,数据异步复制,可以避免网络中断和一些逻辑错误导致的数据不完整。最后,这种方法要求我们尽可能少地访问数据库。由于负载共享,我们可以考虑使用大量内存来代替数据库,以提高整体访问效率。