加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

解DBA之惑:数据库承载能力评估及优化手段

发布时间:2021-01-08 20:50:14 所属栏目:安全 来源:网络整理
导读:副标题#e# 《解DBA之惑:数据库承载能力评估及优化手段》要点: 本文介绍了解DBA之惑:数据库承载能力评估及优化手段,希望对您有用。如果有疑问,可以联系我们。 作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网、TOM在

比如,我们可能需要一个数据中间层,来屏蔽后面的分库分表细节.这个中间层可能需要完成语句解析、访问路由、数据聚合、事务处理等一系列功能.即使使用了中间层产品,对于应用来说,数据库的功能也会相对“弱化”,应用级代码不得不进行很多的调整来适应这种变化.此外,如何把一个线上正在运行的系统,顺利平稳地迁移到新的结构下,这无疑又是一个给飞驰的跑车换轮胎的问题等等.

如果项目在运行中,出现了数据库架构级的调整,很有可能说明在前期项目设计规划阶段出现了失误,或者对项目的业务预期出现了偏差.因此,这两点一定在初始阶段进行充分的评估,并在设计上保留有充分的“弹性”.

6.?层次-应用架构级

有些情况下,单纯依靠数据库是无法解决的,需要综合考虑整个应用架构.在整个系统架构中,数据库往往处于系统的最末端,其扩展性是最差的.因此,在应用架构设计初期,就应该本着尽量不要对数据库产生压力的原则进行设计.或者即使有大的压力,系统可以采取自动降级等方式保证数据库的平稳运行.

常见的例如增加缓存、通过MQ实现削峰填谷等.通过增加缓存,可以大幅度减少对数据库的访问压力,提高整体系统的吞吐能力.引入MQ,则可以将对数据库的压力以“稳态”的形式,向数据库持续施压,而不至于被某个异常高峰压死.

7.?层次-业务架构级

最后一种情况是从业务角度进行一些调整.这往往是一种妥协,通过做适当的减法保证系统的整体运行.甚至不排除牺牲一部分用户体验等方式,来满足大部分用户的可用性.这就需要我们的架构师对系统能提供的能力要很清楚,对业务也要有充分的了解.对于承载什么样的业务,及为了承载业务所需要花费的代价成本有充分的认知,才可以做出一些取舍.

这里要避免一些误区,认为技术是“万能”的.技术可以解决一定的问题,但不能解决所有问题,或者解决所有问题的成本代价是难以接受的.这个时候,从业务角度稍作调整,就可以达到“退一步海阔天空”的结果.

文章出处:DBAplus社群(订阅号ID:dbaplus)

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读