Raft and High Availability
Raft is a consensus-based method that distributes data in such a way that it creates and maintains a high availability environment for your database. This article introduces the general components and mechanisms of Raft, and how distributed databases such as TiDB and TiKV use Raft to achieve high availability and consistency.
Flink on TiDB: Reliable, Convenient Real-Time Data Service
Combining Flink and TiDB provide powerful support for real-time data processing. In this article, a NetEase senior engineer introduces how they use Flink on TiDB to guarantee end-to-end exactly-once semantics.
TiDB Operator Source Code Reading (III): The Component Control Loop
Learn about TiDB Operator's component control loop and how it manages TiDB's component lifecycle.
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.