Book a Demo Start Instantly

How We Trace a KV Database with Less than 5% Performance Impact

As a key-value database, TiKV has much higher performance requirements than a regular application, so tracing tools must have minimal impact. Learn how we trace TiKV requests while impacting performance less than 5%.

Dive Deep into TiKV Transactions: The Life Story of a TiKV Prewrite Request

This post introduces the execution workflow of a TiKV request in the prewrite phase. It offers a top-down description of how the prewrite request of an optimistic transaction is executed within the multiple modules of the Region leader.

TiDB Operator Source Code Reading (II): Operator Pattern

Learn about Kubernetes's Operator pattern and TiDB Operator's major reconcile loop.

TiFS, a TiKV-Based Partition Tolerant, Strictly Consistent File System

TiFS is a distributed file system built upon TiKV. It is partition tolerant, strictly consistent, and most efficient for reading and writing small files or other complicated file system operations.

Async Commit, the Accelerator for Transaction Commit in TiDB 5.0

As a major new feature introduced in TiDB 5.0, Async Commit can greatly reduce the latency of transaction commits. This post describes Async Commit's design ideas and its key implementation details.

Linux Kernel vs. Memory Fragmentation (Part II)

This post introduces the principle of memory compaction, how to view the fragmentation index, and how to quantify the latency overheads caused by memory compaction.

Using a GPU Boosts TiDB Analytics Performance by 10 to 150 Times

At TiDB Hackathon 2020, a team used GPU acceleration techniques to improve the performance of CPU-intensive analytical query processing and achieved 10x~150x performance improvement.

TiDB Operator Source Code Reading (I): Overview

TiDB Operator is an operator for running TiDB in Kubernetes. This article will introduce its architecture and what value it brings to you.

Linux Kernel vs. Memory Fragmentation (Part I)

This post introduces common methods to prevent Linux memory fragmentation, the principle of memory compaction, how to view the fragmentation index, etc.

How to Simulate I/O Faults at Runtime

This post dives deep into how we implement the IOChaos experiment without using a sidecar.

Trace Linux System Calls with Least Impact on Performance in Production

To trace system calls in Linux effectively, you can use perf to analyze system calls that have latency in general scenarios. For containers or Kubernetes that use cgroup v2, traceloop is more convenient.

Batch Processing Massive Data Much Quicker with TiSpark

A senior solution architect at PingCAP explains why TiSpark (TiDB + Apache Spark) is better than the traditional batch processing solution, how you can benefit from TiSpark, and how it works.