数据库,作为IT系统的基础类软件,发挥着非常巨大的作用。那么企业在使用数据库时,有什么样的方式可以选择?不同方式又各有其什么特点呢?本文将从使用方式、适用场景、未来发展、成本因素(人力、财务、时间)及风险点等多角度分析十二种情况(前六种为本地方式,后六种为云端方式)。
方式1:商业数据库 + 商业服务
这是比较传统的一种方式。企业购买大型商业数据库软件,并对应购买服务支持工作。在过去三、四十年里,这是主流的一种使用方式。可以说也很好地满足了各类企业的快速发展。只是随着近二十年来,互联网化的变革,对此种方式产生了不小的冲击。
这种方式适合传统企业,对数据库要求较高,自有技术能力有限,未来发展相对固定的情况,未来发展随着商业数据库的发展而变化,从总体来看,未来云化的需求对其冲击较大。此外,在国产化、自主可控化等要求下,也会对这个模式影响较大。
成本因素
从人力成本角度来看,整体投入不大,主要是由厂商提供。自有人员主要是完成审核、评估等工作。从财务成本分析,是几个方案中,相对最高的一种。经常见到“某国有银行,年度数据库采购xxxx万元的新闻”见诸报端。
正因为财力投入较大,这种方式也一般仅限于大中型企业或某些特殊行业要求。对时间成本而言,是相对较少的。选择商业数据库+服务,也就是看重其多年产品研发技术积累和成熟的商业交付能力。无论是产品成熟度、稳定性;还是服务支持方面等,一般都是可在较短时间内交付的。
风险分析
- 技术风险:技术封闭、不开放;不符合自主可控要求。
- 政治风险:如是外商产品,还易受到政治环境的影响。
- 财务风险:容易受到厂商绑架,经济投入上不太可控。
- 人员风险:受厂商技术人员技术能力水平影响很大,自有人员无法承担,长期得不到成长。
- 功能风险:成熟商业产品,很难定制化满足客户个性需求;且存在与其他组件集成风险。
- 转型风险:采用某商业产品后,想转型其他产品较为困难。
其他说明
- 商业产品,包含国产数据库及新兴数据库厂商。作为商业产品很好的补充,这两类方案在综合成本上是有优势的,但还需要在产品功能及服务能力上进一步加强。毕竟类似国外的商业产品服务,已经有四、五十年的积累。
- 商业服务,除了原厂服务外,还包括第三方服务支持公司。在后者的选择上,针对国外和国内厂商服务,差异还是比较大的。近期看到国产包括新兴数据库厂商与第三方服务公司之间的合作,动作很多(包括培训、认证、交付等)。
方式2:商业数据库 + 自主服务
这一方式也较为常见。在前一方式中,随着企业使用商业软件的深入,自有服务需求就变得迫切起来。通过建立自有服务体系,可以更好地满足企业自身需求。这种方式,适合有一定技术积累的传统企业。未来发展随着商业数据库的发展而变化,总体相对稳定。
成本因素
从人力成本来看,相较于前者有更多的投入。商业数据库产品推广多年,相关人才保有量很大,因此一般很容易招聘到需要的人才,且往往价格也不太高。这与后面的开源软件,形成鲜明的对比。财务成本投入仍然相对较大,商业软件的采购费用占整体的大头。
从时间成本看,较前者有所增加,但整体仍然偏少。这主要是因为商业数据库成熟的生态,很容易搭建出运维体系;且人才方面,也较容易去补充。
风险分析
在风险方面,与前者类似。其中技术风险上,自有人员对商业产品的把控,较原厂还是有所差距。当然对应人员风险就降低,通过自有人员对产品把控力更大。
其他说明
在某些关键核心领域,仍然建议采用原厂支持,减低技术风险。
方式3:开源数据库 + 商业服务
随着开源数据库的日益成熟,越来越多的企业开始使用开源数据库。但相较于商业数据库,开源方案对企业自有技术能力要求较高。因此,很多考虑搭上开源浪潮的企业,采用这种方式。适用于转型中的企业,从商业走向开源,这种方式可以在一定程度上规避风险。但一般为过渡阶段,长期来看还是要培养企业自有的服务能力。
成本因素
人力成本来看,处于中等水平,相较于商业服务,其综合人力成本有所降低的。财务成本投入大体中等左右,但服务厂商不同差异较大。时间成本投入较少,但相较于商业方案,需要企业对商业服务做更多的技术考察。因此在初始的评测阶段,往往需要投入较多的时间。
风险分析
- 技术风险:开源数据库自身技术风险、企业技术选型风险及商业服务能力风险。
- 人员风险:受厂商技术人员技术能力水平影响很大,需要认真评估。
- 功能风险:一般而言,开源数据库在功能上相较于商业数据库,还是有所欠缺。因此这部分要仔细评估。
其他说明
与商业服务不同,目前在开源服务方面,各厂商能力参差不齐,也没有较为统一的标准。有些开源数据库,是有所谓“原厂”类商业支持,但在国内声小势微。
方式4:开源数据库 + 自主服务
这是典型的“互联网”玩法,也是较为常见的一种方式。适用于规模较大,企业定制化要求较高的场景。发展成熟可考虑向企业内部私有云或数据库产品、方案方向发展,甚至对外赋能。
成本因素
这种方式的人力成本相对较高,但根据企业的使用规模、难度差异较大。开源数据库的发展也经历了一段时间,市场上人才保有量也逐步提升。但对于高端人才,仍然相对稀缺,人才成本也较高。财务方面,主要也表现在人力成本上。
此外,对于基础设施上也需要有一定投入,甚至可能比商业方案投入更大。时间成本较高,企业要建立成熟的开源数据库运维体系,是需要一定时间积累。
风险分析
风险分析与上者类似,突出人员风险,需长期培养投入。
方式5:开源定制数据库 + 商业服务
这是方案3的一种特殊情况。企业不是使用原生开源产品,而是使用第三方公司定制开源方案,可能是纯软件,也可能是软硬一体式。这类方式,会针对开源软件的不足,做定制化改进,满足企业级软件的需求。
但这种方式一般企业无法自己独立运维,需要借助第三方公司的商业支持。对数据库的企业级特性有较高要求,但原生开源数据库又无法满足的情况。对于短期内有去除商业数据库的需求场景,非常适合。随着国内对开源数据库使用水平不断深入,有越来越多的此类初创型企业出现。非常看好这种模式的未来发展。
成本因素
人力成本,主要来自于第三方服务,总体不高。财务成本,主要看方案情况,差异较大。时间成本,可视同纯商业方案。
风险分析
- 技术风险:定制化部分不开放,企业不可把控;此外,原生开源的版本变化,可能短期无法适用到方案中
- 人员风险:受厂商技术人员技术能力水平影响很大,需要认真评估。
- 转型风险:受限于方案,存在一定转型的风险。
方式6:私有云 + 云化服务
最后一种企业私有化部署方案,是一种云化折中方案。受限于一些特殊国情,有些企业无法直接使用公有云,但又急需类似公有云的平台能力。因此,某些云厂商或数据库厂商提供了一种私有云化部署方案。可简单理解为将云搬回家。
过去有种说法,说私有云会逐步萎缩,公有云会一统天下。但从近两年的国内云市场发展来看,私有云的发展速度某些指标甚至超过公有云。当我们现在大谈”toB”市场成为下一个蓝海时,这种模式也是toB服务市场的一个重要组成部分。这种方式,适合于大型企业,长期看好。
成本因素
从成本角度来看,人力成本投入不大,主要取决于厂商人员投入。财力方面,虽然相较于大型商业解决方案,有一定的成本优势,但优势不甚明显。时间成本上,也要长于传统方案,毕竟这不是单一技术平台的更换,而是涉及到Iaas、Paas等诸多层面。
风险分析
其风险点除了在财力方面,更多是考虑在对厂商的技术依赖性。相较于传统方案,这种方式的依赖性甚至更高。厂商一般提供很好的私有云,及对应其自有公有云的打通方案;但对其他公有云或企业自有平台,则较难打通。
方式7:裸云 + 开源数据库 + 自主服务
这是一种上云使用的初级阶段,企业仅使用云的Iaas部分,其余均自建。这种方式可充分利用公有云带来的弹性优势,将企业原有的技术积累延续到云端。对于企业来说,这种方式也是最为“平滑”的,甚至应用可以不做更多感知,仍然像使用企业内部IT资源一样,使用公有云资源。很适合于有多云、跨云需求的场合。但缺点是无法利用云厂商技术能力带来的附加值。
成本因素
从成本角度来看,企业可做到”最优”。仅使用裸机的情况下,完全可以按”价低者得”的策略,优化选择。在一定规模情况下,公有云还是有其价格优势,何况还可以充分利用弹性能力,动态缩减,根据企业发展随时调整IT投入。人员方面,与企业自主运维变化不大。时间方面,因为底层交付速度的提升,还是有一定的提高。
风险分析
风险不大,仅仅是依赖公有云底层,很容易迁移到其他云厂商或迁回自有。
方式8:裸云 + 商业数据库 + 第三方服务/自主服务
这是一种较为特殊的情况。企业选择将商业数据库,构建在公有云上。但其没有选择云厂商提供的,而是自主构建或选择第三方厂商协助完成。这往往是一些中小型的企业,其规模不足以支持私有化部署,而应用又依赖于商业数据库产品。企业想要充分利用云的弹性,因此组合出这种使用方式。
成本因素
财务成本来说,主要是针对基础设施层面,会较自建有所节省。人力、时间方面,差异不大。
风险分析
风险在于,某些商业数据库针对云场景的不予支持,企业有一定技术风险。要么有比较强大的自主技术能力,要么依赖于第三方服务厂商。
方式9:云数据库(开源) + 云平台服务
这是云厂商推出的最为“传统”的数据库服务,也是目前最多的一种选择。云厂商基于开源的数据库版本+自有的平台服务,构建其数据库产品。其核心的数据库与开源的版本,是完全一致的,各家比拼的更多是平台服务能力。这种方式对于企业的运维要求很低,基本可以依赖于云厂商提供的能力(除了个别高可用、容灾需求外)。这一方案比较适合于初期上云企业,可逐步摸索云与原有方式的区别。
成本因素
财务成本来说,与商业方案比较无疑是有优势的,但与自主开源对比,几乎没有优势。其更多的是在快速交付、扩缩容等方面产品特点。此外,对于人力成本来说,因运维类工作大幅度降低,因此是可以节约一定人力,压缩自有人员规模。时间成本方面,也有所提升。
风险分析
数据库自身风险不大,毕竟其使用的与开源同一版本,技术上可迁移至其他云厂商。当数据库版本升级后,也可以享受到对应的技术红利。但对平台服务,是存在一定依赖的,各家能力不同,需要有适应过程。此外,运维依赖云厂商,也存在一定技术风险。自主的技术能力,会逐步丧失。
方式10:云数据库(开源定制) + 云平台服务
云厂商除了提供与开源一致版本外,一般还提供私有定制版本。它往往是基于某开源数据库某一版本的深度定制,针对某些特性做了加强。当然有些以反馈社区的方式,回馈给开源(可能未来会merge入新版),但很多仅存在在”云私有DB”。如企业有针对某一特殊场景(如秒杀)或其他方面(如金融级数据同步)的强需求,可考虑使用此方案。当
然使用也意味着与云厂商深度绑定。此外,在平台服务方面,与上面情况类似。这种方案比较适合于对数据库有一定要求,而原生开源版本又不支持的情况。
成本因素
与上一种方式类似。
风险分析
风险在于绑定单一厂商,一般很难下来。这与使用大型商业数据库的情况类似。当然可以在应用端做个设计,尽量减少对特性的依赖。此外,因为是定制版本,未来开源版本的升级可能不会短时间内支持,甚至可能不会考虑支持,完全走向独立分支的道路。针对这点,企业也是需要关注的。
方式11:云原生数据库(自研) + 云平台服务
某些大的云厂商,除了上述两种外,可通过自研数据库方式,增加未来的产品竞争力。从最新的Gather报告来看,更多的云厂商加入进来,这也给数据库整体市场带来了活力。从预测来看,均一致看好云原生数据库的未来发展。相较于前两种方式,这类数据库更是诞生于云,从设计之初就更多考虑了云化环境特点,因此极具竞争力。
当然,从目前来看,现有云原生还处于”初级”阶段,未来在解决了更大规模扩展性、多读多写能力等后,其将真正进入井喷式发展。现有各大厂,在这一领域纷纷重点布局,加大投入。对企业而言,无疑又多了一种选择,特别是某些场景(如海量数据等),原生开源、扩展开源产品均无法满足。
成本因素
目前各厂商都在不遗余力地推广,因此从成本上企业还是可以受益的;但从长期来看,还需要进一步观察。从人员来说,企业也是需要一定投入,毕竟这是一种全新的数据库,虽然云厂商提供了很好的交互平台,但还是需要企业做一定的技术储备,因此人员上还需要些投入。时间上来看,对于这个比较新的产品,还需要做更多的测试评估工作,因此也是需要多些投入。
风险分析
风险类似上面,甚至有过之。企业应用将完全依赖于厂商产品。尽管很多是宣传兼容开源或商业数据库,但毕竟不是同一产品。这点还需要企业仔细评估。此外,针对兼容性、备份恢复、高可用、数据同步、跨云容灾等,都是值得投入研究的。
方式12:云数据库(自研) + 云服务 + 云托管平台
这是一类小众的方案,其背景是缘起于数据库厂商与云厂商的蛋糕划分问题。有些数据库厂商(如MongoDB)不希望将云数据库市场由云厂商主导,而是希望可由自身主导,构建不依赖于云厂商的独立生态。目前这种方式国内见得不多,此处暂不评论了。
作者:韩锋
首发于作者个人公号《韩锋频道》。
来源:宜信技术学院
原文地址:https://blog.51cto.com/14159827/2433280