Refactor overview and add query layers page

Signed-off-by: Ana Hobden <operator@hoverbear.org>
This commit is contained in:
Ana Hobden 2019-08-09 11:16:21 -07:00
parent 32ea961990
commit 922421f8a1
6 changed files with 55 additions and 12 deletions

View File

@ -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).

View File

@ -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:

View File

@ -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)

View File

@ -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

View File

@ -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">

View File

@ -1,4 +1,7 @@
{{ $features := site.Data.features }}
{{ if eq (.Get 0) "featured"}}
{{ $features = where $features "featured" true }}
{{ end }}
<table>
<thead>
<tr>