0x00 闲来无聊

闲来无聊干点啥,买了几个域名(如有雷同 纯属巧合),比如本站的 tidb.cc
TiDB-AirPlan 站名来自于某项运动的战术代号,Airplan(空中加油:先让一部分人先富起来,然后带动后面的人突围)

0x01 Who TiDB

在线体验 TiDB 请去 play.pingcap.com(使用 Chrome 浏览器效果最佳,基于 TiDB-Wasm 实现)

基石

0x02 同台竞技

TiDB 分布式场景下的一些自身特性与优化

0x03 运维

部署

监控

  • 围观站内文档 Monitoring ,提供部分参考意义

0x04 数据生态

数据怎么进来
数据怎么出去

数据导出

理论上支持 mysql-protocol 均可用于 TiDB ,以下是优化版 mydumper

  • 社区版:https://github.com/maxbube/mydumper

  • PingCAP 优化版:https://github.com/pingcap/mydumper

  • 修改版相比原版功能上 针对 TiDB 有部分优化

    • 支持单表多线程输出
    • 支持 TiDB savepoint 数据导出
    • 支持 TiDB 数据查询优先级( tidb_force_priority variable )
    • 移除 TiDB 外键检查
    • 以及部分针对 TiDB 适配性优化
  • PingCAP 版本下载信息如下:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    # Download the tool package.
    wget http://download.pingcap.org/tidb-enterprise-tools-latest-linux-amd64.tar.gz
    wget http://download.pingcap.org/tidb-enterprise-tools-latest-linux-amd64.sha256
    
    # Check the file integrity. If the result is OK, the file is correct.
    sha256sum -c tidb-enterprise-tools-latest-linux-amd64.sha256
    
    # Extract the package.
    tar -xzf tidb-enterprise-tools-latest-linux-amd64.tar.gz
    cd tidb-enterprise-tools-latest-linux-amd64
    

数据导入

TiDB 对事物大小有一些限制,如 单个事物最大 100MB、30w kv、单 KV 不大于 6MB ;这些限制导致需要严格控制事物提交,开源版的 myloader 与 mysql-load 工具不适配;官方开发了新工具 loader ,还支持断点续传和热点打散
TiDB 可承载的数据量庞大,loader 导入速度逐渐跟不上,又升级开发了 lighting 工具

  • Loader 工具可阅读官方文档
  • lighting 工具可阅读官方文档

数据同步

主要支持 MySQL、MariaDB 同步到 TiDB ,其他场景不支持
起初是 mydumper、loader、syncer 打包作为 mysql 同步到 TiDB 的三剑客,为提高工作效率和补充分库分表场景,升级开发 DM 工具,该工具将三剑客内置并增加 同步会话 管理功能

  • Syncer 数据同步软件,不支持分库分表场景,其他都挺好用
  • DM 支持分库分表,写完 taks.yml 之后可以做到一键 导出、导入、增量同步 到 TiDB;架构如下 ⬇️

Data Migration

  • Data Migration:https://github.com/pingcap/dm
  • 中文文档:https://github.com/pingcap/docs-cn/blob/master/tools/dm/overview.md
  • 特性

TiDB Binlog

与 mysql binlog 完全独立,从使用、运维、数据格式上完全不一样;

架构图

0x05 性能调整

分布式数据库架构庞大,横跨主机、网络、存储三大架构,需要一连串数据获取然后综合分析

性能分析工具

  • 火焰图

  • 场景疑问,case by case

  • POC & Benchmark

0x06 深入发展

TiDB 源码阅读

关注官方 Blog ,TiDB 源码解读

TiKV 源码阅读

关注官方 blog,TiKV 源码解析

Ecosystem 源码阅读

关注官方 Blog,DM 源码阅读

TiDB Binlog 源码

官方 Blog,TiDB-Binlog 源码解析

0x07 一键三连

点赞、转发、收藏
首推 TiDB B 站 TiDB Robot。会不定时更新 meetup、社区活动视频

网站 网址
微信公众号 pingcap2015
Product Weekly https://pingcap.com/weekly/
v2ex https://www.v2ex.com/member/PingCAP
Github https://github.com/pingcap/
TiKV https://github.com/tikv/
weibo https://www.weibo.com/pingcap
zhihu https://zhuanlan.zhihu.com/newsql
reddit https://www.reddit.com/r/TiDB/