【TiDB 4.0 PCTA学习笔记】 2.5.2~2.5.4@3班 郭升@神州数码

课程名称:【TiDB 4.0 PCTA学习笔记】 2.5.2~2.5.4

学习时长:100min

课程收获:

  • 了解TiDB中的系统表
  • 了解PD Control的使用
  • 了解Dashboard的使用,热力图的查看

2.5.2 TiDB中的系统表

Default Schemas

  • 和MySQL5.7的区别
    image

mysql System Schema

  • 定义:mysql schema是一个system schema。
  • 包含权限信息
    • user。用户的account信息、全局权限等
    • db。数据库层面的权限信息。
    • tables_priv。表级别的权限。
    • columns_priv。列级权限。
  • 包含统计信息(CBO是用这些统计信息吗?)
    • stats_buckets.
    • stats_histograms.
    • stats_meta.
  • GC相关的表。
    • gc_delete_range
  • 其他的一些表
    • GLOBAL_VARIABLES。全局变量相关的表。
    • tidb。记录版本信息、生命周期等参数。

INFORMATION_SCHEMA

提供了一种查看系统元数据的标准方法。

  • SESSION_VARIABLES。记录session相关的数据。例如:
    image
  • TiDB_INDEXES。提供了数据库中所有表的索引信息。例如:
    image
  • TIDB_HOT_REGIONS。PD所统计的热点region信息。(也可以使用Dashboard来看热点问题)例如:
    image
  • TIKV_REGION_PEERS。记录了每个region的信息。例如:
    image
  • TIKV_REGION_STATUS。记录了每个region的信息。例如:
    image
  • TIKV_STORE_STATUS。记录每个TIKV的节点信息。
    image
  • CLUSTER_PROCESSLIST。记录了所有节点的PROCESSLIST信息。
  • SLOW_QUERY。一个外部表,基于日志。记录TiDB中的慢查询。
  • CLUSTER_SLOW_QUERY。基于日志。记录集群中的慢查询。

SQL的诊断

主要是三部分:集群信息表、集群监控表、自动诊断。

  • 集群信息表
    image
  • 集群监控表(v4.0后)
    image
  • SQL 诊断表(可以使用Dashboard中可视化查看)
    • inspection_result
    • inspection_summary

2.5.3 PD Control的使用

PD的概念简单回顾

PD全称:Placement Driver

PD Control 概览

  • 启动方式,两种启动方式:
    • 推荐: tiup ctl pd -u http://<pd_ip>:<pd_port>[-i]
    • tidb-ansible/resources/bin/pd-ctl -u http://<pd_ip>:<pd_port> [-i]

获取PD中的信息

  • Cluster Info :获取集群信息
  • Memeber Info:集群中member中的信息
  • Member leader Info:看那个member是leader
  • Member health Info:看member是否健康
  • Query TSO Info:查看具体的时间戳

Modify PD Member

  • member leader resign:重新发起选举
  • member leader transfer <pd_name>:将leader传递到一个指定的pd
  • member leader_priority <pd_name> :设置pd在leader选举中优先级。可以把本地的pd优先级调高、远端的pd优先级调低,减少选举的资源消耗。
  • member delete name <pd_name>:从pd集群中,删除指定的pd,通过pd name删除。一般缩容的时候用。 * member delete id <pd_id>:从pd集群中,删除指定的pd,通过pd id删除。一般缩容的时候用。

KV Cluster Info

  • store :获取kv集群的信息
  • region:获取当前集群中所有region的信息。一般数据量较大,可以指定存入一个文件中。
  • region <region_id>:通过id指定看某个region的信息。
  • region store <store_id>:查看某个store中所有region的信息。
  • label:查看当前TiKV的label信息。
  • label store dc <dc_name>:看某个label下面有哪些TiKV。

Modify KV Memeber

  • store weight <store_id> <leader_weight> <region_weight>:查看TiKV所占权重。调整TiKV的权重。权重越小,分配到的region数量就越小。
  • store label 1 :修改 store label。
  • store delete <store_id>:删除store。这个store上的region会迁移到其他的store中。

PD的调度

主要任务

  • region leader的平衡
  • region的数量平衡
  • region热点的平衡
  • 升级时,限制新leader的产生

配置Schedule

修改Schedule

image

策略的手动设置

Scheduling Operation

image

TiDB Dashboard高级功能

  • TiDB 4.0 引入
  • 内部自带,不同额外安装。
  • 数据一部分在普罗米修斯中,一部分在TiDB的表中。

特性

  • 流量可视化。这个很有特点,多看看。
1 个赞