MySQL发展以及NoSQL的特点

Redis

MySQL发展历史

MySQL的单机时代

在这里插入图片描述

90年代这时候,一个网站的访问量不算太大,单个数据库就足够了。

而且更多的是静态网页,服务器没有太大的压力。

这种情况下,整个服务架构的瓶颈是:

1、数据量太大一个机器放不下

2、访问量(读写混合),一个服务器承受不了

Memcached(缓存)+MySQL+垂直拆分(读写分离)

网站80%的情况都是读数据,每次都要查询数据库的话就十分麻烦,为了减轻数据库服务器的压力,用缓存来保证效率。

在这里插入图片描述

发展过程:优化数据结构和索引(数据本身)->文件缓存(IO)->Memcached

分库分表+水平拆分+MySQL集群

在这里插入图片描述

数据库的本质:读写(用缓存来解决读的问题),随着业务量的增长,写也会出现问题

Innodb:行锁

用分库分表来解决写的问题,例如将系统的不同模块订单,用户,支付使用单独的数据库,最后做成微服务。

如今

如今数据类型和数据量暴增,比如定位,音乐,热榜都是数据类型,MySQL等关系型数据库已经不够用了。

如果用MySQL存储博客,图片等数据,数据库表很大,效率比较低,要有一种专门的数据库来存储这些数据。NoSQL数据库就是专门存储这些数据的。

目前的一个互联网项目架构

在这里插入图片描述

NoSQL

Not only SQL

很多数据例如用户的个人信息,社交网络,地理位置等,这些数据类型的存储并不需要一个固定的格式,即非关系型,且不需要多余的操作就能横向扩展。例如Map<String,Object>

特点

1、方便扩展(数据之间没有关系,很好扩展),解耦

2、大数据高性能 (Redis 写8W/S 读11W/s,NoSQL的缓存是记录级别的,是一种细粒度的缓存,性能高)

3、数据类型多样(不需要设计数据库,随取随用)

4、传统RDBMS与NoSQL

传统的RDBMS
-结构化组织
-SQL
-数据和关系都存储在单独的表里 row column
-严格的一致性
-事物
...
NoSQL
-不仅仅是数据
-没有固定的查询语言
-键值对存储,列存储,文档存储,图形数据库(社交关系)
-最终一致性
-CAP定理和BASE(异地多活)
-高性能,高可用,高扩展
...

大数据时代的3V和3高

3v
-海量 volume
-多样 variety
-实时 velocity
3高
-高性能
-高可用
-高扩展(随时可以水平拆分,增加服务器)

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=350xhb7vkoe88

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值