1. 首页>
  2. 腾讯云代理

前沿观察 | 怎么知道你的数据库烧了多少钱?

腾讯云 2020年10月10日 浏览46

    腾讯云代理 腾讯云新闻 腾讯云代理 腾讯云直播申请 游戏上云

摘要:

在云数据库占据主导地位之前,计算数据库成本有一个非常简单的公式:软件成本+硬件成本=数据库成本。如果你选择开源数据库,则软件成本还会降低。


至今,云已经从根本上改变了我们使用和部署软件的方式,但仍有太多人仍在使用这种过时的计算方法。但事实是,在对数据库的总成本进行定价时,还有很多事情要考虑。硬件和软件成本仍然存在,但是你还需要考虑数据库扩容,与现有和将来的系统集成,以及计划内或计划外停机的代价。 

在对云数据库的成本进行定价时,至关重要的是事先提出这些问题。在《 The Cockroach Hour》的最新一期中,产品营销副总裁Jim Walker给出了计算数据库实际成本时要问的所有问题的完整表述。成本分为三大类:硬件成本,运营成本和软件成本。 本文我们将逐步分析每一类成本 


从表面上看,自云时代即将到来的时候,数据库成本的计算方式变化不大。数据库的硬成本分为两类:软件许可和硬件。但是,云数据库的到来,给这个计算方式带来了更多的不同。

一、云数据库软件成本


市场上有很多软件许可证的形式,大致可以分为三类:


1. 传统企业:这已经是企业软件在云端之前三十多年的典范。你如果使用这类数据库,需要为企业软件许可证支付大量的前期费用(通常为数十万美元,外加支持和维护费用)。购买之后,你还需要为增加的功能和升级支付额外的费用。 


2. 完全开源:这种类型属于完全免费的许可证。但是,免费许可证并不代表着没有任何成本。你可能需要付费来维护支持并尽可能降低它的风险。 

3. 商业开源:此模型大约在10到15年前问世,它是解决公司获得完全开源许可证的某些问题的可行解决方案,例如赔偿和支持。


二、云数据库硬件成本


今天云数据库的硬件成本看上去和30年前并不一样。但是,这些硬件成本不会因为务器机房中没有嗡嗡作响的巨型盒子而消失。当然,两者之间还是存在差异:你可以与供应商协商价格,或者大量购买获得更大优惠,但这依然是采购前需要考虑的成本。
 
与此同时运营成本也不会完全消失,你需要对这些云数据库进行管理和操作。诚然,云服务商们在操作管理界面上花费了大量时间来让你更好地管理这些实例,但是易于使用依旧很重要。 


除了硬件和软件成本之外,我们还有运行数据库所产生的日常成本。这些因你选择的供应商(及其定价结构)而有很大差异,但这个成本源于同一个问题:将来我们要执行某个任务时会发生什么? 


在使用数据库的过程中,你将不得不通过系统与其他工具的集成来进行大规模的灾难恢复。 虽然这个灾备并不是一定出现,我们也不希望它出现,但是,在计算数据库的实际成本时,我们还是需要考虑这些必然性,并估算出灾备的成本。

一、宕机成本


无论你设置了多么精妙的架构,最终,我们会到硬件层面,而硬件层面的宕机,有时候是无法预测的,因此选择数据库时,都需要考虑临时或灾难性停机产生的成本。尽管有许多原因可能导致应用程序失败,但数据库是造成许多停机的主要原因。旧版本,写入瓶颈,内存问题,锁定的事务,配置错误,硬件故障。而你需要为这些“必然性”做好准备,因为它们会在某个时刻发生。

计划内和计划外的停机都可能导致大量成本,尽管这笔费用可能不容易计算,但仍应将其视为数据库选择的一部分。每个企业都是不同的,停机对每个企业的影响是不同的,但是在计算企业停机成本时需要考虑以下几项: 

1. 收入损失:错过了进行在线交易或吸引潜在客户的机会
2. 声誉影响:您的竞争对手还在为消费者继续提供下一个报价和服务
3. 客户满意度:由于发现问题,对您的产品或服务失去信任
4. 法律责任:在极端情况下,可能会因数据丢失而摊上官司

通常会有一些非常简单和直接的技术原因导致数据丢失和停机,而我们却发现要自己需要延长RPO / RTO周期,并且承受高昂的技术成本。

二、分片成本


对于大多数云数据库,可通过增加实例大小来实现扩展。但是,使用这种方法时,你可能会受到最大可用大小的限制。如果想扩展到这个范围之外,或者需要全球规模,会发生什么? 

某些数据库允许你扩展到单个实例(RDS)之外,并允许多个实例拓展。但是这是只读的,并且由于无法扩展写节点而限制了你可以处理的事务量。所以你仍然面临大小的限制。此外,由于你将始终遇到写访问的物理延迟,因此该单个写节点配置限制了你的可用性,无法在广泛的地区扩展访问。  

如果选择扩展像PostgreSQL或MySQL这样的开源数据库,最终将需要分片数据库。这种方法的成本并不低,首先你需要修改你的应用程序,这会带来风险。此外你还需要配置一个新实例,并在某个时候(通常在半夜)切换到该新配置。你还需要承担与硬件相关的额外成本及其对团队造成的困扰……而这还是最好的情况。如果在此过程中出现问题,最终还是会导致意外停机。而且,分片数据库的管理成本随着每个新分片成倍增加。

三、集成成本


大多数情况下,数据库是不会单独存在的,它被集成到你的IT平台中。我们大概率不会在OLTP数据库中运行OLAP,因此,数据库与其他工具(例如数据仓库)之间的集成非常重要。并且它的成本也可能会很昂贵,这取决于你是否需要Kafka或者数据湖之类的工具?

声明:本文由腾讯云数据库产品团队整理翻译,原内容来自于db weekly英文官网(https://dbweekly.com),若转载请注明出处。翻译目的在于传递更多全球最新数据库领域相关信息,并不意味着腾讯云数据库产品团队赞同其观点或证实其内容的真实性。如果其他媒体、网站或其他任何形式的法律实体和个人使用,必须经过著作权人合法书面授权并自负全部法律责任。不得擅自使用腾讯云数据库团队的名义进行转载,或盗用腾讯云数据库团队名义发布信息。因笔者翻译水平有限,翻译过程难免出现纰漏,如有谬误,望各位读者批评指正。


相关文章