Improve Performance and Data Availability with Elastic Block Store (EBS)

Elastic block store can better manage the distinction between compute and storage.

Why do we consider EBS in the first place?

To explain our motivation for using EBS, we’d like to briefly introduce TiDB. TiDB is a MySQL-compatible, distributed database. TiDB Servers are the computation nodes, which process SQL requests. The Placement Driver (PD) is the brain for TiDB, which configures load balancing and provides metadata services. TiKV is a row-oriented key-value store that processes transactional queries. TiFlash is a columnar storage extension that handles analytical queries. In this blog, we focus on TiKV.

Selecting a suitable EBS volume type

In general, there are four SSD-based EBS volume types: gp2, gp3, io1, and io2. (When we designed and implemented TiDB Cloud, io2 Block Express was still in preview mode, so we didn’t consider it.) The following table summarizes the characteristics of these volume types.

Write latency in a simple workload with one thread. (Lower numbers are better)
Read latency in a simple workload with one thread. (Lower numbers are better)
Write latency in a simple workload with eight threads. (Lower numbers are better)
Read latency in a simple workload with eight threads. (Lower numbers are better)
Average operation latency in some comprehensive workloads. (Lower numbers are better)
Transaction per minute (TPMC) in TPC-C workload. (Higher numbers are better)
Average operation latency (ms) in TPC-C workload. (Lower numbers are better)
99-percentile operation latency (ms) in TPC-C workload. (Lower numbers are better)

--

--

PingCAP is the team behind TiDB, an open-source MySQL compatible NewSQL database. Official website: https://pingcap.com/ GitHub: https://github.com/pingcap

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
PingCAP

PingCAP is the team behind TiDB, an open-source MySQL compatible NewSQL database. Official website: https://pingcap.com/ GitHub: https://github.com/pingcap