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.
TiDB Passes Jepsen Test for Snapshot Isolation and Single-Key Linearizability
TiDB's first official Jepsen Test report is published. This post introduces some additional context to the test results and PingCAP's thoughts on what's next.
Design and Implementation of Golang Failpoints
This post introduces design and implementation of Golang Failpoint.
Try to Fix Two Linux Kernel Bugs While Testing TiDB Operator in K8s
This post introduces how the EE team at PingCAP tackled two Linux kernel bugs while testing TiDB Operator in K8s. PingCAP engineers also hope the K8s community, RHEL and CentOS can help fix these bugs thoroughly in the near future.
How TiKV Uses “Lease Read” to Guarantee High Performances, Strong Consistency and Linearizability
This post discusses Raft Log Read, `ReadIndex` Read, and Lease Read, and why TiKV adopts the Lease Read approach.
9 Why’s to Ask When Evaluating a Distributed Database
Ed Huang, the CTO of PingCAP, has summarized into "9 why's" the most frequently asked questions by engineers when they look at a distributed database; he also gives his answers to these questions in this post to help make decision-making of engineers a bit easier.
Implement Raft in Rust
As an open-source distributed scalable HTAP database, TiDB uses the Raft Consensus Algorithm in its distributed transactional key-value storage engine, TiKV, to ensure data consistency, auto-failover, and fault tolerance. TiDB has thus far been used by more than 200 companies in their production environments in a wide range of industries, from e-commerce and food delivery, to fintech, media, gaming, and travel.
From Chaos to Order — Tools and Techniques for Testing TiDB, A Distributed NewSQL Database
As an open source distributed NewSQL Hybrid Transactional/Analytical Processing (HTAP) database, TiDB contains the most important asset of our customers--their data. One of the fundamental and foremost requirements of our system is to be fault-tolerant. But how do you ensure fault tolerance in a distributed database? This article covers the top fault injection tools and techniques in Chaos Engineering, as well as how to execute Chaos practices in TiDB.