PingCAP Training & Certification 策划: TiDB 开发者工具箱 aka. TiDB Ninja Kits.
Ninja Kits 之 TiDB Quick Demo 系列:
001 - Zero Down-time under AZ Failure
005 - Seamless Online Upgrade with TiProxy
从 TiDB Course 201 Lab 目录下载 PDF
这是一个 PingCAP Training & Certification 团队的尝试,其实是一系列从开发者课程里提取的 小 Demo 的集合,包括: 最佳实践、知识点、或某个功能。每个小 demo 用 2 到 3 页说明,背靠 201 课程的 repo,风格为一次一件事,利用最小的代价简洁直观地说明关键点,方便学习者以及 TiDB 社区 Speaker 再利用,传播 TiDB 和 TiDB Cloud 知识。
采用的基础设施为 TiDB Cloud Serverless Tier 或 TiDB Playground Cluster。
不停更新、改进中,欢迎所有人参与。话不多,看附件就行了。
Ninja Kits:
B1: JDBC Batch Insert
B2: Python Batch Insert
K1: Maximum Length for Common Data Types
K2: Character Set (UTF8MB4 and GBK)
K3: AUTO_INCREMENT [Playground 沙箱]
K4: AUTO_RANDOM
K5: Java Client TLS Connection
K6: Clustered and Non-Clustered PK
K7: Optimistic TX Lock
K8: Pessimistic TX Lock
K9: Feeds Database Changes to Kafka [Playground 沙箱]
K10: RawKV Python Experimental (beta) [Playground 沙箱]
K11: Online Schema Change
2023.05.25: 添加两个 TiDB Quick Demo。
2022.12.1: 1)小 demo 连接方式兼容 TiDB Cloud Serverless Tier 的 TLS Verify Identity 形式,当然原来的TiUP Playground 明文形式也是继续支持的。2)添加了日语版本。
2022.9.15: 1)添加了 demo K11,这是一个 DML 与 Online DDL 如何协同的小演示,用来佐证 TiDB 上也能和 NoSQL 一样支持在线添加属性/字段的场景。 2)Ninja Kits 添加了 中文版,目前支持中文和英文两种语言。
2022.8.14: 修复了两处 demo 程序连接 TiDB Cloud 的 bug;除了只为 Playground 设计的 demo,其他 demo bash script 的第一个参数均为 target 参数,接受 cloud 或 local,旨在表示是连接 TiDB Cloud 还是 local playground。
2022.8.13: 1) 庆祝 PingCAP 作为唯一的基础软件商入选福布斯 2022 中国创新力企业50强,把 TiDB Cloud Kickstart Workshop 的英/中/日 三语的动手训练营添加到第三页选择道场中,也方便了社区中的各位 speaker 为国内外同好更好地介绍 TiDB Cloud;2) 注意到有不少同学即使用 TiDB Cloud 也使用 Playground Sandbox 玩耍 Ninja Kits,我开始对脚本进行添加测试目标的改造,可用 cloud 或 local 参数指定想把 demo 针对你的 TiDB Cloud 运行还是 Local Playground 运行。目前仅在 B1 上实现了,在后续更新里逐渐推广到其它 mini demo。
2022.7.14: 添加了 K10,一个极简的证明 TiKV 是个 KV NoSQL store 的小演示。
2022.7.12: Ninja Kits 里的 mini demo 可以使用 TiDB Cloud 或 TiUP Playground 。只对 TiDB Cloud 感兴趣的朋友们需要注意的针对 TiDB Cloud 我移除了一些知识点演示,这并不代表 TiDB Cloud 不具备相应的功能,正好相反,是因为相比自管的 TiDB,云中托管的 TiDB Cloud 进一步简化了数据库管理类工作,面向开发友好式地封装了一些运维操作和功能。比如,对于 K3,在 TiDB Cloud 里 TiDB server instance 天生就在 LB 后端,充分发挥其 stateless 的特点,所以我无法显性控制客户端到底连接哪个 TiDB server instance,所以达不到原本立竿见影的 AUTO_INCREMENT 错位递增的演示设计效果,这正是 TiDB Cloud 的意义所在,设计考虑更全面,体感更简化!Cloud Native 地实际使用我会选 TiDB Cloud,让我可以更关注业务 。
2022.7.7: 添加了几个例子。 K9, 一个最简易的 TiCDC to Kafka 的例子;K7、K8 简洁比较乐观和悲观锁的行为;K1 丰富了 JSON 类型的最长 size 说明,对其它类型也采用了更准确的描述。
2022.7.6: 在 K1 Maximum Length for Common Data Types 里添加了 MEDIUMTEXT, LONGTEXT, MEDIUMBLOB, LONGBLOB 数据类型,它们的实际长度受到 txn-entry-size-limit 和 raft-entry-max-size 设置的限制。Run and see…
2022.7.4: 在 Mini demo K1 Maximum Length for Common Data Types 里除了字符串类型,加入了YEAR、TIME、DATE、DATETIME、TIMESTAMP 类型 ,这种问题最好别背,让数据库自己表达。