NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

如何了解云数据库的隐藏费用,计算真实成本

作者 :Dan Kelly

  • 2023-04-27
    北京
  • 本文字数:2513 字

    阅读完需:约 8 分钟

如何了解云数据库的隐藏费用,计算真实成本

在云计算成为主流之前,计算数据库成本只需要使用一个简单的公式:软件成本+硬件成本=数据库成本。如果你使用的是开源产品,那么软件成本可能会有所降低。虽然云计算已经从根本上改变了使用和部署软件的方式,但很多人仍然在使用这种过时的计算方法来计算数据库成本。

 

事实上,在计算数据库的总体成本时,还有很多东西需要考虑。除了硬件和软件成本,你还需要考虑数据库的伸缩成本、与现有或未来系统集成的成本,以及计划中(或计划外)的停机时间成本。

 

在计算云数据库的成本时,需要事先考虑到这些问题。在The Cockroach Hour的一期 Webinar 中,我们给出了在计算数据库真实成本时需要考虑的问题。成本主要分为三类:硬成本、运维成本和软成本。

 

如果你想看完整的报告,可以看看这份50页的报告。该报告评估了七家不同的公司,其中的见解可以帮你降低成本,改进正常运行时间,并加快创新的步伐。

 

在本文中,我们将回顾 Webinar 中提到的各个成本项,并提供一个模板,你可以用它来计算自己的数据库成本。

 

数据库的硬成本

 

从表面上看,在云计算开始流行之前,等式的这一部分并没有太大变化。数据库的硬成本分为两类:软件许可和硬件。云计算的崛起为我们带来了一些关于硬件和软件成本的新问题。

 

云数据库软件成本

 

市场上有很多种软件许可,可以分为三类:

 

  • 传统企业:在云计算出现之前,这种模式在企业软件领域已经存在了 30 多年。你需要提前为企业软件许可支付一大笔费用(通常是数十万美元,再加上支持和维护费用)。购买之后,你还要为额外的功能和升级支付额外的费用。

  • 完全开源:完全免费的 Apache 许可。不过,与自由软件许可相关的成本并非不存在。你需要花钱维护它,支持它,降低它的风险。我们稍后会讨论这些成本。

  • 商业开源:这种模式大约是在 10 到 15 年前出现的,作为一种可行的解决方案,可以解决完全开源许可中存在的一些问题,比如补偿和支持方面的问题。

 

云数据库硬件成本

 

如今的硬件成本与 30 年前有所不同,但它们并没有消失,尽管你不再需要在机房里安装嗡嗡作响的巨型机器。不同的地方在于,你可能会与供应商协商价格,或利用规模来降低成本,但这些成本仍然存在。

 

你还需要管理和运维,所以运维成本不会凭空消失。你需要花时间在云供应商提供的管理接口上,并从运维的角度来理解它们,因此接口的易用性就变得非常重要。

 

数据库的运维成本

 

除了硬件和软件成本之外,还有日常运行数据库所产生的成本。根据你所选择的供应商(及其定价结构)的不同,这方面的成本变化很大,但都存在同一个问题:如果在未来需要执行 X 个任务该怎么办?

 

在使用数据库的过程中,你将不得不进行灾难恢复、水平伸缩以及将系统与其他工具集成,等等。我们可能会想“船到桥头自然直”,但在计算数据库的真实成本时,你需要考虑这些不可避免的情况,并在需要处理这些情况时将其纳入到成本计算当中。

 

灾难恢复:数据库故障成本

 

不管硬件之上有多少个抽象层,归根结底,我们都是在跟机械设备打交道,而机械设备总归会发生故障。在为你的应用程序部署数据库时,你还需要考虑临时或灾难性故障所带来的成本。虽然导致应用程序发生故障的原因有很多,但数据库是导致停机的主要原因:版本太旧、写入性能瓶颈、内存问题、事务被锁定、配置错误、硬件故障。你需要为这些不可避免的情况做好准备,因为它们总有一天会发生。

 

计划中和计划外的停机都可能带来巨大的成本,虽然这种成本可能不容易计算,但仍然需要将其作为数据库成本的一部分来考虑。业务不同,停机时间的影响也不相同,但在计算停机时间对业务的影响成本时,可以考虑以下几个方面:

 

  • 收入损失:错失进行在线交易或吸引潜在用户的机会;

  • 声誉影响:消费者可能会转而购买竞争对手的产品;

  • 客户满意度:由于看到了问题的发生而对你的产品或服务失去信任;

  • 监管成本:监管机构有时会因数据问题对组织处以罚款;

  • 法律责任:在极端情况下,可能会因与数据丢失相关的问题遭到诉讼。

 

有一些非常简单和直接的技术原因可以说明为什么数据丢失和停机可能会是一个问题。我们经常发现自己在处理较长时间的 RPO(恢复点目标)/RTO(恢复时间目标),并承受高昂的技术成本。

 

水平伸缩:分片的成本

 

大多数云数据库的伸缩是通过加大实例的大小来实现的,但这种方法会受到可用最大大小的限制。如果你想要更大的规模或者需要全球规模时该怎么办?

 

有些数据库,如 AWS Aurora,允许扩展到单个实例(RDS)以外,并支持多个实例。但这仅用于读取,并且限制了可处理的事务数量,因为没有扩展写节点的能力。因此,你仍然面临规模的限制。此外,这种单一的写节点配置限制了跨地理区域访问的可用性,因为总是存在写访问的物理延迟。

 

如果你选择对开源数据库(如 PostgreSQL 或 MySQL)进行伸缩,就需要对数据库进行分片。这种方法会带来巨大的成本。首先,你需要修改应用程序,这会带来风险。你还需要配置一个新的实例,并在某个时刻(通常是在半夜)将流量切换到这个新的实例上。这会带来与硬件相关的额外成本,以及它给团队带来的痛苦……这还是最好的情况,如果在这个过程中出了问题,就会导致计划外的停机。此外,分片数据库的管理成本随着每个新分片的增加而呈指数级增长。

 

集成成本

 

你的数据库并不是孤立存在的,它将被集成到 IT 平台的其他部分。你不会在 OLTP 数据库中运行 OLAP,数据仓库的出现是有原因的。因此,数据库与其他工具(如数据仓库)之间的集成就变得非常重要。根据数据库的不同,集成成本可能会很高。你需要使用 Kafka 或某种流式处理吗?你在使用数据湖吗?

 

在购买前评估数据库的隐性成本

 

除了运维成本之外,还有一些难以量化的问题,这些问题构成了云数据库的隐性成本,包括合规成本、竞争风险、供应商锁定的可能性以及吸引人才的能力。评估部署、管理和伸缩传统关系数据库隐性成本最好的方法是使用这个报告:

 

https://www.cockroachlabs.com/guides/do-more-with-less-with-distributed-sql/

 

原文链接:

https://www.cockroachlabs.com/blog/true-cost-cloud-database/


相关阅读:

在今年的数字生态大会上,云原生数据库前进了一大步

共促云原生数据库生态繁荣

国内首份《云数据库选型及满意度调查报告》出炉! | ITPUB 报告(一)

TDSQL云时代,我们需要怎样的数据库?

2023-04-27 11:082251

评论

发布
暂无评论
发现更多内容

MYSQL EXPLAIN 执行计划 | 京东物流技术团队

京东科技开发者

MySQL 数据库 EXPLAIN EXPLAIN执行计划

原来低代码开发部署起来这么简单

伤感汤姆布利柏

前端 低代码 低代码开发

服务器集群技术有哪几种类型

Geek_f19a80

服务器

2024深圳电子展,加快粤港澳电子信息发展,重点打造湾区经济

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题

【FAQ】运动健康服务端侧数据常见问题及解答

HMS Core

HMS Core

08 | 栈:如何实现浏览器的前进和后退功能

鲁米

【高效视频处理】体验火山引擎多媒体处理框架 BMF

Y-starrydreamer

BMF

如何通过追踪用户旅程,找到流失用户

Footprint Analytics

区块链游戏 Web 3.0

HarmonyOS振动效果开发指导

HarmonyOS开发者

HarmonyOS

给 Web 前端工程师看的用 Rust 开发 wasm 组件实战 | 京东云技术团队

京东科技开发者

rust 前端 webassembly 前端组件

07 | 链表(下):如何轻松写出正确的链表代码?

鲁米

Amazon CodeWhisperer 正式发布可免费供个人使用

亚马逊云科技 (Amazon Web Services)

人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

手把手带你离线部署Walrus,体验极简应用交付

SEAL安全

应用交付 应用交付平台 12 月 PK 榜 Walrus

重磅签约!美团携手用友推进数智化升级

用友BIP

企业数智化

Socket网络通信过程 与 IO多路复用原理。

百度搜索:蓝易云

云计算 Linux 运维 socket 云服务器

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

华为云开发者联盟

鸿蒙 操作系统 华为云 HarmonyOS 华为云开发者联盟

对标世界一流!用友已与74家中央企业达成集团级合作!

用友BIP

一次讲清楚京东科技百亿级用户画像平台的探索和实践 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 用户画像 用户画像平台

关于Nuxt.js 服务端组件的使用

秃头小帅oi

深度探索E3PO:360° 视频传输平台的前沿技术与应用

Y-starrydreamer

E3PO

紫龙游戏解锁Jira与Perforce的游戏开发行业实践

龙智—DevSecOps解决方案

紫龙游戏

iOS代码混淆工具

雪奈椰子

京东面试:说说Cookie、Session和Token的区别?

王磊

Java 面试

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨PaddlePaddle

人工智能 AIGC

优化开发者体验,推动API测试行业发展,SmartBear收购API设计和文档领域领导者Stoplight

龙智—DevSecOps解决方案

API

Wireshark中的ICMP协议包分析

小魏写代码

走进厦航,体验智能会计时代的业财融合

用友BIP

智能会计 业财融合

DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队

京东科技开发者

架构 DDD 软件设计 curd

Dapp燃烧铸币模式系统开发丨智能合约技术开发

l8l259l3365

如何实现高效代码审查,赋能大规模开发

龙智—DevSecOps解决方案

代码审查

如何了解云数据库的隐藏费用,计算真实成本_服务革新_InfoQ精选文章