Database Link与Socket那种方式更好?
Database Link与Socket那种方式更好?
现在有两个数据库,相距比较远。存放的类似账目的信息。
例如:A库记录一笔转账数据,在B库中也要一笔与之对应的纪录。
目前有两种方案:
1、使用Database Link,在A库操作完成后,直接通过Database Link远程操作B库些相应的记录。
2、使用Socket通讯。应用程序操作完A库后,向B库所在的计算机发送一个Socket包,B库计算上的程序接收到包写本地B库。
优缺点:
1、优点:在网络正常的情况下可以保证数据的一致
缺点:需要维护Database Link,在网络带宽不大的情况下,非常消耗网络资源
2、优点:所有的数据库操作都是本地操作,不需要维护Database Link
缺点:Socket通讯错误可能导致数据不一致,需要额外的对账处理
以上是我分析的结果,不知各位高手有什么建议,到底那种方式在网络环境不太好的情况下更具优势?
注:该系统是7*24的不间断运行系统!!!