TECH

TiKV : The Distributed, Transactional Key-Value Database

TiKV is an open-source, distributed, and transactional key-value database designed to provide high performance, scalability, and consistency.

Built in Rust and inspired by technologies like Google’s BigTable, Spanner, and Percolator, TiKV was developed by PingCAP as a storage layer for TiDB, a MySQL-compatible HTAP database.

It is fully ACID-compliant and supports both classical key-value APIs and transactional APIs.

Key Features

  1. Geo-Replication: TiKV uses the Raft consensus algorithm and a Placement Driver (PD) to enable geo-replication and ensure data consistency across multiple nodes.
  2. Horizontal Scalability: TiKV can scale to hundreds of terabytes of data by splitting data into Regions that are automatically balanced across nodes using PD.
  3. Distributed Transactions: TiKV supports externally consistent distributed transactions through a two-phase commit protocol, similar to Google Spanner.
  4. Coprocessor Framework: Inspired by HBase, TiKV allows users to push computation to the storage layer for distributed processing.
  5. Integration with TiDB: TiKV works seamlessly with TiDB, enabling a hybrid transactional and analytical processing (HTAP) solution.

TiKV’s architecture is built around several key components:

  • Placement Driver (PD): Acts as the cluster manager, handling tasks like load balancing, auto-sharding, and replication.
  • Store: Each node contains one or more Stores backed by RocksDB instances for data storage and Raft logs.
  • Region: The basic unit of data movement, each Region is replicated across multiple nodes to form a Raft group for fault tolerance.
  • Raft Consensus Algorithm: Ensures consistency across replicas by electing a leader for write operations and synchronizing data changes among followers.

TiKV achieves high scalability through its multi-Raft architecture, where each Region can be split or merged dynamically based on size thresholds.

This ensures efficient resource utilization and balanced workloads across nodes. By storing Raft logs and Region data in separate RocksDB instances, TiKV optimizes I/O performance.

TiKV is ideal for applications requiring:

  • Strong consistency
  • Distributed ACID transactions
  • High horizontal scalability
  • Geo-replication

As a graduated project of the Cloud Native Computing Foundation (CNCF), TiKV is widely adopted in production environments for its reliability and robust feature set.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Install NetBeans IDE on Ubuntu 18.04 with Snap and OpenJDK 8

NetBeans is a free, open-source, cross-platform IDE developed by the Apache Software Foundation. It was one…

3 minutes ago

Install Pip on Ubuntu 18.04: Python 3 and Python 2 Setup Guide

Pip is the official package manager for Python and the standard way to install libraries from…

5 days ago

Install R on Ubuntu 18.04 from CRAN: Statistical Computing Setup

R is an open-source programming language and environment built for statistical computing and data visualization. It…

5 days ago

Install Jenkins on Ubuntu 18.04: CI/CD Server Setup Guide

Jenkins is an open-source automation server that makes it easy to build CI/CD pipelines. Continuous integration…

5 days ago

Install Android Studio on Ubuntu 18.04 with Snap and OpenJDK 8

Android Studio is the official IDE for Android development, built on JetBrains' IntelliJ IDEA platform. It…

5 days ago

Install and Configure GitLab on Ubuntu 18.04 with Omnibus

GitLab is a web-based, open-source Git repository manager written in Ruby. It includes built-in tools for…

5 days ago