NoSQL概述
Posted 0x咖啡宝贝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NoSQL概述相关的知识,希望对你有一定的参考价值。
Redis
NoSQL概述
单机mysql时代
大数据时代,一般的数据库无法进行分析处理
数据量如果太大,一个机器放不下
数据的索引(B+ Tree),一个机器内存也放不下
访问量(读写混合),一个机器承受不了
Memecache + MySQL+垂直拆分(读写分离)
减轻服务器压力,使用缓存
发展过程:优化数据结构和索引-->文件缓存(IO)-->Memcached
分库分表+水平拆分+MySQL集群
早些年MyISAM:表锁,在高并发下严重影响效率
Innodb:行锁
使用分库分表来解决写的压力!
如今年代
MySQL等关系型数据库不够用!数据量大,变化很大
MySQL有的使用它来存储一些比较大的文件,博客,图片等,数据表很大,效率就低了。
大数据的IO压力下,表几乎没法更大
目前一个基本的互联网项目
为什么要用NoSQL
用户的个人信息,社交网络,地理位置。用户自己产生的数据,日志等等爆发式增长,无法使用关系型数据库进行存储,需要使用NoSQL!
什么是NoSQL
NoSQL = Not Only SQL
关系型数据库:表格,行,列
泛指非关系型数据库,随着web2.0到来,传统关系型数据库很难对付web2.0,尤其是超大规模的高并发的社区,暴露出很多难以克服的问题,Redis是当下发展最快的,必须掌握的技术
很多的数据类型个人信息,社交网络,地理位置等不需要一个固定的格式!不需要过多的操作就可以横向扩展!Map
NoSQL特点
方便扩展(数据之间没有关系,很好扩展)
大数据量高性能(Redis一秒写8万次,读取11万次,NoSQL的缓存记录是一种细粒度的缓存,性能比较高)
数据类型是多样类型的(不需要事先设计数据库,随取随用)
传统RDBMS和NoSQL
传统的RDBMS
- 结构化组织
- SQL
- 数据和关系都存在单独的表中
- 操作,数据定义语言
- 严格的一致性
- 基础的事务
-------NoSQL
- 不仅仅是数据
- 没有固定的查询语言
- 键值对存储,列存储,文档存储,图形数据库
- 最终一致性
- CAP定理和BASE理论
- 高性能,高可用,高可扩
- ----了解3V+3高
大数据时代的3V :主要是描述问题的
1.海量Volume
2.多样Variety
3.实时Velocity
大数据时代的3高:主要是对程序的要求
1.高并发
2.高可扩(随时水平拆分)
3.高性能NoSQL四大分类
K-V键值对:
文档型数据库(bson格式和json一样):
列存储数据库
图关系数据库
存放的不是图,是关系!
总结
以上是关于NoSQL概述的主要内容,如果未能解决你的问题,请参考以下文章