非关系型数据库
一、为什么要用Nosql1. 单机MySQL的时代。一个基本的网站访问量一般不会太大,单个数据库完全足够。那时候更多使用的静态网页html,服务器根本没有太大压力。这时候网站的瓶颈是什么?- 数据量如果太大,一个机器放不下。- 数据量太大需要建立数据的索引(B+ Tree),一个服务器内存放不下。- 访问量读写混合,一个服务器承受不了。2. memcached缓存+MySQL+垂直拆分(读写分离)
一、为什么要用Nosql
1. 单机MySQL的时代。
一个基本的网站访问量一般不会太大,单个数据库完全足够。
那时候更多使用的静态网页html,服务器根本没有太大压力。
这时候网站的瓶颈是什么?
- - 数据量如果太大,一个机器放不下。
- - 数据量太大需要建立数据的索引(B+ Tree),一个服务器内存放不下。
- - 访问量读写混合,一个服务器承受不了。
2. memcached缓存+MySQL+垂直拆分(读写分离)。
网站80%的情况都是在读,每次都要去查询数据库的话效率低,我们可以使用缓存来保证效率,减轻数据库的压力。
发展过程:优化数据结构和索引->文件缓存(IO)->Memcached缓存
3. 分库分表+水平拆分+MySQL集群。
M:master主节点
S:slave从节点
主从复制。
使用分库分表来解决写的压力。
4. 如今最近的年代。
2010~2020十年之间,世界已经发生了翻天覆地的变化。(定位也是一种数据。音乐!热榜!)
MySQL等关系型数据库就不够用了,数据量很多,变化很快。
MySQL有些用来存储比较大的文件、博客、图片,数据库表很大,效率低下,如果有一种数据库来专门处理这种数据,
MySQL压力就会变小(研究如何处理这些问题)。大数据的IO压力下,表几乎没法更大。
5. 目前的互联网项目。
6. 为什么要用NoSql
用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长。
这时候我们就需要使用NoSql数据库,NoSql可以很好的处理以上的情况。
二、什么是NoSql
Not Only SQL(不仅仅是SQL)泛指非关系型数据库。
随着web2.0互联网的诞生,传统的关系型数据库很难对付,尤其是超大规模的高并发社区。
很多的数据类型:用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式!
不需要多余的操作就可以横向扩展的!Map<sring,Object>使用键值对来控制。
三、NoSql特点
- - 方便扩展(数据之间没有关系,很好扩展)
- - 大数据量高性能(redis一秒可以写8万次,读取11万,NoSql的缓存记录级,是一种细粒度的缓存,性能比较高)
- - 数据类型是多样型的(不需要事先设计数据库,随取随用。如果是数据量十分大的表,很多人就无法设计了)
- - 传统的RDBMS和NoSql
传统的RDBMS -结构化组织 -SQL -数据和关系都存在单独的表中 -操作,数据定义语言 -严格的一致性 -基础的事务
Nosql -不仅仅是数据 -没有固定的查询语言 -键值对存储,列存储,文档存储,图形数据库(社交关系) -最终一致性 -CAP定理和BASE(异地多活)初级架构师!(狂神理念:只要学不死,就往死里学!) -高性能,高可用,高可扩展
关注成都知了堂,获得更多Java学习资料:https://zhiliaotang.cn

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)