网站平台架构演变史(二)

简介: 上篇文章大致降了网站架构的一个大致发展趋势,这篇咱们讲讲数据库。数据库在大并发的情况下是最容易出现问题的,往往都是由于写操作引发的网站访问缓慢或者崩溃,之前说过12306就是这个问题。 大并发的时候,打个比方,上下班高峰期经常会堵车,我们把并发访问量当做车流量,某个路段路口比作数据库,某路口就这么大,3车道直行,而车流量巨大的时候就会引发大量车缓慢前行甚至不动,这个就是并发,交通瘫痪了嘛,数据库不也是一样瘫痪吗。
+关注继续查看

上篇文章大致降了网站架构的一个大致发展趋势,这篇咱们讲讲数据库。数据库在大并发的情况下是最容易出现问题的,往往都是由于写操作引发的网站访问缓慢或者崩溃,之前说过12306就是这个问题。

大并发的时候,打个比方,上下班高峰期经常会堵车,我们把并发访问量当做车流量,某个路段路口比作数据库,某路口就这么大,3车道直行,而车流量巨大的时候就会引发大量车缓慢前行甚至不动,这个就是并发,交通瘫痪了嘛,数据库不也是一样瘫痪吗。

 

之前我们讲的读写分离,就是一种解决方案,很多网站都是读操作大于写操作的,分开即可,就像车流量一样,转弯的提前在别的路口转弯,直行的不变。

那么当网站再进一步发展的时候,读写分离已经满足不了数据库的性能需求了,这个时候该怎么做呢?

1、分库,根据不同的业务把数据库切分,比如用户相关表和订单相关表分别放在user_db和order_db中,这样的做法可以很有效的减少数据库压力,但是这么做会增加业务的复杂度,比如分布式事务的最终一致性。在微服务架构中这是必须要解决的问题,再次不多说

 

2、表的水平拆分,很多企业都是这么做的,比如淘宝,人家水平拆分根据主键id取模后分别放在不同的表(或者库)中,举个栗子,我们自家的表示这样的

 

 

日期6位+随机10位字幕数字组合(分布式的根据算法产生的绝对唯一不重复主键),提取前六位数字取模,根据取模的数字来作为保存到不同表(库)中的依据

还有一种水平拆分是定时把一些不用的数据放进别的表中,冷热数据分离,这也是一种做法

3、表的垂直拆分,垂直拆分是指把数据库列,根据某些列被访问的频率高低,来决定,频率高的放在主表,频率低的放在从表,大家都有一个相同的主键,这是主从表的交集,便于管理和操作

好吧,到此,解决数据库瓶颈的手段大致如此,不论分库还是分表,最终的目的都是优化网站的性能。

 

相关文章
|
19天前
|
架构师 搜索推荐 IDE
架构师13年经验而成的软件平台架构设计与技术管理之道终于曝光了
计算机技术的发展日新月异,市面上软件架构、项目管理、IT技术类书籍层出不穷,从软件专业和技术视角进行阐述的居多,但对技术烂熟于胸,还是无法保证你能成为优秀架构师或驾驭平台的技术负责人。
|
1月前
可观测性简史-可观测性价值精讲ppt-业务系统的护城河
可观测性价值精讲,文末随附可观测性简史,可以快速注册体验可观测性平台,构建业务系统的护城河,指标体系和价值体系
44 0
|
4月前
|
监控 安全
《2021 阿里云可观测技术峰会演讲实录合辑(下)》——一、基于OPLG从0到1构建统一可观测平台实践——场景实践4:基于RASP的应用安全防护
《2021 阿里云可观测技术峰会演讲实录合辑(下)》——一、基于OPLG从0到1构建统一可观测平台实践——场景实践4:基于RASP的应用安全防护
|
4月前
|
Prometheus 运维 监控
《2021 阿里云可观测技术峰会演讲实录合辑(上)》——一、行业SaaS微服务稳定性保障实战【上】
《2021 阿里云可观测技术峰会演讲实录合辑(上)》——一、行业SaaS微服务稳定性保障实战【上】
|
4月前
|
运维 Prometheus 监控
《2021 阿里云可观测技术峰会演讲实录合辑(上)》——一、行业SaaS微服务稳定性保障实战【下】
《2021 阿里云可观测技术峰会演讲实录合辑(上)》——一、行业SaaS微服务稳定性保障实战【下】
|
4月前
|
数据采集 运维 数据可视化
招商银行数据分析平台的前生今世
招商银行数据分析平台的前生今世
196 0
|
8月前
|
搜索推荐
《美柚混合云架构演进与女性个性化推荐系统》电子版地址
美柚混合云架构演进与女性个性化推荐系统
35 0
《美柚混合云架构演进与女性个性化推荐系统》电子版地址
|
存储 SQL 数据采集
|
移动开发 缓存 运维
技术实践第四期|解读移动开发者日常-性能监控平台应用
应用性能监控平台是用来帮助客户提升应用性能质量和稳定性的重要环节,本人作为一名移动端开发者有着丰富的使用和运维经验,希望通过本文分享过往的心得和使用经验,让我参与开发的U-APM这款产品中,作为借鉴可以在中长期规划中帮助更多的开发者。
技术实践第四期|解读移动开发者日常-性能监控平台应用
|
运维 Kubernetes Devops
思否开源项目推介丨Choerodon:开源多云应用敏捷全链路技术平台
思否开源项目推介丨Choerodon:开源多云应用敏捷全链路技术平台
思否开源项目推介丨Choerodon:开源多云应用敏捷全链路技术平台
推荐文章
更多