漫谈NoSQL数据库

NoSQL数据库

NoSQL 即 Not Only SQL是对非关系型数据库的泛称。NoSQL数据库不遵循传统关系型数钢库的ACID原则,并且他弃了磁度存储,转而走向了内存存储。

CAP定理

NoSQL数据库大多应用于分布式应用系统中相对于传统关系型数据库的ACID理论,NoSQL理论基础主要基于CAP原则(也叫CAP定理,见下图)。CAP定理中的C、A、P分别指Consistency(一致性)、Availability(可用性)、Parition iolerance(分区容铺性)。NoSQL理论对分布式系统中的三个特性进行了如下归纳:

1)一致性(C)。一致性被称为原子对象,任何的读/写都应该看起来是“原子”的。写后面的读一定能读到前面写的内容,所有的读/写请求都好像被全局排序。
2)可用性(A)。对任何非失败节点都应该在有限时间内给出请求的回应(请求的可终止性)。
3)分区容错性(P)。允许节点之间丢失任意多的消息,当网络分区发生时,节点之间的消息可能会完全丢失。
_1

CAP定理由Eric Brewer教授提出,并由Lynch等人于2002年证明了Brewer的猜想。

CAP定理告诉我们,一个分布式系统不可能同时满足一致性、可用性和分区容错性这三个需求,最多只能同时满足两个。根据CAP定理,可以根据不同的应用场景选取其中的两个作为设计方向。

目前,NoSQL数据库作为实时应用系统数据库一般遵循AP原则。满足AP原则的NoSQL数据库一般采用Key-Value内存数据库,如Redis。但CAP定理正在面临诸多质疑。CAP的概念定义比较模糊,而且CAP没有考虑不同的基础架构、不同的应用场景、不同的网络基础和用户需求,而C、A、P在这些不同场景中的含义可能完全不同,这种无差异化的定义直接导致了概念的不明确,同时也成为CAP被质疑的源头。

不过,CAP定理仍然有显著的指导意义,它至少告诉我们在设计分布式系统和选择NoSQL数据库产品时需要考虑的基本方向,它还提醒我们分布式系统与传统系统架构存在的差异性,你必须根据实际的应用慎重选择分布式框架。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/630567

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。