AutoTiKV: TiKV Tuning Made Easy by Machine Learning
AutoTiKV is a machine-learning-based tuning tool that helps decrease tuning costs and make life easier for DBAs. This post shows AutoTiKV's design, its machine learning model, and the automatic tuning workflow.
Squashed Bugs, Served Hot and Fresh with Failure Rate Heatmaps
At TiDB Hackathon 2019, a team won the third prize by building a bot that helps quickly locate bugs in the code. Read this post to get more details.
10x Performance Improvement for Expression Evaluation Made Possible by Vectorized Execution and the Community
We vectorized 360+ built-in functions along with the TiDB community. Vectorized execution has greatly improved the expression evaluation performance. Some functions even achieved 10x performance. Here is our vectorization story.
Building a Large-scale Distributed Storage System Based on Raft
This post introduces the PingCAP team's firsthand experience in designing a large-scale distributed storage system based on the Raft consensus algorithm.
How We Compiled a Golang Database in the Browser Using WebAssembly
We compiled a Golang database (TiDB) into an in-browser database using WebAssembly (Wasm). This post introduces why and how we built an in-browser database.
TiDB in the Browser: Running a Golang Database on WebAssembly
This post introduces how you can run TiDB directly in a web browser, how it is possible, and what the limitations are.
Safety First! Common Safety Pitfalls in Distributed Databases Found by Jepsen Tests
This post introduces why Jepsen is important to the distributed database industry, how it works, common issues found, how we use Jepsen with TiDB, and a short summary of all problems Jepsen has found.
How TSQ Becomes a Performance Bottleneck for TiKV in AWS ARM Environment
Explore into Linux kernel to find out how TSQ becomes a performance bottleneck for TiKV in an AWS ARM environment.
Porting TiDB to Arm64 for Greater Flexibility
This article describes how PingCAP compiled and benchmarked TiDB on the Amazon Web Services (AWS) Arm64 platform.
Migrating the TiKV Rust Client from Futures 0.1 to 0.3
This post introduces Nick's experience in migrating the TiKV Rust client from Futures 0.1 to 0.3.
Why Benchmarking Distributed Databases Is So Hard
Benchmarks are hard to get right, and many articles touting benchmarks are actually benchmarketing, showcasing skewed outcomes to sell products. This post introduces some of the motivations for benchmarking and the common tools, and discusses a few things to keep in mind when benchmarking.
The KOST Stack: An Open-Source Cloud-Native Hybrid Database Stack
A new infrastructure pattern is emerging called the KOST stack (Kubernetes, Operator, Spark, TiDB). This blog post introduces each component of the KOST stack and cloud-native HTAP in the wild.