关于NOSQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于NOSQL相关的知识,希望对你有一定的参考价值。

  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?

以上是关于关于NOSQL的主要内容,如果未能解决你的问题,请参考以下文章

关于NOSQL

我需要关于 NoSQL/MongoDb 和数据/模型结构的建议

科技范 丨云计算 关于NoSQL与SQL的区别

关于MongoDB数据库的总结

关于数据库更新/插入速率限制的一些查询(基于 SQL 或基于 NoSQL)

关于NoSQL非关系型的数据库详解