How I Found a Go Issue on ARM that Crashed the Database Server

A distributed database like TiDB is a very complex project. Its performance depends on multiple factors. And I will share a peculiar Go bug that caused TiDB to crash on ARM.

Speeding up a SaaS Platform by 5x in a Day without Changing the Code

In this article, we compare the performance of TiDB and MySQL on one of the most popular low-code SaaS platforms, Corteza CRM. We also demonstrate how TiDB leverages its HTAP capabilities to the SaaS platform without any code changes and speeds up development of new applications.

Achieving Better Price to Performance for a Distributed Database – Tau T2A or AWS Graviton2

As Google Cloud announced their first Arm64 CPU, Tau T2A, for scale-out, cloud-native workloads, we conducted a quick benchmarking test to see the price-performance ratio when running TiDB on Google ARM 64 and AWS Arm 64.

Improve Performance and Data Availability with Elastic Block Store

In this blog, we will explain that with careful selection of Elastic Block Store (EBS) types and clever optimizations, deploying DBaaS on EBS can achieve even better performance than on local disks.

Troubleshooting Memory Leaks: Deep Dive into Common Heap Profilers

Heap profilers are powerful runtime tools to pinpoint memory leak issues in applications. This post describes how some common heap profilers are used and implemented.

Time Synchronization in Distributed Systems: TiDB’s Timestamp Oracle

This post describes TiDB’s timestamp oracle (TSO), how it delivers time services, and its pros and cons.

Evaluating TiDB against the MySQL Test Suite

Since TiDB is a distributed SQL database compatible with MySQL, can we use MySQL's bug history to improve the quality of TiDB? With this in mind, Morgan from our engineering team led the exploration of using MySQL Test Suite to evaluate TiDB. The results were rewarding: 154 bugs in 4 months and improved test coverage.

How I Trained a Machine Learning Model in Pure SQL on a NewSQL Database

This post describes how a TiDB contributor trained a machine learning model in pure SQL on TiDB.

TiDB Operator Source Code Reading (V): Backup and Restore

Author: Elon Li (Software Engineer at PingCAP) Transcreator: Ran Huang; Editor: Tom Dewan Previous articles in this series: TiDB Operator Source Code Reading (I): Overview TiDB Operator Source Code Reading (II): Operator Pattern TiDB Operator Source Code Reading (III): The Component Control Loop TiDB Operator Source Code Reading (IV): Implementing a Component Control Loop In our last article, we learned […]

Implementing Chaos Engineering in K8s: Chaos Mesh Principle Analysis and Control Plane Development

This post describes the practice of Chaos Engineering in K8s clusters, discusses important Chaos Mesh features through analysis of its source code, and explains how to develop Chaos Mesh's control plane with code examples.

How to Troubleshoot RocksDB Write Stalls in TiKV

Author: Mike Barlow (Solutions Architect at PingCAP) Editors: Jose Espinoza, Tina Yang, Tom Dewan TiDB, an open-source, distributed NewSQL database, can experience write performance degradation for several reasons. This troubleshooting guide discusses write performance degradation related to the RocksDB built-in write stall feature. RocksDB is an open-source, mature, and high-performance key-value store. It is optimized for fast, low latency […]

TiDB Operator Source Code Reading (IV): Implementing a Component Control Loop

This post explains how TiDB Operator implements a component control loop by taking PD as an example. You'll learn PD and other component's lifecycle management.