关系(xì)数据库的应用已(yǐ)经有了半个世(shì)纪的历史,其各种子类别(如文(wén)档、键值数据(jù)库和缓存数据(jù)库)是IT领域中长期(qī)存在的部分。很多人可能会认为数据库创新的时代已经过去了。但是(shì),云计(jì)算基(jī)础(chǔ)设施和服务的兴起为这(zhè)个原(yuán)本停滞不(bú)前的市场注入(rù)了新的活力(lì)。
主(zhǔ)要(yào)的云计算提(tí)供商最初将(jiāng)数据库作为应用程序使用,以(yǐ)便在通用计算实例上运(yùn)行,但很快就开(kāi)始(shǐ)使(shǐ)用更(gèng)高级(jí)别的应用程序服务(wù)来扩展(zhǎn)其IaaS产(chǎn)品(pǐn)。云计算(suàn)数据库已经(jīng)成为技(jì)术开发的关键领域,云计算提(tí)供商可(kě)以通(tōng)过启动不同(tóng)类型的数据库来满足业务需求来(lái)进行竞争(zhēng)。
1. 了解市场
调研机(jī)构Gartner公司认(rèn)为,云计算(suàn)是数(shù)据库市场的未来。该(gāi)公(gōng)司预测,到2022年,将有75%的数据库部署在云中(zhōng)。这一数(shù)字基于(yú)客户对(duì)新应用程(chéng)序和现有应用程序(xù)的查询和访问,这些应用程序正在以越来(lái)越(yuè)快的速度向云端迁(qiān)移,预计这一趋(qū)势将会加速。
例如,在Gartner公司发布(bù)的2019年数据库(kù)市场份额(é)排名中,AWS公司(sī)排名(míng)第三,高于2013年的第(dì)七位。事实上,AWS公司(sī)数(shù)据库分析师收(shōu)到大部分查询信息都与(yǔ)云平台有关。而且(qiě),由(yóu)于托管公(gōng)共云服务(wù)的(de)弹(dàn)性、可扩展性以及按需(xū)性质,在云中进行的创新可能(néng)无法在内部部署(shǔ)复(fù)制。
此外,Gartner公司估计,2018年云计算数据库收入(rù)占整体(tǐ)数据(jù)库软件和服务(wù)收入增长的68%,其中(zhōng)AWS和(hé)Microsoft的收(shōu)入(rù)占到(dào)绝大部分。
2. 熟悉(xī)数据(jù)库选项
为了规划这个以云计(jì)算为中心的未(wèi)来,企(qǐ)业必须了解(jiě)可以减(jiǎn)轻将内部(bù)部署工作负载迁移(yí)或复制(zhì)到(dào)云计(jì)算基础设施所遇到的问题的选项。
企业(yè)选择云计(jì)算(suàn)数据库服务时,有两(liǎng)个首(shǒu)要因素需要考虑(lǜ)——部署架构和数据(jù)库需求。特定应用程序(xù)将为(wéi)每个元素(sù)提供参数。
这(zhè)些(xiē)是(shì)影响与云计算相关的数据库选择的(de)因(yīn)素:
部署环境,无论是(shì)内部部(bù)署、一(yī)个或多个公共(gòng)云,还是私有云和托管数据中心的(de)混合;
数据(jù)库类型(xíng),包括关系(xì)型(xíng)SQL(RDB)、分布式SQL、NoSQL变体(如列存储、宽列)或文(wén)档数据库、缓存、图形或各种专用数据库(kù)(例如时间序列和(hé)量(liàng)子分类帐);
数(shù)据库管理器,即数据库是(shì)自我管(guǎn)理(lǐ)的还是云(yún)计算服务(DBaaS);
性能和容量要(yào)求,如(rú)每(měi)秒事务数(shù)、查询延(yán)迟以及数(shù)据库吞吐量(liàng)和容量(liàng)的可(kě)扩展性(xìng);
可用性和弹性要(yào)求,这将确定(dìng)对多个复制和(hé)同步(bù)实例的需(xū)求;
灵活性,包括(kuò)特定的版本要求(qiú)以及IT团队需要对数据库设置和配置等详细信息进行控制的数量(liàng)。
AWS、Microsoft和Google主导了(le)全球云(yún)服务市场。许(xǔ)多IT团队倾(qīng)向(xiàng)于(yú)使(shǐ)用(yòng)这些云计(jì)算提供商的数据库服务,而不(bú)是将数据库本身托管(guǎn)在云(yún)计算(suàn)实例(lì)上。那是因(yīn)为(wéi)将(jiāng)它们与现有的云计算环(huán)境集(jí)成起来会更容易,并且会减(jiǎn)少开销。
AWS、Microsoft Azure和(hé)谷歌云平台具有(yǒu)IT团(tuán)队(duì)应探索(suǒ)的一(yī)系列数据库服务(wù),以满足(zú)其特(tè)定需求。
3. 云计算数据库服务(wù)的权衡要素
数据库(kù)服务并非适合(hé)每个公司和每种云计算(suàn)策略(luè)。通常,云计算数据库服务(wù)更适合于以(yǐ)下这样一些企(qǐ)业(yè):
需要(yào)更简单、更快的部署(shǔ);
需要各种各样的数据库(kù)产品,而不必安装(zhuāng)和(hé)管理每个产品;
不想管(guǎn)理软(ruǎn)件;
需要更大的可扩展(zhǎn)性;
希望通(tōng)过多个地(dì)理位置分散(sàn)的实(shí)例(lì)实现(xiàn)高可(kě)用性;
了解云计算的共享(xiǎng)安全模(mó)型,并可(kě)以利用(yòng)云计算(suàn)固有(yǒu)的(de)安全基础设施;
无需对(duì)每(měi)个数据库设置(zhì)进(jìn)行微观管(guǎn)理。
总体而言,云计算(suàn)用户必须(xū)了解单个数(shù)据库实例的容(róng)量和(hé)性能限(xiàn)制。但是,这些通(tōng)常可以(yǐ)通(tōng)过分布式设计来(lái)解决(jué),该(gāi)设计利用云计算产品内置的复制和网络功(gōng)能。
尽管总拥有成本的计算充满(mǎn)了每个组织所独有的变量(liàng),但云(yún)计算(suàn)数据(jù)库服(fú)务的成本要低于自我管理(lǐ)的内部数据库系统(tǒng)。它(tā)们消除了硬(yìng)件(jiàn)、系统管理和一些数(shù)据(jù)库管(guǎn)理(lǐ)员(DBA)开销的成本,对于希望(wàng)减(jiǎn)少开(kāi)支的企业而言,这(zhè)是(shì)一个(gè)更具吸引力的(de)选(xuǎn)择。当(dāng)企业使(shǐ)用基于开源或(huò)内部开发的软件的云计(jì)算产品时,节省(shěng)更多的(de)费用,从(cóng)而(ér)消除了许可费用。
4. 考虑企业的业(yè)务和使用情况(kuàng)
数(shù)据库应用(yòng)程序的设计和(hé)选择高度依赖于软件需求、云计(jì)算使用(yòng)情况以及任(rèn)何相(xiàng)关的原有系统。为(wéi)了(le)对(duì)企业工作量做出最佳决(jué)策,需要考(kǎo)虑以下(xià)几个因素:
首先(xiān),新的应用程序比(bǐ)传统应用程序更适合(hé)云计算(suàn)基础设施和数据库产品。然而(ér),如果IT团队希望迁移过时的硬件,或者(zhě)如果他们的(de)使用率(lǜ)出现峰值(zhí),并(bìng)希望通过利用云计算(suàn)的基于(yú)消费的定价来(lái)节(jiē)省资金(jīn),那(nà)么(me)IT团队可能会选(xuǎn)择(zé)将原有系统移到云平台上(shàng)。如果企业采用云原生策略,IT团队可(kě)能需要迁(qiān)移一个(gè)原有(yǒu)数据(jù)库来与新的应用程序集成。
但是,如果企(qǐ)业对直接(jiē)迁移到云(yún)平台(tái)持谨慎态(tài)度,混合云部署(将内部(bù)部署数据复制到云平台中或从云(yún)平台中访(fǎng)问)通常是一(yī)个更好(hǎo)的选择,并且提供了(le)更好的风险管(guǎn)理数据库。混合云的方法还允(yǔn)许IT团队在运行原有内部部署数据库作为(wéi)备份的同时切换(huàn)到作为(wéi)主要系统(tǒng)的云平台(tái)。
一旦企业(yè)的(de)团队适(shì)应了(le)新环境,便可(kě)以访问(wèn)主要云平台(tái)上可用的数据分(fèn)析(xī)和机器学习服务(wù)的(de)完整列表。它还可以将工作负载迁移到(dào)云(yún)原生数(shù)据库服(fú)务,例(lì)如(rú)Amazon Aurora、Azure Cosmos DB或Google Bigtable,与云计(jì)算实例上的原有数(shù)据(jù)库相比,它(tā)们通常更具成(chéng)本效益,并且可以更(gèng)好(hǎo)地与其他云计(jì)算服务集成。
无论选择哪种云计算数据(jù)库,系统设计(jì)师(shī)和应(yīng)用程序开发人员在设计基于云计算(suàn)的环境时都必(bì)须(xū)特别注意服务(wù)成本,因为草(cǎo)率的(de)使用和配置可能会(huì)抵消云(yún)计算部署可能带来(lái)的成本节省。