【Redis】001
【Redis】001
2020年了,我们现在处于大数据时代;
大数据:一般的数据库无法进行分析处理了!2006年Hadoop发布;
2020年了,必须精通Spring Boot + Spring Cloud才有竞争力!
1、单机MySQL的时代
90年代,一个基本的网站访问量一般不是太大,这个时候一个数据库完全足够了;
那个时候更多的是使用静态网页html,服务器根本没有压力;
思考一下:这种情况下我们网站的瓶颈是什么?
①数据量如果太大,一台机器放不下了;
②数据的索引(MySQL超过00万条数据,就要建立索引,B + Tree)一台机器内存也放不下;
③如果访问量(读写混合)比较大,一台服务器无法承受;
只要出现以上三个问题之一,就必须晋级!
2、“Memcached(缓存) + MySQL + 垂直拆分(读写分离)”时代
网站80%的情况都是在读取,如果所有的读取都去查询数据库的话特别麻烦且耗费资源!所以我们想将数据缓存起来,当其他用户再次查询该数据的时候直接从缓存获取,以减轻服务器压力,提高效率;
发展过程:优化数据结构和索引——文件缓存(IO)——Memcached(当时最热门的技术);
真正的人才并不去大公司,我们的竞争对手并不是人才,而是那些图安稳又踏实的人(老实人)!
1、分库分表 + 水平拆分 + MySQL集
技术和业务在发展的同时对人的要求也越来越高了!
本质:数据库 = 读 + 写;
早些年MyISAM:表锁(100万条数据,如果要查张三的密码要把整张表锁起来,特别影响效率,无法适应高并发!)
转战Innodb:行锁;
再后来:使用分库分表来解决写的压力,不同的业务存放在不同的数据库表中,MySQL在那个年代退出了表分区,但使用并不广泛;
MySQL集:很好满足了那个年代的需求;
2、当今时代
技术爆炸:2010年(按键手机+Android雏形)——2020年(Android发展到顶点,即将落幕,马上进入万物互联时代);
定位、实时热榜、天猫双11实时数据大屏等等,MySQL等关系型数据库已经无法满足需求,因为数据量大、变化快;
新型数据库:图形数据库、JSO数据库;
如某篇爆款文章,瞬间阅读量10w+,拿到访问了10w+次数据库吗?肯定不是!这些数据会预先存到缓存里面,每过一段时间进行持久化罢了!否则数据库压力就太大了!
有时候存储一些比较大的文件,如博客、图片等等,数据库很大,效率很低,如果有一种数据库专门用来存储此类数据,MySQL的压力就会很小了(研究如何解决这些问题),大数据的IO压力下,表几乎无法更改!
目前一个基本的互联网项目的样子:
为什么要用oSQL?
用户的个人信息、社交网络、地位位置、用户自己产生的数据、用户日志等等爆发式的增长!
这个时候我们需要oSQL数据库,可以很好地处理以上的情况!
1、oSQL
oSQL = ot Only SQL,不是没有SQL。而是不仅仅是SQL!
关系型数据库:表格、行、列;
泛指非关系型数据库,随着web2.0互联网的诞生,传统的关系型数据库很难满足web2.0时代的要求!以前,那些超大规模高并发的社区,暴露除了很多难以克服的问题,oSQL在当今大数据环境下发展地十分迅速,Redis是发展最快的,是必须掌握的技术!
很多的数据类型如用户信息、社交网络、地理位置、图片等等,这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以横向扩展;
2、oSQL特点
方便扩展(数据之间没有关系,很好扩展!);
大数据量高性能(1秒可以写8万次,可以读取11万次,oSQL的缓存是一种细粒度的缓存,性能高!);
数据类型是多样型的(不需要事先设计数据库,随取随用;数据量非常大的表,很多人无法设计数据库);
传统的RDBMS和oSQL的区别:
传统的RDBMS:
代码语言:javascript代码运行次数:0运行复制1、结构化组织;
2、SQL;
、数据和关系都存在单独的表中:行、列;
4、数据操作语言、数据定义语言;
5、严格的一致性;
oSQL:
代码语言:javascript代码运行次数:0运行复制1、不仅仅是数据;
2、没有固定的查询语言;
、键值对存储,列存储,文档存储,图形数据库(社交关系);
4、最终一致性;
5、CAP定理 和 BASE (异地多活);
6、高性能、高可用、高可扩展;
7、等等;
大数据时代的V:主要是描述问题的;
V:海量Velume、多样Variety、实时Velocity;
大数据时代的高:主要是对程序的要求;
高:高并发、高性能(保证体验和效率)、高可扩(随时拆分、机器不够了、可以扩展机器);
oSQL + 关系型数据库;
阿里巴巴架构;
1、商品图
2、技术解析
商品基本信息:
名字、价格、商品信息等等;
关系型数据库就可以解决:MySQL/Oracle;
淘宝内部用的MySQL不是大家用的MySQL,淘宝内部用的MySQL已经是被修改过的;
推荐文章:《阿里云的这疯子》;
商品的描述、评论(文字多):
存储在文档型数据库中,Redis/mongoDB;
图片:
分布式文件系统FastDFS;
淘宝自己的TFS;
Google的GFS;
Hadoop的HDFS;
阿里云的OSS云储存;
商品的关键字:
搜索引擎 solr elasticsearch;
ISearch:多隆(阿里的第一位程序员、技术大佬、阿里扫地僧);
(所有牛逼的人都有一段苦逼的经历,但是你只要像一样坚持,终将牛逼!)
商品热门的波段信息:
内存数据库;
Redis、Tair、Memache等等;
商品交易、外部的支付接口:
三方应用;
总结:
一个简单的网页背后的技术一定不是大家所想的那么简单!
、大型互联网应用的问题
存在问题:
- 数据类型太多;
- 数据源太多,经常重构;
- 数据要改造、大面积改造;
解决问题:
等等;
思想的提高远远大于知识的学习!
1、KV键值对型数据库
新浪:Redis;
美团:Redis + Tair;
阿里、百度:Redis + Memache;
2、文档型数据库(bson和json一样)
MongoDB(一般必须要掌握);
MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档; MongoDB是一个介于关系型数据库和非关系型数据库中间的产品!MongoDB是非关系数据库中功能最丰富的、最像关系型数据库的数据库;
ConthDB;
、列存储数据库
HBase;
分布式文件系统;
4、图形数据库
不是存图片的,而是存关系的,比如社交网络、知识图谱等等;
eo4j,InfoGrid;
5、四种类型的oSQL对比
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上一篇:【Redis】002
推荐阅读
留言与评论(共有 11 条评论) |
本站网友 天津华大基因 | 7分钟前 发表 |
不是没有SQL | |
本站网友 论坛会员 | 0秒前 发表 |
数据定义语言; 5 | |
本站网友 昆明健身房 | 29分钟前 发表 |
传统的关系型数据库很难满足web2.0时代的要求!以前 | |
本站网友 去鱼尾纹 | 13分钟前 发表 |
一台服务器无法承受;只要出现以上三个问题之一 | |
本站网友 羟基脲 | 16分钟前 发表 |
而是那些图安稳又踏实的人(老实人)!二 | |
本站网友 成都电影票团购 | 3分钟前 发表 |
如有侵权请联系 cloudcommunity@tencent 删除前往查看数据数据库nosqlredis关系型数据库 | |
本站网友 桥西区二手房 | 26分钟前 发表 |
很多人无法设计数据库);传统的RDBMS和oSQL的区别:传统的RDBMS:代码语言:javascript代码运行次数:0运行复制1 | |
本站网友 重庆租房网 | 14分钟前 发表 |
数据库很大 | |
本站网友 天花板效应 | 29分钟前 发表 |
数据库演进(以前)2020年了 | |
本站网友 医院痤疮 | 4分钟前 发表 |
如果要查张三的密码要把整张表锁起来 |