TiDB 6.x基础

1.数据库架构

1.1TiKV

  • 数据持久化 rocksdb
  • 强一致 副本高可用 raft协议
  • MVCC 快照读
  • 分布式事务
  • Coprocessor

1.2 TiDB-server

  • 处理客户端连接
  • 解析与编译sql
  • 关系型数据与kv转化
  • 执行sql语句
  • 执行online ddl
  • 垃圾回收- GC
  • 热点小表缓存v6.0

1.3 PD

  • TiKV元数据存储
  • 分配全局ID、事务ID和TSO
  • 收集集群信息进行调度
  • 提供TiDB Dashboard 服务

1.4 TiFlash

  • 异步复制
  • 列存提高分析效率
  • 一致性
  • OLAP&OLTP 业务隔离
  • 智能选择

2.TiDB Server架构

2.1整体介绍

在这里插入图片描述

  • parse 语法分析 词法分析
  • compile 解析编译 AST->验证->逻辑优化->物理优化->执行计划

转化为kv table_id_PK:value
在这里插入图片描述

2.2 executor distsql transaction KV读写模块

在这里插入图片描述

executor按照执行计划执行sql 包括点查询(走kv模块)和复杂查询 复杂查询经过distsql模块(只对单表操作)后和tikv client(向tikv发送请求)交互
进行事务操作 先向pd请求TSO 再和KV模块交互

2.3 online ddl模块

在这里插入图片描述
start job接受到ddl job后 每个tidbserver会将其放到tikv的job queue中 同一时刻 只有一个tidbserver成为owner 可以执行job 执行完后 会将其放在历史队列中
schema load负载载入需要的表信息数据 缓存在tidb中

2.4 GC机制

默认lifetime 10min

2.5 TiDB server 缓存

缓存组成:

  • sql结果(多表join、大事务)
  • 线程缓存
  • 元数据、统计信息
    缓存管理:
  • tidb _mem_quota_query
  • oom-action

2.6 热点小表缓存

  • 表的数据量不大 64M以下
  • 只读表或很少修改的表
  • 表的访问很频繁
    在这里插入图片描述
    alter table tablename cache;

tidb_table_cache_lease
租约时间内 只读 无法写入
在这里插入图片描述

  • 租约到期 数据过期

  • 写操作不再阻塞

  • 读写直接到tikv上进行 读性能相对下降

  • 数据更新完毕 租约继续
    -不支持对缓存表做ddl

HTAP场景特点:

  • 支持高并发
  • 同时支持oltp olap
  • 一致性

MPP架构:

  • 中间结果保存在内存中
  • 不支持非等值join
  • 作用于tiflash
  • 可以对聚合 join操作加速

与事务相关的模块:kv和transaction
非聚簇表 定义主键 不使用主键作为rowid

3.tikv

3.1tikv持久化

在这里插入图片描述
列簇 cf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值