写点什么

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

  • 2024-08-09
    北京
  • 本文字数:1021 字

    阅读完需:约 3 分钟

作者: tidb 狂热爱好者原文来源:https://tidb.net/blog/b48d56ce


怎么样用好 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 内存尚有富余


使用方法

要启用 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,走上人生巅峰。


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


发布于: 刚刚阅读数: 1
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
花2小时成tidb专家--云上资源特别贵kv业务的节省_8.x 实践_TiDB 社区干货传送门_InfoQ写作社区