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