第10章 NoSQL数据库1
需积分: 0 65 浏览量
更新于2022-08-04
收藏 959KB PDF 举报
"NoSQL数据库概论"
NoSQL数据库是指非关系型的数据库,旨在解决关系数据库的缺陷,例如关系数据库并不适合所有的数据模型、关系数据库扩展难度大、标准化通常会伤害到性能等问题。NoSQL数据库的目标是反标准化、无模式、文档型存储,以key/value为基础,支持通过key进行查找,具有水平扩展、内置复制、HTTP/REST或很容易编程的API、支持MapReduce风格的编程、最终一致性等特点。
NoSQL数据库的使用场景主要有三高需求:对数据库高并发读写的性能需求、对海量数据的高效率存储和访问的需求、对数据库的高可扩展性和高可用性的需求。Web2.0网站的“三高”需求是RDBMS在Web2.0无用武之地。
NoSQL数据库的特点主要有灵活的可扩展性、大数据、降低管理难度、经济、灵活的数据模型等。然而,NoSQL数据库也存在一些挑战,如成熟度、支持、分析和商业智能化、管理、专业知识等。
在NoSQL数据库中,CAP理论告诉我们,一个分布式系统不可能满足一致性、可用性和分区容错性这三个需求,最多只能同时满足两个。在处理CAP的问题时,可以有四个选择:BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性。
BASE思想主要强调基本的可用性,如果你需要高可用性,也就是纯粹的高性能,那么就要以一致性或容错性为牺牲。BASE:Basically Availble, Soft-state , Eventual Consistency。
在NoSQL数据库中,存在不同类型的一致性,例如强一致性、弱一致性、最终一致性等。最终一致性是指经过一段时间后要求能访问到更新后的数据一致性。
NoSQL数据库是一种 revolutionize 的数据库运动,旨在解决关系数据库的缺陷,满足Web2.0网站的“三高”需求,具有灵活的可扩展性、大数据、降低管理难度、经济、灵活的数据模型等特点。但是,NoSQL数据库也存在一些挑战和质疑,如成熟度、支持、分析和商业智能化、管理、专业知识等。