https://mp.weixin.qq.com/s/K9KVJR5sW7bsYrF4_dUV5g
这篇文章从关键设计和内部实现来分析,希望对于想知道如何实现磁盘类型 Redis 及想熟悉 Kvorcks 设计和实现的人带来一些帮助。
1
gabon 2022-03-02 09:19:56 +08:00 via iPhone
在用,性能基本没有很大损失情况下成本降低了很多。
|
4
hulk OP @gabon cool, 如果没有加入 Kvrocks 社区交流群可以加我微信: hulkdev, 我拉你进群,现在超过 200 个人,只能邀请。
|
5
mekingname 2022-03-02 10:43:29 +08:00
请问 Kvrocks 在性能上,有跟 Redis 做过对比吗?有哪些优势哪些不足?
|
6
hulk OP @mekingname kvrocks 项目的 README 里面有一些 benchmark 数据,然后吞吐由于是多线程会比 Redis(包含 6.0 以上的多线程 IO)高,但读延时如果 miss cache 到磁盘肯定延时会比 Redis 高一些。本身是作为 Redis 的互补而不是替换,磁盘类型相比于 Redis, 单实例大小可以几百 G 同时成本基本是 Redis 1/10 以下。
|
7
zhengxiaowai 2022-03-02 11:33:33 +08:00
加微信了,看看能不能贡献几行代码 :-)
|
8
hulk OP @zhengxiaowai wow ,太期待了~
|
9
aper 2022-03-02 11:55:39 +08:00
和 Pika 比有什么优势呢?
|
10
hulk OP @aper 之前 GitHub Discussion 上由一个讨论: https://github.com/KvrocksLabs/kvrocks/discussions/319
整体上,对于大多数可能关注的是功能的差异。除此了上面的讨论之外我自己觉得最重要的几个点: * 社区是足够开放或者更加遵循开源准则,社区共识大于代码,尽量所有设计和讨论都在社区进行,包含 roadmap * 对于代码的态度,至少 Kvrocks 不管在 PR 合并再 Commit Log 都是很严谨的讨论和对待 * 明确的 roadmap, 社区要有明确的方向,而不是走一步看一步 |
11
linksNoFound 2022-03-02 14:13:59 +08:00
考虑过磁盘寿命的影响吗
|
12
hulk OP @linksNoFound Redis 也是一样,靠复制和集群分配来解决可用性问题
|
13
linksNoFound 2022-03-02 15:14:41 +08:00
@hulk 不,频繁读写状态下,固态集群会高速损失 PE 寿命,磁盘集群会影响磁头和盘片的寿命。redis 在内存常驻,内存是易失性闪存,和固态不一样,内存本身就是能承载高速读写的,对寿命影响很小。
|
14
hulk OP 嗯,其实我的意思是高可用不会依赖单机硬件,另外 Redis 数据全内存没问题,重启加载的 RDB/Aof 还是从磁盘恢复,所以也是同样的问题。
|
15
sampeng 2022-03-02 17:13:50 +08:00
这个思路挺好的。。其实 99%的业务不需要 redis 那么极端的性能优化。需要的,成本是吃不消的
|
16
hulk OP 嗯,是的。除了要求低延时的,中间还有很多高容量,但延时可以有一点妥协空间的场景。
|