Titan
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
Quick start
Can't wait to experiment Titan? Just follow 2 steps:
- curl -s -O https://raw.githubusercontent.com/distributedio/titan/master/docker-compose.yml
- docker-compose up
Then connect to titan use redis-cli
redis-cli -p 7369
Enjoy!
Installation
SetUp TiKV cluster
Titan works with 2 tidb components:
To setup TiKV and PD, please follow official instruction
Run Titan
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"
./titan
For more details about Deploy Titan, click here.
Benchmarks
Refer to the benchmark docs for more details. It is shared on Baidu Disks, use the code hzt6
to gain the permission.
Basic benchmarking result.
Get
Set
For more info, please vist here Titan Benchmarks
Commands supporting status
For fully supported command list vist here
command |
status |
Connections |
Won't Fully Supported |
Transactions |
Supported |
Server |
Not Fully Supported Yet |
Keys |
Supported |
Strings |
Not Fully Supported Yet |
List |
Not Fully Supported Yet |
Hashes |
Supported |
Sets |
Not Fully Supported Yet |
Sorted Sets |
Not Fully Supported Yet |
Geo |
Not Supported Yet |
Hyperloglog |
Not Supported Yet |
Pub/Sub |
Not Supported Yet |
Scripting |
Not Supported Yet |
Streams |
Not Supported Yet |
FAQ
FAQ
Roadmap
View our Roadmap