mirror of https://github.com/tikv/website.git
				
				
				
			Refactor overview and add query layers page
Signed-off-by: Ana Hobden <operator@hoverbear.org>
This commit is contained in:
		
							parent
							
								
									32ea961990
								
							
						
					
					
						commit
						922421f8a1
					
				| 
						 | 
				
			
			@ -12,26 +12,22 @@ menu:
 | 
			
		|||
 | 
			
		||||
**TiKV** is a distributed transactional key-value database originally created by [PingCAP](https://pingcap.com/en) to complement [TiDB](https://github.com/pingcap/tidb).
 | 
			
		||||
 | 
			
		||||
As an incubating project of the [Cloud Native Computing Foundation](https://www.cncf.io/), TiKV is intended to fill the role of a unifying distributed storage layer. TiKV excels at working with **data in the large** by supporting petabyte scale deployments spanning trillions of rows.
 | 
			
		||||
 | 
			
		||||
It compliments other CNCF projects technologies like [etcd](https://etcd.io/) which is useful for low-volume metadata storage, and can be extended using [stateless query layers](../../reference/query-layers) which speak other protocols, like [TiDB](https://github.com/pingcap/tidb) speaking MySQL.
 | 
			
		||||
 | 
			
		||||
{{< info >}}
 | 
			
		||||
The **Ti** in TiKV stands for **titanium**. Titanium has the highest strength-to-density ratio of any metallic element and is named after the Titans of Greek mythology.
 | 
			
		||||
{{< /info >}}
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
## Notable Features
 | 
			
		||||
 | 
			
		||||
{{< features >}}
 | 
			
		||||
{{< features featured >}}
 | 
			
		||||
 | 
			
		||||
## Code
 | 
			
		||||
 | 
			
		||||
TiKV is written in [Rust](https://www.rust-lang.org) and powered by the [Raft](https://raft.github.io) consensus algorithm.
 | 
			
		||||
 | 
			
		||||
## Inspiration
 | 
			
		||||
 | 
			
		||||
TiKV was originally inspired by [Google Spanner](https://ai.google/research/pubs/pub39966) and [HBase](https://hbase.apache.org).
 | 
			
		||||
You can browse a complete list on the [features](../features) page.
 | 
			
		||||
 | 
			
		||||
## Architecture
 | 
			
		||||
 | 
			
		||||
The basic architecture of TiKV is described in the diagram below:
 | 
			
		||||
 | 
			
		||||
{{< figure
 | 
			
		||||
    src="/img/basic-architecture.png"
 | 
			
		||||
    caption="The architecture of TiKV"
 | 
			
		||||
| 
						 | 
				
			
			@ -40,3 +36,9 @@ The basic architecture of TiKV is described in the diagram below:
 | 
			
		|||
    number="1" >}}
 | 
			
		||||
 | 
			
		||||
You can read more in the [Concepts and architecture](../architecture/) documentation.
 | 
			
		||||
 | 
			
		||||
## Codebase, Inspiration, and Culture
 | 
			
		||||
 | 
			
		||||
TiKV is implemented in the [Rust](https://rust-lang.org) programming language. It uses technologies like [Facebook's RocksDB](https://rocksdb.org/) and [Raft](https://raft.github.io/).
 | 
			
		||||
 | 
			
		||||
The project was originally inspired by [Google Spanner](https://ai.google/research/pubs/pub39966) and [HBase](https://hbase.apache.org).
 | 
			
		||||
| 
						 | 
				
			
			@ -4,6 +4,7 @@ description: Interact with TiKV using the raw key-value API or the transactional
 | 
			
		|||
menu:
 | 
			
		||||
    docs:
 | 
			
		||||
        parent: Reference
 | 
			
		||||
        weight: 2
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
TiKV has clients for a number of languages:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
---
 | 
			
		||||
title: Query Layers
 | 
			
		||||
description: Extend TiKV using stateless query layers
 | 
			
		||||
menu:
 | 
			
		||||
    docs:
 | 
			
		||||
        parent: Reference
 | 
			
		||||
        weight: 3
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
There are several projects which harness TiKV to power their storage:
 | 
			
		||||
 | 
			
		||||
* [TiDB](https://github.com/pingcap/tidb) (MySQL)
 | 
			
		||||
* [TiPrometheus](https://github.com/bragfoo/TiPrometheus) (Prometheus)
 | 
			
		||||
* [Titan](https://github.com/distributedio/titan) (Redis)
 | 
			
		||||
* [Tidis](https://github.com/yongman/tidis) (Redis)
 | 
			
		||||
* [Titea](https://github.com/gengmei-tech/titea) (Redis)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +1,33 @@
 | 
			
		|||
- name: Geo-replication
 | 
			
		||||
  description: TiKV uses the [Raft](https://raft.github.io/) consensus algorithm and the [Placement Driver](/docs/3.0/concepts/architecture#placement-driver) to support geo-replication.
 | 
			
		||||
  icon: fa-globe
 | 
			
		||||
  featured: true
 | 
			
		||||
- name: Horizontal scalability
 | 
			
		||||
  description: With the [Placement Driver](/docs/3.0/concepts/architecture#placement-driver) and carefully designed Raft groups, TiKV excels in horizontal scalability and can easily scale to 100+ terabytes of data.
 | 
			
		||||
  icon: fa-ruler-horizontal
 | 
			
		||||
  featured: true
 | 
			
		||||
- name: Consistent distributed transactions
 | 
			
		||||
  description: Similar to Google's [Spanner](https://ai.google/research/pubs/pub39966), TiKV supports externally consistent distributed transactions.
 | 
			
		||||
  icon: fa-align-center
 | 
			
		||||
  featured: true
 | 
			
		||||
- name: Coprocessor support
 | 
			
		||||
  description: Similar to [Hbase](https://hbase.apache.org), TiKV implements a coprocessor framework to support distributed computing.
 | 
			
		||||
  icon: fa-microchip
 | 
			
		||||
  featured: true
 | 
			
		||||
- name: Automatic sharding
 | 
			
		||||
  description: TiKV shards your data into regions without manual intervention, reducing maintenance burden.
 | 
			
		||||
  icon: fa-boxes
 | 
			
		||||
- name: Region balance
 | 
			
		||||
  description: TiKV supports rebalancing regions due to faults, workload, or topology needs.
 | 
			
		||||
  icon: fa-balance-scale
 | 
			
		||||
- name: Dynamic membership
 | 
			
		||||
  description: Grow or shrink TiKV clusters dynamically, without the need for downtime.
 | 
			
		||||
  icon: fa-cogs
 | 
			
		||||
- name: Rolling online updates
 | 
			
		||||
  description: Using supported deployment methods, safely upgrade TiKV clusters without worry.
 | 
			
		||||
- name: Extensive Metric Suite
 | 
			
		||||
  description: Easily integrate TiKV into your infrastructure monitoring with extensive Prometheus reporting.
 | 
			
		||||
  icon: fa-eye
 | 
			
		||||
- name: Flexible APIs
 | 
			
		||||
  description: Use transactional or raw gRPC APIs through clients in your favorite language, or use gRPC directly.
 | 
			
		||||
  icon: fa-plug
 | 
			
		||||
| 
						 | 
				
			
			@ -48,7 +48,7 @@
 | 
			
		|||
<section class="section has-background-primary">
 | 
			
		||||
  <div class="container">
 | 
			
		||||
    <div class="columns">
 | 
			
		||||
      {{ range $features }}
 | 
			
		||||
      {{ range where $features "featured" true }}
 | 
			
		||||
      <div class="column">
 | 
			
		||||
        <div class="card">
 | 
			
		||||
          <header class="card-header">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
{{ $features := site.Data.features }}
 | 
			
		||||
{{ if eq (.Get 0) "featured"}}
 | 
			
		||||
  {{ $features = where $features "featured" true  }}
 | 
			
		||||
{{ end }}
 | 
			
		||||
<table>
 | 
			
		||||
  <thead>
 | 
			
		||||
    <tr>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue