TiDB学习8:TiDB6.0新特性

目录

1. Placement Rules in SQL

2. 热点小表缓存

3. 内存悲观锁

4. Top SQL 

5.TiDB Enterprise Manager(TiEM)

6. 小结


1. Placement Rules in SQL

 Placement Rules in SQL 之前

  • 跨地域部署的集群,无法本地访问
  • 无法根据业务隔离资源
  • 难以按照业务等级配置资源和副本数


Placement Rules in SQL 之后

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

Placement Rules in SQL 的使用 -步骤 1

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

Placement Rulesin SQL的使用-步骤 2

  • 创建 PLACEMENT POLICY

Placement Rules in SQL的使用-步骤 3

  • 设定数据对象的 PLACEMENT POLICY

Placement Rules in SQL 的应用

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

2. 热点小表缓存

  • 只读表或者修改不频繁的表
  • 表的访问很频繁
  • 表大小64M以下

热点小表缓存-原理

  • 命令:ALTER TABLE table_name CACHE;开启表缓存
  • tidb_table_cache_lease用于设置缓存租约,默认为5s,租约内只能读不能写。租约到期,内存中的版本过期,此时可以在TiKV中直接写,读性能会下降。
  • 不管租约内还是租约外,都不会阻塞读
  • 缓存表不支持DDL,需要先关闭缓存表。

3. 内存悲观锁

乐观锁:在commit的时候,才做prewrite,加锁,在此之前其他事务不知道这个数据上有锁

悲观锁:在内存中修改数据的同时,把锁写入lock列簇中,让其他事务能看到锁信息,网络和磁盘IO都有负载

内存悲观锁:在内存中修改数据的同时,只把锁信息写到Leader节点的TiKV缓存中,不写到磁盘中,并且不复制给其他节点,此时Leader节点宕机会造成锁丢失,事务回滚

内存悲观锁-使用

  • 在线开启内存悲观锁

        >set config tikv pessimistic-txn.pipelined='true',

        >set config tikv pessimistic-txn.in-memory='true';

内存悲观锁-应用

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

4. Top SQL 

TiDB Dashboard集成了Top SQL

根据CPU负载排序

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

Top SQL的使用

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

Top SQL的作用

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

5.TiDB Enterprise Manager(TiEM)

企业中 TiDB 集群管理的问题

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

企业中 TiDB 集群管理的任务

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

TiDB Enterprise Manager(TiEM)功能

  • 一键部署集群 &多套集群一站式管理
  • 集群原地升级
  • 参数管理
  • 克隆集群 &主备集群切换

TiEM简化、流程化集群管理中的任务,降低出错的几率 

6. 小结

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

来自TiDB官方资料 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/685686.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

联合(union)和枚举(enum)学习(c语言)

前言 Hello,亲爱的小伙伴们,好久不见,今天我们继续来学习新的内容-----联合和枚举 如果喜欢作者菌的文章的话,就不要吝啬手中的三连呀,万分感谢!! 联合(共用体)(union&…

【荒原之梦考研数学】感谢 CSDN 的小伙伴们

自 2016 年在 CSDN 上开设账号至今,荒原之梦网获得了很多同学们的支持和肯定,以及意见或建议,荒原之梦网一路走来,是大家给予了我们不断前进的动力。 当前这个 CSDN 账号,是荒原之梦考研数学网目前在 CSDN 的第一个也…

哪些机构签发代码签名证书?

在数字化快速发展的今天,软件安全已成为全球关注的焦点。代码签名证书,作为一种数字证书,不仅保障了软件在传输过程中的安全性和可靠性,还为用户提供了信任的基石。本文将深入探讨代码签名证书颁发机构(CA)…

神经网络 torch.nn---Linear Layers(nn.Linear)

torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) torch.nn — PyTorch 2.3 documentation nn.Linear torch.nn.Linear(in_features, out_features, biasTrue, deviceNone, dtypeNone) 参数: in_features - 每个输入样本的大小out_features - 每个输出…

HarmonyOS(32) @Link标签使用指南

Link 前言Link简介State和Link的同步场景使用示例参考资料 前言 之前写过Link的使用,最新的API有点变化,在此做个记录。 Link简介 子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。。子组件变量发生变化,父组件也会随…

【干货】视频文件抽帧(opencv和ffmpeg方式对比)

1 废话不多说,直接上代码 opencv方式 import time import subprocess import cv2, os from math import ceildef extract_frames_opencv(video_path, output_folder, frame_rate1):"""使用 OpenCV 从视频中抽取每秒指定帧数的帧,并保存到指定文件夹…

开机弹窗找不到opencl.dll怎么办,教你几种有效的修复方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到opencl.dll文件”。这个问题可能会影响到我们的正常使用,因此了解其原因和解决方法是非常必要的。本文将从多个方面对“找不到opencl.dll文件”这一问题进行详细分析和解…

socket网络编程——多进程、多线程处理并发

如下图所示, 当一个客户端与服务器建立连接以后,服务器端 accept()返回,进而准备循环接收客户端发过来的数据。 如果客户端暂时没发数据,服务端会在 recv()阻塞。此时,其他客户端向服务器发起连接后,由于服务器阻塞了,无法执行 accept()接受连接,也就是其他客户端发送…

关于main函数参数列表的那些事

写在最前面: 本篇博客所写代码,全部都依赖于Linux环境。 在开始之前,我们先问自己几个问题: main函数可以传参吗?如果main函数可以传参,最多可以传几个参数。main函数传递的参数具体作用是什么? 一.是否…

25-unittest执行顺序

在使用unittest框架时,各个测试方法的执行顺序是怎样的,本篇通过简单案例讲解unittest执行顺序。 一、定义测试类 import unittestclass Demo(unittest.TestCase):def setUp(self):print("start!")def tearDown(self):print("end!"…

大模型的跃进众生相

最近一段时间,在互联网科技圈,掀起了一阵大模型发布潮,许多大企业加码其中,甚至不少互联网大佬级人物也在其中全情投入,开启了人工智能创业浪潮。那么在这阵阵浪潮中,我们可以观察到什么样的“众生相”&…

unity中animation和animator在使用上的区别

Animation(动画),可直接存储在物体上的animation组件中 Animation 组件用于在对象上直接存储和播放动画数据。这些数据通常是通过关键帧动画(keyframe animation)制作的,其中包含了对象在不同时间点的变换…

IO进程线程(九)线程的同步 进程间通信

文章目录 一、 线程的同步(一)无名信号量sem1. 定义和初始化2.获取信号量3.释放信号量4. 销毁5. 使用示例 (二)条件变量1. 定义和初始化2. 获取条件变量3. 释放条件变量4. 销毁条件变量 二、进程间通信(一)…

二叉搜索树(BST,Binary Search Tree)

目录 前言 一、二叉搜索树概念 二、二叉搜索树的实现与操作 1.查找 2.插入 3.删除 4.中序遍历 5.完整代码 三、二叉搜索树的应用(K模型、KV模型) 1.K模型 2.KV模型 3.完整代码 四、二叉搜索树的性能分析 前言 为何学? 1.二叉…

OceanBase 内存研究(OceanBase 3.2.4.5)

内存结构 从官网的结构图可以看出,一台observer可使用的总内存(memory_limit)包括 系统内存(system_memory) 和 租户内存(sys租户与普通租户) 系统内存 系统内存system_memory 属于 observer 的内部内存,允许其它租户共享使用该内存资源 (root10.0.0.…

vue2转vue3初步下载pnpm遇到的问题 pnpm : 无法加载文件 D:\nodejs\pnpm.ps1

安装pnpm npm install -g pnpm pnpm -v 提示: 解决:nvm install 18.18.0 下载最稳定版本的nodejs nvm use 18.18.0 然后注意重新下载删除pnpm npm uninstall -g pnpm npm install -g pnpmlatest 在vscode使用pnpm报错 解决:管理员运行Windo…

爬虫(没)入门:用 node-crawler 爬取 blog

起因 前几天想给一个项目加 eslint,记得自己曾经在博客里写过相关内容,所以来搜索。但是发现 csdn 的只能按标题,没办法搜正文,所以我没搜到自己想要的内容。 没办法只能自己又重新折腾了一通 eslint,很烦躁。迁怒于…

tomcat配置请求的最大参数个数和请求数据大小

maxParameterCount"10000" maxPostSize"10485760" maxParameterCount:单个请求最大请求参数个数; maxPostSize:单个请求最大数据大小,1048576010M;

flutter3-os:基于flutter3.x+dart3+getx手机版os管理系统

flutter3-os-admin跨平台手机后台OS系统。 原创Flutter3.22Dart3.4Getxfl_chart等技术开发仿ios手机桌面OA管理系统。自研栅格化布局引擎、自定义桌面壁纸、小部件、底部Dock菜单、可拖拽悬浮球等功能。 全新自研栅格化OS菜单布局引擎。 使用技术 编辑器:VScode技术…

【架构模型】

一、客户端/服务端模式 二、单击应用模式 单机应用系统是最简单的软件结构,是指运行在一台物理机器上的独立应用程序。