数据库架构优化的12种组合方式与风险解读

电焊工在造作过程中产生的弧光会不会造成白癜风 http://www.bdfyy999.com/bdf/zhuanjiadayi/changjianwenda/m/3381.html

本文根据韩锋老师在〖deeplus直播第期〗线上分享演讲内容整理而成。(文末有韩锋老师亲笔签名版新书赠送,不容错过!)

韩锋

阿里云高级产品专家

dbaplus社群联合发起人,CCIA(中国计算机协会)常务理事;

OracleACE,具有丰富的一线数据库架构、设计、开发经验,著有《SQL优化最佳实践》《数据库高效优化》等书籍。

大家好,我是韩锋,一个数据库领域资深从业者(好吧,我是个70后)。近些年来,主要从事数据库产品、架构等工作。本文我将以个人感受,谈谈在新时期下数据库架构优化工作的一些问题,供大家参考。

下面的分享,我将从外部环境对数据库架构的影响、当前架构中若干热门的技术问题、之前的架构实践经历,以及个人如何成长等方面谈谈我的感受。

新时期数据库架构优化-环境篇

首先谈下外部因素对架构工作的影响。有些同学可能会感到疑惑,架构问题不是技术问题嘛,为什么还要考虑外部因素?这里是有个误区的,架构的本质是为了解决企业的业务问题,针对某一问题可能有很多种解法,选择最为合适的(而非最优的)是考验一个架构师的核心能力。

正如上图中,右下角的描述“脱离企业环境的架构,都是耍流氓”。那么影响架构的外部因素有哪些呢?

单位属性:包括企业、事业、军工等。不同单位属性,对架构诉求点是有差异的,粗浅的理解企业单位是追求利益最大化的、事业单位更多会从公共视角考虑问题、而军工则会从国防安全角度思考;

行业属性:包括互联网、金融、制造业、能源、交通等等。不同行业属性,同样存在差异。例如互联网企业往往比较激进,容易考虑一些自研、开源产品;金融企业则相对稳健,多从稳定安全角度考虑等;

用户属性:可简单划分为C端、B端、G端,对应个人用户、企业用户、政府用户。个人用户需求,对架构灵活度、可扩展能力往往有较高要求;而企业客户则更为强调稳定服务、生态兼容等因素;政府客户则对数据安全、高可用方面有着更高的要求;

发展阶段:企业处于不同发展阶段,对架构的要求也不同。初创期的企业,往往看重架构快速构建能力,满足业务发展初期的多变性和时间性;快速增长期的企业,则看重架构扩展能力和演进发展能力;稳定期的企业,看重架构的稳定服务能力和TCO;而衰退期,看重架构的TCO和可裁剪性;

大环境:外部大环境,对整体经济面影响,也会影响到企业对于架构的选择。当经济下行的时候,更多的企业会考虑架构稳定和TCO,而非创新;

新增长点:在某新兴领域的增长点,对于架构往往会带来特殊的要求。这也是业务特点所导致的,需要有个技术逐步摸索的过程。例如物联网、直播、电商等都如此。会有非常鲜明的带有特殊背景的技术诉求。

1、内外部需求

下面将以一个较为传统的企业客户视角,看看其内外部的需求是什么?这些因素都将对后续的架构设计,带来很大的影响。

1)外在需求

对于外在需求部分,可分为如下几个方面(有优先级顺序):

服务:在数据库架构上,传统企业通常使用大型商业数据库多年,已经习惯于“交钥匙”的模式。非常看重其完备的服务能力,使得企业可以安心于业务。使每年付出昂贵的服务费,但企业仍然可以接受;

生态:在过去二三十年,国外大型商业数据库在中国取得不错的成绩,这不仅其自身功能很强大,其周边生态也颇为完善。这里不仅包括上下游的配套软件、工具,还包括成熟的架构、设计、开发、运维、测试全栈技术以及积累多年基数很大的技术人才基础;

安可:作为国家的政策要求,对于某些行业自主可控是必须要考虑的。这一点,无疑对国产厂商有很大的优势。但需要注意的是,对于开源软件的使用,企业也要注意评估风险。一方面是可能存在的法律风险(毕竟开源协议比较繁杂);另一方面是技术风险,对开源代码的理解掌握也是需要企业很大投入的;

性价比:作为商业行为,价格因素也是企业重点考虑的。这里需要


转载请注明:http://www.xcqg58.com/jbjj/26842178.html