distributedio/titan

A Distributed Redis Protocol Compatible NoSQL Database

See the code

README

Titan

Build Status Go Report Card Coverage Status Coverage Status Discourse status

A distributed implementation of Redis compatible layer based on TiKV

Why Titan?

  • Completely compatible with Redis protocol
  • Full distributed transaction with strong consistency
  • Multi-tenancy support
  • No painful scale out
  • High availability

Thanks TiKV for supporting the core features. The project is developed and open sourced by the Beijing Infrastructure Team at Meitu and has been donated to DistributedIO org.

Architecture

titan

Quick start

Can't wait to experiment with Titan? Just follow 2 steps:

  1. curl -s -O https://raw.githubusercontent.com/distributedio/titan/master/docker-compose.yml
  2. docker-compose up

Then connect to Titan using redis-cli

redis-cli -p 7369

Enjoy!

Installation

SetUp TiKV cluster

Titan works with 2 TiDB components:

  • TiKV
  • PD

To setup TiKV and PD, please follow the official instructions

Run Titan

  • Build the binary
go get github.com/distributedio/titan
cd $GOPATH/src/github.com/distributedio/titan
make
  • Edit the configration file
pd-addrs="tikv://your-pd-addrs:port"
  • Run Titan
./titan

For more details about Deploy Titan, click here.

Commands supporting status

See the details of the commands supporting status

commandstatus
ConnectionsAlmost Fully Supported
TransactionsSupported
ServerAlmost Fully Supported
KeysSupported
StringsAlmost Fully Supported
ListAlmost Fully Supported
HashesSupported
SetsAlmost Fully Supported
Sorted SetsAlmost Fully Supported
GeoNot Supported Yet
HyperloglogNot Supported Yet
Pub/SubNot Supported Yet
ScriptingNot Supported Yet
StreamsNot Supported Yet

Benchmarks

Refer to the benchmark docs for more details. It's shared on Baidu Disks, use the code hzt6 to gain the permission.

Basic benchmarking result.

Get

Get command benchmark

Set

Set command benchmark

For more info, please vist here Titan Benchmarks

FAQ

FAQ

Roadmap

View our Roadmap

Release Note

  • 20.4.21: add support for rpop and rpoplpush
distributed
nosql
redis
tidb
tikv

distributedio/titan

A Distributed Redis Protocol Compatible NoSQL Database

See the code

README

Titan

Build Status Go Report Card Coverage Status Coverage Status Discourse status

A distributed implementation of Redis compatible layer based on TiKV

Why Titan?

  • Completely compatible with Redis protocol
  • Full distributed transaction with strong consistency
  • Multi-tenancy support
  • No painful scale out
  • High availability

Thanks TiKV for supporting the core features. The project is developed and open sourced by the Beijing Infrastructure Team at Meitu and has been donated to DistributedIO org.

Architecture

titan

Quick start

Can't wait to experiment with Titan? Just follow 2 steps:

  1. curl -s -O https://raw.githubusercontent.com/distributedio/titan/master/docker-compose.yml
  2. docker-compose up

Then connect to Titan using redis-cli

redis-cli -p 7369

Enjoy!

Installation

SetUp TiKV cluster

Titan works with 2 TiDB components:

  • TiKV
  • PD

To setup TiKV and PD, please follow the official instructions

Run Titan

  • Build the binary
go get github.com/distributedio/titan
cd $GOPATH/src/github.com/distributedio/titan
make
  • Edit the configration file
pd-addrs="tikv://your-pd-addrs:port"
  • Run Titan
./titan

For more details about Deploy Titan, click here.

Commands supporting status

See the details of the commands supporting status

commandstatus
ConnectionsAlmost Fully Supported
TransactionsSupported
ServerAlmost Fully Supported
KeysSupported
StringsAlmost Fully Supported
ListAlmost Fully Supported
HashesSupported
SetsAlmost Fully Supported
Sorted SetsAlmost Fully Supported
GeoNot Supported Yet
HyperloglogNot Supported Yet
Pub/SubNot Supported Yet
ScriptingNot Supported Yet
StreamsNot Supported Yet

Benchmarks

Refer to the benchmark docs for more details. It's shared on Baidu Disks, use the code hzt6 to gain the permission.

Basic benchmarking result.

Get

Get command benchmark

Set

Set command benchmark

For more info, please vist here Titan Benchmarks

FAQ

FAQ

Roadmap

View our Roadmap

Release Note

  • 20.4.21: add support for rpop and rpoplpush
distributed
nosql
redis
tidb
tikv

Project health

Overall

3.4/10

Maintained

0/10

Code review

8/10
OpenSSF Scorecard

Latest release

v0.6.0 · Jan 9, 2020

Releases this year

0

Significant stargazers

Daniël van Eeden

128 followers · starred Jan 2025

siddontang

2,981 followers · starred Nov 2018

Jay

443 followers · starred Jun 2022

Travis Cross

187 followers · starred Dec 2018