TiDB Ninja Kits

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: TiDB Ninja Kits

| username: 包老师呀

PingCAP Training & Certification Planning: TiDB Developer Toolbox aka. TiDB Ninja Kits.

Ninja Kits TiDB Quick Demo Series:
001 - Zero Down-time under AZ Failure
005 - Seamless Online Upgrade with TiProxy

Download PDF from TiDB Course 201 Lab Directory

This is an attempt by the PingCAP Training & Certification team, essentially a collection of small demos extracted from developer courses, including: best practices, knowledge points, or specific features. Each small demo is explained in 2 to 3 pages, backed by the 201 course repo, with a style of focusing on one thing at a time, explaining key points concisely and intuitively with minimal cost, making it convenient for learners and TiDB community speakers to reuse and spread knowledge about TiDB and TiDB Cloud.

The infrastructure used is TiDB Cloud Serverless Tier or TiDB Playground Cluster.

Continuously updating and improving, everyone is welcome to participate. No more words, just check the attachments.

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 Sandbox]
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 Sandbox]
K10: RawKV Python Experimental (beta) [Playground Sandbox]
K11: Online Schema Change

2023.05.25: Added two TiDB Quick Demos.

2022.12.1: 1) The small demo connection method is compatible with the TLS Verify Identity form of TiDB Cloud Serverless Tier, and of course, the original TiUP Playground plaintext form is also supported. 2) Added Japanese version.

2022.9.15: 1) Added demo K11, a small demonstration of how DML and Online DDL collaborate, to prove that TiDB can also support scenarios of online attribute/field addition like NoSQL. 2) Ninja Kits added a Chinese version, currently supporting both Chinese and English languages.

2022.8.14: Fixed two bugs in the demo program connecting to TiDB Cloud; except for demos designed only for Playground, the first parameter of other demo bash scripts is the target parameter, accepting cloud or local, indicating whether to connect to TiDB Cloud or local playground.

2022.8.13: 1) To celebrate PingCAP being the only basic software vendor selected in Forbes 2022 China’s 50 Most Innovative Companies, the English/Chinese/Japanese hands-on training camps of the TiDB Cloud Kickstart Workshop were added to the third-page dojo selection, making it easier for community speakers to better introduce TiDB Cloud to peers at home and abroad; 2) Noticed that many students use Playground Sandbox to play with Ninja Kits even when using TiDB Cloud, I started to modify the scripts to add test targets, which can be specified with cloud or local parameters to run the demo on your TiDB Cloud or Local Playground. Currently only implemented in B1, gradually promoting to other mini demos in subsequent updates.

2022.7.14: Added K10, a minimal demonstration proving that TiKV is a KV NoSQL store.

2022.7.12: Mini demos in Ninja Kits can use TiDB Cloud or TiUP Playground. For those only interested in TiDB Cloud, note that I removed some knowledge point demonstrations for TiDB Cloud, which does not mean that TiDB Cloud lacks the corresponding functions. On the contrary, compared to self-managed TiDB, the cloud-hosted TiDB Cloud further simplifies database management tasks, encapsulating some operational functions in a developer-friendly manner. For example, for K3, in TiDB Cloud, the TiDB server instance is inherently behind the LB, fully leveraging its stateless characteristics, so I cannot explicitly control which TiDB server instance the client connects to, thus failing to achieve the original immediate effect of the AUTO_INCREMENT staggered increment demonstration design. This is precisely the significance of TiDB Cloud, with more comprehensive design considerations and simplified user experience! For actual Cloud Native use, I would choose TiDB Cloud, allowing me to focus more on business :blush:.

2022.7.7: Added several examples. K9, a minimal example of TiCDC to Kafka; K7, K8 concise comparison of optimistic and pessimistic locks; K1 enriched the maximum size description of JSON type and adopted more accurate descriptions for other types.

2022.7.6: Added MEDIUMTEXT, LONGTEXT, MEDIUMBLOB, LONGBLOB data types in K1 Maximum Length for Common Data Types, their actual length is limited by txn-entry-size-limit and raft-entry-max-size settings. Run and see…

2022.7.4: Added YEAR, TIME, DATE, DATETIME, TIMESTAMP types in Mini demo K1 Maximum Length for Common Data Types, such issues are best not memorized, let the database express itself.

| username: Billmay表妹 | Original post link

Give a thumbs up to Teacher Bao.

| username: xfworld | Original post link

Second floor, just watching.

| username: ShawnYan | Original post link

Second +1. Watching.

| username: tidb狂热爱好者 | Original post link

This is a PDF, concise and powerful.

| username: Icemap | Original post link

Second floor +2. Watching

| username: 半瓶醋仙 | Original post link

There are ninja stars in the ninja’s bag, wow. I got hit and swollen by a ninja star.

| username: tidb狂热爱好者 | Original post link

Second floor, watching.

| username: ealam_小羽 | Original post link

Mark

| username: tidb狂热爱好者 | Original post link

This exercise deepened my understanding.

| username: ngaut | Original post link

Cool

| username: TiDBer_wTKU9jv6 | Original post link

:+1::+1:

| username: tidb狂热爱好者 | Original post link

Second floor, watching.

| username: 半瓶醋仙 | Original post link

Just taking a look.

| username: tidb狂热爱好者 | Original post link

Power station, very good post.