七、No SQL能干嘛
1、易扩展
NoSQL数据库种类繁多,但是一个有一个共同的特点就是:去掉了关系数据库的关系型特征;
数据之间无关系,这样就非常容易扩展。也无形之间,在架构层面上带来了可扩展的能力。
2、大数据量高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。
这得益于它的无关系性,数据库的结构简单。
一般MySQL使用的是Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,
在针对web2.0的交互频繁的应用,Cache性能不高。而NoSQL的Cache是记录级的,
是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多。
3、多样灵活的数据模型
NoSQL无需事先为要存储的数据建立数据,随时可以存储自定义的数据格式。
而在关系数据库里,增删字段是一件非常麻烦的事情。
如果是非常大数据量的表,增加字段就是一个噩梦。
八、传统RDBMS VS NoSQL
RDBMS
高度组织化结构化数据
结构化查询语言(SQL)
数据和关系都存储在单独的表中
数据操纵语言,数据定义语言
严格的一致性
基础事务
NoSQL
代表着不仅仅是SQL
没有声明性查询语言
没有预定义的模式
键-值对存储、列存储、文档存储、图形数据库
最终一致性,而非ACID属性
非结构性和不可预知的数据
CAP定理
高性能,高可用性和可伸缩性
九、NoSQL数据库的四大分类
1、KV键值:Redis、Tokyo、Voldemort
2、文档型数据库:CouchDB、MongoDB
3、列存储数据库:HBase、分布式文件系统
4、图关系数据库:Neo4J、InfoGrid
十、分布式数据库中的CAP原理+BASE
1、传统的ACID分别是什么?
A:(Atomicity)原子性
C:(Consistency)一致性
I:(Isolation)独立性
D:(Durability)持久性
2、CAP分别是什么?
C:Consistency强一致性
A:Availability可用性
P:Partition tolerance分区容错性
3、CAP的3进2
4、BASE是什么