2012-07-16 73 views

回答

2

仅适用于主/从最初三年的App Engine,数据存储的健康绑到健康一个单一的数据中心。用户具有低延迟和强一致性,但也有暂时数据不可用和计划的只读期间。

高复制数据存储区交易少量的延迟和一致性以显着提高可用性。

+0

请参阅[本视频](http://www.youtube.com/watch?v=xO015C3R6dw&feature=share&list=PL0F88B17E4F7399A9) – 2014-03-11 01:22:56

5

两者之间的区别(以及切换原因)是增加了容错和数据一致性

主/从数据存储实现主备备份协议。每个应用由主设备(即单个数据中心)提供服务,并且其数据被异步地复制到从设备(即一些其他数据中心)。这种模式的问题在于,它不能保护您的应用程序免受本地故障,并且更可能导致数据不一致。

高复制数据存储实现Paxos共识算法,以确保大多数数据中心保持应用程序数据的一致视图。由于您的数据不再依赖单个数据中心的运行状况,即使存在本地/全局故障,数据存储也能够正常运行。 Google的工程师也可以从这个实施中受益,因为它允许他们执行数据中心维护,而无需为AppEngine应用程序强制执行预定的只读周期。

使用高复制数据存储的缺点是写入速度较慢(大约是速度的2倍,因为Paxos本质上是2阶段的)。这并不是什么大问题,特别是与高复制数据存储提供的增加的容错和数据一致性相比时。