当前各大云厂商都推出了自己的分布式KV存储服务(兼容Redis协议),阿里云的tair,腾讯云的tendis。华为云的gaussdb for redis,百度参与的kvrocks(好像即将推出?),360的pika,社区上的分布式kv存储更是遍地开花,各大云厂商使用服务的社区版本,以及todis,kvrocks等,感觉随着各种碎片化的数据量的不断增加,分布式KV存储的应用场景将越来越广泛,rocksdb怕不是那个最大的赢家
前一段时间有幸试用了toping(拓扑岭)的企业级的分布式KV存储,基于pika实现,目前应该还是处于内侧阶段,可以联系他们工作人员进行试用,官网上介绍了很多有意思的实现,比如计算存储分离,sidePlugin,分布式compact,可检索内存压缩,内置的web监控引擎,新型的memtable格式等,看他们在rocksdb上做了很多的优化,解决了一些rocksdb的痛点,保证了很好的性能。鉴于自己对于分布式KV存储引擎的了解并不多,在很多功能特性方面给不出专业的评价,仅从一个普通使用者的角度去看待并表述一下自己的感受。
体验感受及建议
1、官方提供了一些视频以及操作文档来辅助搭建测试环境,创建vpc的时候会用到一个在阿里云上创建vpc的工具,目前好像是只有windows下的运行文件,这个工具也开源了,有需要也可以手动编译,创建过程大约2分钟左右,创建完成就可以在自己的管理界面中看到对应的网段信息以及启动的todis服务,后续还需要手动在阿里云购买一个特定网段的ecs机器,以便于来访问他们内网的todis服务,试用的流程整体上还是比较顺畅的,后续可以考虑更加的自动化一些,并且考虑到后续企业接入的需求,部署资源以及申请资源的sdk估计是必不可少的,肯定是越便捷越好
2、官方提供的控制界面简洁易用,集成了grafana的监控面板可以方便的监控服务的运行状态,信息比较全面,对一些主要的监控信息提供了注释解释,这个也有助于客户的使用与理解;同时还提供了一个引擎监测的快捷入口,这里应该是能够查看到toplingdb的详细信息,能更好的监控整个服务引擎的状态,测试中发现引擎监测好像还提供了一种json格式的api,这个对于监控采集就很方便了,点个赞!这两个功能应该都是内置的监控服务,对运维同学太友好了,但是考虑到一个集群可能存在很多实例,在实例数量比较多的情况监控数据如何聚合整理展示,这个可能是后续需要考虑的点吧。
3、基于pika开发的话,基本的命令支持肯定是没有问题的,但是考虑到中间这一段时间redis的版本迭代十分快速,在redis命令的完善度可能需要加把劲,毕竟作为一个支持redis协议的kv存储,客户群体可能主要是想要节省成本的redis的用户们,兼容性如果做的好了,客户的适配成本就会减少,将会更有利于产品的推广。
4、官方的wiki建设还有待进步,我看有一些文档正在更新中,不过相信很快就会完善起来:)
5、云厂商的支持目前只有阿里云,考虑到现在很多公司都开始多云建设,单一的云厂商无论是在稳定性可用性,还是从商业谈判成本battle的角度上来说都是不利于使用者的,因此多云的支持与建设我觉得还是有必要的。
结言
试用过程中,客服对于问题的解决以及回复都很迅速,这个就很有客户至上的观念,点个赞~ 希望todis越来越好~