NOSQL
为什么用NoSQL?
由于时代在进步,所以像以前的客户端对一个数据库已经过时了(数据越来越多),所以读取数据就越来越慢,后来就出现了,主从复制技术来达到读写分离(比如说读的2个读的,1个写的),但是还不够用所以就出现越来越多的MYSQL集群。
现在的数据库模式
NoSql简介:
NOSQL原名为:No Only SQL(不仅仅是sql),可以说是非关系型数据库
所以说,Nosql可以存入实现一些Mysql实现不了的操作,例如:Redis的地理位置存储
Nosql的特点:
1.易扩展
Nosql的数据库种类繁多,但是有一个共同特点都是非关系型数据库
数据之间无关系,这样就很容易扩展(Mysql中有外键,而Nosql中就没有),也无形中,让架构层面上的课扩展性增强了
2.大数据量高性能
NoSQL数据库都具有非常高的读写性能,尤其是在大数据量下,同样表现优秀。这得益于它的非关系 性,数据库的结构简单。
一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大力度的Cache,在针对Web2.0的 交互频繁应用,Cache性能不高,而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL 在这个层面上来说就要性能高很多了。
官方:Redis 一秒可以写8万次,读11万次!
3、多样灵活的数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式,而在关系数据库里,增删 字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是噩梦。
4、传统的RDBMS(关系型数据库) VS NoSQL
传统的关系型数据库 RDBMS - 高度组织化结构化数据 - 结构化查询语言(SQL) - 数据和关系都存储在单独的表中 - 数据操纵语言,数据定义语言 - 严格的一致性 - 基础事务 NoSQL - 代表着不仅仅是SQL - 没有声明性查询语言 - 没有预定义的模式 - 键值对存储,列存储,文档存储,图形数据库 - 最终一致性,而非ACID属性 - 非结构化和不可预知的数据 - CAP定理 - 高性能,高可用性 和 可伸缩性
3V+3高
大数据时代的3V : 主要是对问题的描述
- 海量 Volume
- 多样 Variety
- 实时 Velocity
互联网需求的3高 : 主要是对程序的要求
- 高并发
- 高可用
- 高性能
当下的应用是 SQL 和 NoSQL 一起使用
NoSQL四大分类