TerarkDB + Pika
https://cloud.tencent.com/developer/news/366922
-----------------------------------------
pika的info统计有多少个key,需要使用 info keyspace 1来触发
与redis比较
pika相对于redis,最大的不同就是pika是持久化存储,数据存在磁盘上,而redis是内存存储,由此不同也给pika带来了相对于redis的优势和劣势。
优势:
- 容量大:Pika没有Redis的内存限制, 最大使用空间等于磁盘空间的大小
- 加载db速度快:Pika 在写入的时候, 数据是落盘的, 所以即使节点挂了, 不需要rdb或者oplog,pika 重启不用加载所有数据到内存就能恢复之前的数据, 不需要进行回放数据操作。
- 备份速度快:Pika备份的速度大致等同于cp的速度(拷贝数据文件后还有一个快照的恢复过程,会花费一些时间),这样在对于百G大库的备份是快捷的,更快的备份速度更好的解决了主从的全同步问题
劣势:
- 由于Pika是基于内存和文件来存放数据, 所以性能肯定比Redis低一些, 但是我们一般使用SSD盘来存放数据, 尽可能跟上Redis的性能。
SST文件(sorted string table files),数据永久化存储到磁盘,可见,SST采取分层结构是为了最大限度减小插入新entry时的开销
hostname -i
1.安装
yum install install autoconf automake libtool
proxy.toml中要写实际地址,不要使用0.0.0.0.或者127.0.0.0,否则绑定proxy的时候invalid xauth, please check product name & auth
admin_addr = "192.168.153.130:11080"
https://blog.csdn.net/Dr_Franks/article/details/83821320#2_codis32_65(单机)
https://www.cnblogs.com/zhoujinyi/p/9950105.html(详细集群)
codis-server是哨兵模式,不是集群,所以客户端连接codis-proxy的时候,不要使用集群,连接任意一个proxy就可以,proxy自己会负载均衡数据到codis-server
instance-mode : classic
classic模式,又叫多库版 (codis + 经典模式)
在sharding模式,又叫分片模式,redis-cli登录后使用会出现: ERR Partition not found
mkdir -p $GOPATH/src/github.com/CodisLabs cd $GOPATH/src/github.com/CodisLabs git clone https://github.com/CodisLabs/codis.git -b release3.2
pika 安装
sudo yum install snappy-devel protobuf-compiler protobuf-devel bzip2-devel zlib-devel bzip2