标签:
NOSQL的CAP原则。这个是NOSQL的基础,C代表一致性,意指在分布式系统中的所有数据备份,在同一时刻是否同样的值。在这里任意时刻很重要,因为很多NOSQL产品是可以保证最终一致性的;A代表可用性,在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。P分区容错性,以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
对于NOSQL来说,一定是要实现P的,否则不如使用关系型数据库。区别只在于根据实际情况选择C还是A即常说的CP系统还是AP系统。
对于金融行业的系统来说,通常是CP系统。但CP系统能够实现跨行事务的产品(HBASE没有实现跨行事务,gemfire实现了)也不是很多。原因有二:1. 两阶段提交无法保证效率,且在二阶段提交的控制器down掉的情况下无法保证一致性,这说明要在不同机器上实现一致性非常困难或者说效率不高;2. 在单机实现一致性是非常成熟的(关系型数据库),但是如何保证键值对方式的NOSQL数据库,两个KEY在同一台机器上呢?这需要开发时进行特殊的规划。因此,实现跨行事务的产品也需要事先规划并特殊设置。
所以,从目前看,对于金融交易系统,NOSQL只能是一种补充,而无法完全替代。希望,NEWSQL?
标签:
原文地址:http://www.cnblogs.com/wangyan82/p/5638272.html