0
0
0
0
专栏/.../

花2小时成tidb专家--云上资源特别贵kv业务的节省

 tidb狂热爱好者  发表于  2024-08-04

怎么样用好tidb

啦啦啦tidb专家课堂开课啦。

在云上怎么样用好tidb。我们都知道云上的资源特别贵。

从前,当我们在上线一个系统的时候,第一件事就是 Capacity Planning,去评估一下我们大概需要多少台服务器,比如提前准备了 50 台,但是实际上线之后跑了一个月,发现 5 台机器就够了。这就导致了大量的资源浪费。如果整个系统能够在云上全自动弹性伸缩,就能避免这种资源浪费。

更重要的是,TiDB 的弹性伸缩,意味着你永远不需要按照业务的峰值配备系统资源。比如大家的业务会有早、晚两个明显的高峰,但实际上每个高峰持续时间通常只有 2 个小时左右,也就是说,为了这 4 个小时的高峰,而我们配置了 24 小时的最高资源配置,并为此付费,但非高峰时间的资源和成本完全是可以节省的,可能算下来,我们能够节省的成本大概在 70% 左右,甚至更高。

这就需要祭出我们dba的编程技能。

用一台ecs做管理机器。

把业务拆分成ap 和tp业务。

tp业务的最省钱设计

tp业务的能力如下设计

tp业务省钱法宝

要使tp省钱首先你得开启pkv

https://docs.pingcap.com/zh/tidb/stable/partitioned-raft-kv

使用场景

如果你的 TiKV 集群有以下特点,可以考虑使用该功能:

  • 需要在单个 TiKV 实例支持更多的数据。
  • 具有大量写入吞吐。
  • 需要频繁地扩缩容。
  • 负载有较为严重的读写放大。
  • TiKV 内存尚有富余

image.png

使用方法

要启用 Partitioned Raft KV,需要在创建集群时将配置项 storage.engine 设为 "partitioned-raft-kv"。同时,在使用 Partitioned Raft KV 特性时,可以通过配置项 rocksdb.write-buffer-flush-oldest-first 和 rocksdb.write-buffer-limit 来控制 RocksDB 的内存使用。

使用限制

由于该功能为实验特性,目前有以下限制:

  • 暂不支持基于 EBS 的快照备份
  • 暂不支持 Online Unsafe Recovery 和 Titan
  • 不支持 tikv-ctl 命令行管理工具中的以下子命令:
  • unsafe-recover
  • raw-scan
  • remove-fail-stores
  • recreate-region
  • reset-to-version
  • 暂不兼容 TiFlash
  • 初始化以后不支持开启或者关闭

为什么要这么做

s3的费用是几乎不要钱的 。

节点购买本地磁盘。也没有磁盘费用只有机器费用。和普通没有磁盘的机器几乎相等。

机器可以动态的扩容。扩容没有风险。

收缩机器的时候用代码收缩。一台台下线机器。也是没有风险的。

这些节点你可以购买spot机器,这种费用几乎相当于按量付费的10%。赢麻了,简直赢麻了 跟着蒋老师学tidb,走上人生巅峰。

你对公司好,公司就对你好

0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论