2022中文无字幕入口网站,网站要多钱,WordPress整站搬家插件,巴彦淖尔专业做网站的#x1f680; ShardingSphere #x1f680; #x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 #x1f340; #x1f332; 越难的东西,越要努力坚持#xff0c;因为它具有很高的价值#xff0c;算法就是这样✨ #x1f332; 作者简介#xff1a;硕风和炜 ShardingSphere 算法刷题专栏 | 面试必备算法 | 面试高频算法 越难的东西,越要努力坚持因为它具有很高的价值算法就是这样✨ 作者简介硕风和炜CSDN-Java领域优质创作者保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享 恭喜你发现一枚宝藏博主,赶快收入囊中吧 人生如棋我愿为卒行动虽慢可谁曾见我后退一步 ShardingSphere 目录 一.海量数据存储问题及解决方案 1.1 遇到的问题 1.2 解决方案 二.项目架构演变 - 数据库架构演变 2.1 单体应用架构 - v1 2.2 集群架构 - v2 2.3 集群架构(主从复制读写分离)- v3 2.4 集群架构(主从复制读写分离缓存) - v4 三.总结 四.共勉 一.海量数据存储问题及解决方案
随着大数据时代的到来如何存储海量数据成为我们面临的一个重要的问题数据的量级也是成指数的增长从GB到TB到PB传统单体的关系性数据库已经无法满足需求。 1.1 遇到的问题
传统的关系型数据库在处理海量数据时遇到了诸多挑战例如性能瓶颈、存储空间浪费、扩展性差、用户请求量大等等问题。 1.2 解决方案
合理的数据库架构能够提升数据库的性能如分布式、主从同步、分库分表等方式。 二.项目架构演变 - 数据库架构演变
项目整体架构的演变流程如下图所示 注意下面的内容主要学习的是在整个项目架构演变过程中【数据库架构】技术的演变过程 2.1 单体应用架构 - v1
此时项目是一个单体应用架构我们经常会在单台服务器上运行我们所有的程序和软件。
在项目运行初期各种表都会存储在同一个数据库中每个表都包含了大量的字段。在用户量比较少访问量也比较少的时候单库单表不存在问题。
存在的问题
因为机器都是单台随着我们业务规模的增长慢慢的我们的网站就会出现一些瓶颈和隐患问题。 2.2 集群架构 - v2
随着访问量的继续不断增加单台应用服务器已经无法满足我们的需求。所以我们通过增加应用服务器的方式来将服务器集群化。
存在的问题
采用了应用服务器高可用集群的架构之后,应用层的性能会得到明显的提升,但是数据库的负载也在增加,随着访问量的提高,所有的压力都将集中在数据库这一层。 2.3 集群架构(主从复制读写分离)- v3
应用层的性能得到明显的提升但是数据库的负载压力在增大那如何去提高数据库层面的性能呢
我们可以使用主从复制读写分离一定程度上可以解决问题。
存在的问题
随着用户量的增加、访问量的增加、数据量的增加依然会带来大量的问题所以我们还需要进行改进。 2.4 集群架构(主从复制读写分离缓存) - v4
随着访问量的持续不断增加比如我们电商项目中的秒杀活动会出现许多用户访问同一内容的情况出现大量的热点数据对于这些热点数据的访问如果每次都去数据库中进行查询的话那么会对我们的数据库造成极大的压力所有我们没必要每次都从数据库重读取这时我们可以使用到缓存技术。
存在的问题
缓存只能缓解读取压力数据库的写入压力还是很大随着数据量的继续增大性能还是很缓慢 三.总结
系统架构从v1演变到v4这个阶端,所有的数据都还在同一个数据库中虽然我们采取了集群化、主从复制、读写分离、增加缓存的方式但是随着数据库的压力持续增加数据库的瓶颈仍然是个最大的问题。为了解决这个问题接下来我们将学习对数据库的库和表进行垂直拆分和水平拆分。 四.共勉
最后我想和大家分享一句一直激励我的座右铭希望可以与大家共勉