• TiDB 6.0 新特性


    TiDB 6.0 新特性

    • Placement Rules in SQL
    • 小表缓存
    • 内存悲观锁
    • Top SQL
    • TiDB Enterprise Manager(TiEM)

    Placement Rules in SQL

    Placement Rules in SQL 之前:

    • 跨地域部署的集群,无法本地访问
    • 无法根据业务隔离资源,leader全在一个TiKV节点上
    • 难以按照业务登记配置资源和副本数

    无法精细摆放数据的位置。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J4cmAxUG-1669207651263)(https://gitee.com/wangqiuming0810/pic/raw/master/blog/202211231906651.png)]

    解决办法,Placement Rules in SQL:

    • 跨地域部署的集群,支持本地访问
    • 根据业务隔离资源
    • 按照业务登记配置资源和副本数

    使用Placement Rules in SQL:

    • 设计业务拓扑,为不同的TiKV实例设置标签

      server.labels: { zone: “BeiJing”, rack: “Rack-1”, host: “TiKV-1” }

    • 创建PLACREMENT POLICY

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r4ud41wp-1669207592296)(https://gitee.com/wangqiuming0810/pic/raw/master/blog/202211231910422.png)]

    • 设定数据对象的PLACEMENT POLICY

      CREATE TABLE T5 (id INT) PL ACEMENT POLICY=P1;
      支持schema、表和分区

    应用:

    • 精细化数据放置,控制本地访问与跨区域访问
    • 指定副本数,提高重要业务的可用性和数据可靠性
    • 将业务按照等级、资源需求或者数据生命周期进行隔离
    • 业务数据整合,降低运维成本与复杂度

    热点小表缓存

    • 表的数据不大
    • 只读表或者修改不频繁的表
    • 表的访问很频繁

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7GPwTpvj-1669207592297)(https://gitee.com/wangqiuming0810/pic/raw/master/blog/202211231918594.png)]

    这个表必须小于64MB以下,不太经常修改。

    tidb table cache lease = 5,在租约之内只能读不能写。租约到期,可以写直接写入TiKV,也可以读,读TiKV里的。会有一定的抖动。 数据更新完毕,租约继续开启。

    应用:

    • TiDB对于每张缓存表的大小限制为64 MB
    • 适用于查询频繁、数据量不大、极少修改的场景
    • 在租约(tidb_ table_ cache_ lease) 时间内,写操作会被阻塞
    • 当租约到期(tidb_ table_ cache_ lease)时,读性能会下降
    • 不支持对缓存表直接做DDL操作,需要先关闭
    • 对于表加载较慢或者极少修改的表,可以适当延长tidb_ table_ cache_ lease 保持读性能稳定

    悲观锁

    悲观锁:对数据的修改放到TiDB Server当中,对lock的修改一定存放到TiKV当中,别人才能感知到锁信息。在commit之前阻塞别人的写,读。在事务的执行的时候就能让别人感知的到。

    乐观锁:在commited的时候才提交锁信息

    将锁信息的写放入内存当中,取消了复制。

    锁丢失:TiKV节点宕机,锁信息会造成丢失,丢失会事务回滚,事务会失败。

    使用:

    • 在线开启内存悲观锁

      set config tikv pessimistic-txn.pipelined= =‘true’;
      set config tikv pessimistic-txn.in-memory= =‘true’;

    应用:

    • 减少事务的延时
    • 降低磁盘和网络带宽
    • 降低TiKV的CPU消耗
    • 锁丢失问题

    需要考虑是否符合你的业务,如果业务不能锁丢失,就不能用

    Top SQL

    • 指定TiDB及TiKV实例
    • 正在执行的SQL的语句
    • CPU开销最多的TOP5类SQL
    • 每秒请求数、平均延迟、执行计划等信息

    使用

    • 选择需要观察负载的具体TiDB Server或TiKV实例
    • 观察Top5类SQL
    • 查看某语句的执行情况: Call/sec (平均每秒请求数)、Scan Indexes/sec (平均每秒扫描索引数)等

    作用

    • 可视化地展示CPU开销最多的Top5类SQL语句
    • 支持指定TiDB Server及TiKV实例进行查询
    • 支持统计所有正在执行的SQL语句
    • 支持每秒请求数、平均延迟、查询计划等详细执行信息

    TiDB Enterprise Manager(TiEM)

    • 数量增长
      • 集群数量
      • 节点数量
      • 组件数量
      • 工具数量
    • 复杂度增长
      • 配置参数复杂度
      • 命令行复杂度
      • 管理接口复杂

    解放人工运维的成本。

    企业中TiDB集群管理的任务

    • 部署集群
    • 升级集群
    • 参数管理
    • 组件管理
    • 备份恢复与高可用管理
    • 集群监控与告警
    • 集群日志收集
    • 审计与安全

    TiDB Enterprise Manager (TiEM)功能:

    • 一键部署集群&多套集群-一站式管理
    • 集群原地升级
    • 参数管理
    • 克隆集群&主备集群切换
  • 相关阅读:
    仪表盘自定义标题和数值样式
    Protocol Buffers基本数据类型
    Folium笔记:HeatMap
    黑客(网络安全)技术自学30天
    【JavaScript高级进阶】初识类,函数进阶,如何改变this指向
    论文阅读笔记 | 三维目标检测——PointNet++
    从输入URL到页面展示发生了什么?
    LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent
    Android Studio 国内镜像代理设置(解释了设置之后项目还是下载镜像失败问题)
    mac使⽤nginx
  • 原文地址:https://blog.csdn.net/weixin_51009975/article/details/128007562