在不稳定的网络中保持分布式数据库同步 [英] Keeping distributed databases synchronized in a unstable network

查看:165
本文介绍了在不稳定的网络中保持分布式数据库同步的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我面临以下挑战:

我在不同地理位置的一堆数据库中,网络可能故障很多(我正在使用蜂窝网络)。我需要使所有数据库保持同步,但无需实时进行。我正在使用Java,但可以自由选择任何免费数据库。

I have a bunch of databases in different geographical locations where the network may fail a lot (I'm using cellular network). I need to keep all the databases synchronized but there is no need to be in real time. I'm using Java but I have the freedom to choose any free database.

关于如何实现此目标的任何建议。

Any suggestions on how I can achieve this.

谢谢。

推荐答案

我不知道有任何数据库可以立即为您提供此功能。由于最终的一致性和冲突解决的需要,这里有很多复杂性(例如,如果网络被分为两半,您将值更新为123,而另一半则将值更新为321,会发生什么情况,然后网络重新连接?)

I am not aware of any databases that will give you this functionality out of the box; there is a lot of complexity here due to the need for eventual consistency and conflict resolution (eg, what happens if the network gets split into 2 halves, and you update something to the value 123 while I update it on the other half to 321, and then the networks reconnect?)

您可能必须自己动手。

有关如何操作的一些想法为此,请检查Yahoo的PNUTS系统的设计: http://research.yahoo.com/node/ 2304 和亚马逊的Dynamo: http://www.allthingsdistributed.com/2007/ 10 / amazons_dynamo.html

For some ideas on how to do this, check out the design of Yahoo's PNUTS system: http://research.yahoo.com/node/2304 and Amazon's Dynamo: http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

这篇关于在不稳定的网络中保持分布式数据库同步的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆