TiDB 全面梳理的知识点

TiDB

TiDb内核实现原理

TiDB cluster

  • TikV

    • 最小分片Region

    • 通过Raft协议处理数据副本(副本Region)的写入RocksDB

    • 拖个Tikv存在于TiKV Map 中

  • RocksDB

    • 执行磁盘写入(写入Tikv)
  • TiFlash

  • 通过KA API 查询TikV

PD cluster(Placement Driver)

TSO/Data location

SQL layer Cluster

  • DistSQL

通过TSO,TIDB cluster调用PD 定位数据

核心组件

TiDB cluster

TikV server

PD cluster

TiFlash

实时数据解决方案

弹性Real Time Htap

  • 行与列的混合模式

特性

闪回表

  • FlashBack Table

  • 在垃圾回收生命周期窗口之内还原被丢弃的表和数据

全局临时表

  • 仅在当前事务中全局可见

缓存表

  • 提升查询性能的有效手段

  • 缓存表是将表的内容完全缓存到TiDB server内存里

  • 读取很频繁

  • 缓存控制:Alter table table_name CACHE | NOCACHE

分区表

  • Range 分区剪裁

  • Hash 用于大规模写入的情况下将数据打散,平均分配到各个分区

DML不会阻塞其他回话DDL

不支持外键,但支持外键语法

Placement Policy

  • 跨地域数据库Region放置规则

    • 用户可以将表指定部署至不同的地域,主机

    • 支持应用跨地域部署

    • 保证本地的数据副本可用于本地的Stale read读取

  • 创建.toml文件,为TikV server打标签

stale read

  • 函数TIDB_BOUNDED_STALENESS:在时间范围内尽可能的读取最新数据

AUTO_INCREMENT

  • 用于自动填充默认字段值属性(主键ID)

    • 处于性能考虑,AUTO_INCREMENT编号会以批量的形式分配给每个TIiDB server实例

    • 缓存大小通过AUT_ID_CACHE表选项控制

    • Last_INSERT_ID()可以获得上次插入操作时使用的值

AUTO_RANDOM

  • 用于自动随机填充默认列值,解决热点问题

    • 仅支持BIGINT数据类型

    • 它是一个基于分片的随机生成器

    • LAST_INSERT_ID():与AUTO_INCREMENT的情况类似,它检索上次插入操作所使用的值

_tidb_rowid

  • 隐式字段

    • 使用SHARD_ROW_ID_BITS,设置隐式字段_tidb_rowid

具备TiDB社区commiter

部署

playground 快速搭建TiDB集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值