Todis 使用体验

Todis 使用体验

Todis 是 Topling(拓扑岭)公司出品的兼容 Redis 的分布式数据库,解决Redis由于存储数据量巨大而导致内存不够用的容量瓶颈。Todis 基于 Pika 开发,Pika 底层使用 RocksDB, 而 Todis 将其换成了基于 RocksDB 改造的 ToplingDB。根据其官网的介绍,拥有非常棒的性能,解决了许多 Redis on RocksDB 的痛点。

为什么写这篇文章

我为什么写这篇文章呢? 

作为刚毕业的学生,初涉分布式 KV 存储领域,需要学习的内容很多很多。开源社区是一个很好的途径,从中不仅可以研究许多优秀的项目,还可以直接和项目的创造者、开发者一起交流,从中可以学到很多很多。

近期看到关于 Topling 的一些文章与帖子,看到 Topling 有许多独有的技术来解决当前的一些痛点,看到 Topling 的许多核心项目(Todis, ToplingDB 等)均已经开源,所以赶紧去关注一波。

当前 Todis 是内测期,免费使用,只需要购买阿里云的 ECS 即可快速使用(最主要的是还有丰厚的内测奖品🐶)。

下面是我的内测 Todis 的体验。

使用体验

Topling 在官网贴出了详细的教程(公众号上还有相关视频)。首先是环境搭配,购买完 ECS 之后,只需要下载官方提供的工具,便可以一键完成相关配置,不过吐槽的地方是该工具只有 Windows 版本,没有 Mac 版本,开发人员用 Mac 的还是比较多的。

当前是内测阶段, Todis 的控制台还是比较简陋的,相信后续 Topling 会提供更完善、更精美的控制台界面。

在 ECS 上可以通过官方上传的数据、工具进行的测试,不过官方提供的工具 Bug 较多,然后自己写了一个 Python 脚本,使用微软的的 NLP 数据集进一步进行了测试。

性能测试

由于没有其他复杂类型的测试数据集,我只进行了简单的字符串测试,使用2核4G 的计算型ECS,写QPS可以达到3W,读QPS达到 6W+。

针对大 Value 场景(大于1M),我还进行了测试,发现读写性能和打开了 KV 分离的 Kvrocks 相当,读性能甚至还优于 Kvrocks。

不过 Todis 最优秀的地方就是其性能并不会随数据量的增加而衰减。这应该是得益于其宣传的弹性分布式 Compaction,将 Compaction 的负载转移到远程支持,使得其不需要很多 CPU。不过关于 Topling 并没有放出更多关于其远程 Compaction 的博客文章,不知道后续是否会写专门的文章介绍这一块。

Todis 的读性能优秀,看资料应该是和其””可检索内存压缩” 技术有关,我还不太懂其基本原理,后续将进行详细的研究。

Todis 的监控项非常非常的全,但是太多了,眼花缭乱,个人认为后续需要对监控项进行整理,提高用户体验,但是现在还是内测阶段,可以理解,很重要的信息,就是基本信息没有,典型的如:QPS,数据量,内存占用,写入,磁盘 IO 等,这些信息,我只能通过 info 命令去查看。

ToplingDB引擎是内嵌 Web Server的,可以让以前只能通过日志查看的内容通过 Web 界面实时的展示出来,这个非常非常的酷,有助于引擎(内核)开发人员定位、观测问题。看介绍是通过其 SidePlugin 功能扩展的,对此我不是太了解,后续将认真的研究一下。 

如何看待 Todis

Todis 是 TerarkDB 和 TerarkZip 作者的杰作,充分利用了云计算的各种优势:

  • 计算存储分离,提高了资源的利用率
  • 分布式 Compaction,彻底解决了 RocksDB Compaction 影响服务,资源利用率低的问题

也对 RocksDB 和 Pika 的进行了多种优化

  • SidePlugin功能,带来了引擎内嵌 Web Server,以及监控
  • 新型的 MemTable, SST
  • Pika, RocksDB 优化

当然,我也有一些小问题:

  1. Todis 基于阿里云,对于用户而言,强绑定于阿里云,如果后续用户迁移到其他云厂商,或者有多云需求,是不是迁移会比较麻烦?
  2. 当前 RocksDb 也在做远程分布式 Compaction,相比原生支持,ToplingDB 这种的优势是什么?
  3. 后续是否会利用的 Side-Pluging 实现其他更酷的功能?
  4. 对于小公司,可能需要不了那么的性能,有这么好性能的公司,一般也会自行搭建磁盘型 Redis。所以,个人觉得 Topling 公司如果性价比高,还是很有市场的。不知道 Topling 未来的定价如何。顺便吐槽 Tair,真的是太贵了!
  5. 对于开发者,非常非常想参与进 Topling 开源社区,但是目前发现 Topling 开发者较少,创始人是主力开发者,后续发展规模较大后,老板肯定没有那么多精力,所以还是希望投入开源社区的建设,多吸引开发者加入。个人对 Topling 的技术很感兴趣,但是发现资料很少,只看代码的话,可能没有那么容易看下去,个人建议可以学习一下 PingCAP,配套博客、教程写的非常非常好!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值