Nosql概述
为什么要用Nosql而不是关系型数据库?
大数据时代(一般的数据库无法进行分析处理)
只要发生三种情况之一,一定要改进
-
缓存时代 Memcached+MysqL+垂直拆分(读写分离,主从复制)==>解决读的问题
优化MysqL底层数据结构和索引 ----> 文件索引(IO) ----> 缓存Memcached
网站80%都在执行读操作,每次查询数据库都会十分麻烦,希望减轻数据的压力,我们可以使用缓存来保证效率
-
表分区(没有大量使用)
新型数据库==>图形数据库,Json数据库
使用MysqL数据库存储图片,文件等大型数据,数据库表就会很大,效率就低了
如果有一种数据专门处理大型数据,那么MysqL的压力就会变小,大数据的IO压力下,表几乎无法更改(一亿条数据增加一列 非常难办!)
灰度发布:平滑升级
互联网基本架构模型
本质:数据库(读,写)
MyISAM:表锁(查询一个数据需要锁定整个表)==>影响效率,高并发下出现严重问题
Innodb:行锁(查询一个数据只需锁定一行)
为什么要用Nosql?
用户的个人信息,社交网络,地理位置,用户自己产生的数据,用户日志等爆发式增长
关系型数据库达到瓶颈,使用Nosql可以很好的处理这种情况
Nosql=Not Only sql(不仅仅是sql)泛指非关系型数据库,随着WEB2.0互联网的诞生,传统的关系型数据库很难对付(尤其是大规模高并发的社区)
关系型数据库:表格(行和列来记录)(POI使用java操作Excel)
Nosql数据库:没有固定的格式,拓扑图(动态发展),不需要多于操作就可以横向扩展, Map<String,Object>
Nosql特点
- 方便扩展(数据之前没有关系,很好扩展!) 解耦
- 大数据量高性能(Redis一秒可以写8w次,读取11w次,Nosql的缓存记录,是一种细粒度的缓存,性能会比较高)
- 数据类型多样型(八种类型),不需要设计数据库,随取随用(如果数据量大很多人就无法设计)
传统RDBMS
Nosql
大数据时代的3V+3高
阿里巴巴演进分析
商品基本信息:MysqL
商品描述:mongodb
图片:分布式文件系统Hdfs
搜索:搜索引擎elasticserach,ISearch
热门波段信息:内存数据库(Redis,memache)
商品交易:三方应用
出现问题
- 数据类型太多
- 数据源太多
- 经常重构
- 数据改造,大面积改造
- 必须掌握 MongoDB:一个基于分布式文件存储的数据库,C++编写,主要用于处理大量文档
- MongDB是一个介于关系型数据库和非关系型数据库的中间产品,是Nosql非关系型数据库中功能最丰富,最像关系型数据库的
- 存放的是关系而不是图形
- Neo4j
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。