该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-05
csrcom 写道 我知道你的需求, 你知道google是如何做这些事情嘛?
对于普通的服务一台机器就够了,为了备份,需要将数据额外存放到另外一台设备。这2台全部成功以后才告知客户端这次交易是ok的,否则将失败。 企业数据丢失情况肯定存在,除了软件提供了一些故障恢复功能以外。一些非人力无法解决的问题是需要工程师手工进行修复。 对于企业数据丢失,绝对不允许出现的,所以很多企业用oracle的rac,确保数据不丢失,服务可以停止,但是数据不能丢失。 |
|
返回顶楼 | |
发表时间:2008-05-05
csrcom 写道 为什么非要自身实现呢?
其实你想要表达的是amoeba它应该提供一个driver,而这个driver他是为了多台amoeba 负载均衡、failover的。 为什么我还需要实现这种机制呢? mysql connector-j已经提供了这种机制。 我的前提是数据保持同步,不丢失,你的前提是建立在数据可以丢失的基础上。所以你采用mysql自己的master/slave机制。我没有说好坏,只是说应用方面。 |
|
返回顶楼 | |
发表时间:2008-05-05
continuent是两台mysql自己作为独立的服务运行,相互没有master,他是通过本身自己进行负载均衡,并且做到数据真正的同步。
|
|
返回顶楼 | |
发表时间:2008-05-05
Oracle他不会承诺他的软件会丢数据,包括我也会说我的软件不会丢数据。那么到底会丢到那儿呢?
每一个环节都可能存在问题,而这些不是软件本身问题,而是软件之间的数据交互会造成问题,也有其他方面的因素:天灾人祸.... 为什么有一种叫容灾。我觉得如果你是我主管让我来保证数据永不丢失我绝对不敢保证。同样你让世界一流的人才来承诺的话同样会有这样答案,如果不是这样那他是初生牛犊不怕虎啊,精神可嘉 |
|
返回顶楼 | |
发表时间:2008-05-05
他不是本身实现的,需要有driver来依赖的。
|
|
返回顶楼 | |
发表时间:2008-05-05
csrcom 写道 Oracle他不会承诺他的软件会丢数据,包括我也会说我的软件不会丢数据。那么到底会丢到那儿呢?
每一个环节都可能存在问题,而这些不是软件本身问题,而是软件之间的数据交互会造成问题,也有其他方面的因素:天灾人祸.... 为什么有一种叫容灾。我觉得如果你是我主管让我来保证数据永不丢失我绝对不敢保证。同样你让世界一流的人才来承诺的话同样会有这样答案,如果不是这样那他是初生牛犊不怕虎啊,精神可嘉 我觉得你应该看看oracle RAC的资料,mysql可以看看continuent的资料,看看是否做到数据丢失。为什么需要购买那么昂贵的,oracle,或者采用很贵的架构方案,前提就是数据不丢失,如果银行,证券等系统数据可以丢失,你可以想象什么样子。 |
|
返回顶楼 | |
发表时间:2008-05-05
csrcom 写道 他不是本身实现的,需要有driver来依赖的。
他的driver是自己开发的,做到完全数据同步。 |
|
返回顶楼 | |
发表时间:2008-05-05
csrcom 写道 为什么非要自身实现呢?
其实你想要表达的是amoeba它应该提供一个driver,而这个driver他是为了多台amoeba 负载均衡、failover的。 为什么我还需要实现这种机制呢? mysql connector-j已经提供了这种机制。 很多企业丢失数据以后在软件无法自动修复而采用人工修复的方案,只不过你不知道他们到底做过了什么。 他们可以从各个数据现场采集数据从而获得需要修复的数据。尽量保证数据不会丢失、或者说将损失降低到最小 |
|
返回顶楼 | |
发表时间:2008-05-05
这个话题我们先到这儿啊
|
|
返回顶楼 | |
发表时间:2008-05-05
csrcom 写道 这个话题我们先到这儿啊
嗯,你可以试试看,加入相互侦测机制,做到相互fail over。不然你软件本身没有failover机制。你可以利用第三方,但是这样不保险。 |
|
返回顶楼 | |