漫谈TiDB收费与成本

漫谈TiDB收费与成本

–2020-11-07 刘春雷

1、前言

可能很多小伙伴都在思考一个问题,自运维TiDB到底是 赔钱 还是 省钱 呢?今天就这个问题,咱们大致算算账~

透露个秘密:参考PolarDB收费,58TiDB数据库是盈利很多的~

此篇文章也是为了大家更好的估算使用TiDB的成本、收益情况~,只是粗略计算,请较真的朋友忽略~

2、找个参照

公有云的分布式数据库,咱就姑且用阿里的 PolarDB 参考吧~(此处只是找个参照,请较真的朋友忽略~)

2.1、PolarDB计算节点

PolarDB的计算节点的费用如下,粗略的按照月花费计算,打折等情况先忽略~

polardb%E8%AE%A1%E7%AE%97

2.2、PolarDB存储空间

PolarDB :中国内地地域:0.00486元/GB/小时。即 3.49920 元/G/月

3、我们情况

目前我们的TiDB数据库服务器选型为:虚拟机+物理机部署。TiDB与PD均 独立部署,TiKV混合部署,默认单机2节点。

使用虚拟机的考量:

  • 扩缩容方便
  • 资源隔离
  • 宕机影响范围小
  • 有很好的虚拟化团队支持
  • TiDB的TiDB Server与PD Server使用虚拟机对性能影响不大

3.1、服务器情况

节点 机器 规格 部署方式 默认节点数 价格 备注
TiDB 虚拟机 8核32G 独立部署 3 2000/月 prometheus 与 Grafana节点与TiDB节点混合部署
PD 虚拟机 8核16G 独立部署 3 1500/月 参考PolarDB的价格粗略估算
TiKV 物理机 40核

128G

SSD 6*800G RAID5后大约3.5T

闪存卡 单盘3.6T|混合部署

默认单机2个节点|3|物理机价格:4w

使用时间:48个月

机架费用:600/月

平均每月价格: 1433.3 元/月

默认单套集群可支撑最大存储: 10.8T|粗略估算|

3.2、TiDB收费价格举例

集群:1套普通TiDB集群

tidb:虚拟机 x 3(8核32G)

PD: 虚拟机 x 3(8核16G)

存储: 1T 使用费用为:

单月费用=20003+15003+1000* 3.49920= 13999.2元

存储: 10T 使用费用为:

单月费用=20003+15003+10000* 3.49920= 45492元

3.3、TiDB成本举例

集群:1套普通的TiDB集群:

  • TiDB 虚拟机 x 3
  • PD 虚拟机 x 3
  • 存储: 0-10.8T
  • TiKV机器:物理机x3

月总成本: 14800元

成本:

节点 机器 数量 成本 备注
TiDB 虚拟机 3 6000 成本跟收费一样价格
PD 虚拟机 3 4500 成本跟收费一样价格
TiKV 物理机 3 4300 成本为物理机的价格/48个月+600机架费
汇总 14800元/月

4、对比

对比使用PolarDB与TiDB的收费及TiDB的成本如下,此处认为TiDB集群的初始化3个TiDB Server与 PolarDB的默认的一个主节点和一个只读节点,可支撑相同业务情况。

集群:1套

TiDB:

  • TiDB 虚拟机 x 3 8核32G即收费 2000x3=6000/月
  • PD 虚拟机 x 3 8核16G即收费 1500x3=4500/月
  • 共计:10500元/月

PolarDB:

  • 1个标准版PolarDB集群中默认包含一个主节点和一个只读节点,8核32G即收费 2000x2= 4000元/月

存储:

  • 变化

图1:TiDB与PolarDB收费及差异对比图

图2:TiDB与PolarDB收费、成本、收益对比图

结论:

  • 存储为0G时,即初始使用分布式集群时,PolarDB收费比较低,TiDB收费高
  • 随着存储量升高,TiDB与PolarDB收费差异越来越小
  • 当集群存储达到 1229G 时,TiDB收费与成本几乎相等,随着存储升高,开始产生受益
  • 随着存储量升高,TiDB收费增加,成本增加缓慢,收益增加明显,单机群200TiKV节点可以受益:223w
  • 如果存储相同,为扩容QPS支持情况,2种数据库花费 相同
    • TiDB:只扩容TiDB即可
    • PolarDB:只扩容技算节点即可
  • 自运维TiDB:需要考虑人员成本,以58举例:运维集群50套+,TiDB+PD+TiKV节点数量总共370+,存储150T左右,需要人力:社招1人+ 校招1人
  • 使用PolarDB无需开发、运维成本,直接使用即可。
  • 使用PolarDB会有打折情况,请酌情参考

综上: 只是粗略对比了自运维TiDB与使用PolarDB的收费及成本情况,大家各自参考情况使用即可~