Nosql 字面上看是No和sql的组合,表示No RDBMS(No Relational Database Management System,非关系型数据库管理系统)或者No Relational,此后有人提议NonRel来代替Nosql,还有人提出Nosql表示Not Only sql.
RDBMS假定数据的结构已明确定义,数据是紧密的,并且很大程度上是紧密的。RDBMS假定数据的属性可以预先定义好,它们之间的相互关系非常稳固且被系统地引用;还假定定义在数据上的索引能保持一致性,能统一应用提高查询的速度。但是一旦上述假设不成立,RDBMS就会暴露出问题。RDBMS能容忍一定程度的不规律和结构缺乏,但是在松散结构的海量数据面前,RDBMS就显示其不足。为了优化RDBMS,可以对表做一些逆规范化、去约束和放宽事务保障,但是经过这些修改后其更像一个Nosql产品。
Nosql虽然缓解了RDBMS的问题,并具有更强的的理海量稀疏数据的能力,但是也失去了事务完整性的能力和灵活的索引查询能力。
原文链接:https://www.f2er.com/nosql/204076.html