本文分享自华为云社区《选择KV数据库最重要的是什么?》,作者:GaussDB数据库。经常有客户提到KV数据库,但却偏偏“不要Redis”。比如有个做安全威胁分析平台的客户,他们明确表示自己对可靠性要求非常高,需要的不是开源Redis这种内存缓存库,而是KV数据库。虽然最后我也没问清楚他们业务存啥(推测是这块业务数据比较机密),但确实业务本身对可靠性要求非常高,开源Redis自身的可靠性无法满足他们的要求,最终该用户选择使用GaussDB(forRedis)数据库,当前数据量已经是2TB规模,一直稳定运行中。真正的KV数据库,业界有好几项开源的项目,云厂商也纷纷推出自家产品,比如华为云Gauss
市面上开源kv轮子一大堆,架构上都是rocksdb做单机引擎,上层封装proxy,对外支持redis协议,或者根据具体业务逻辑定制数据类型,有面向表格table的,有做成列式存储的。国内公司大部分都有自己的轮子,开发完一代目拿到KPI走人,二代目继续填坑,三四代沦为边缘。即使开源也很难有持续的动力去维护,比如本文要分享的 美图titan[1],很多优化的 proposals[2] 都没实现,但是做为学习项目值得研究,万一哪天二次开发呢?整体架构Titan代码1.7W行,纯go语言实现。server层只负责处理用户请求,将redis数据结构映射成rocskdbkey/value,底层使用tikv
市面上开源kv轮子一大堆,架构上都是rocksdb做单机引擎,上层封装proxy,对外支持redis协议,或者根据具体业务逻辑定制数据类型,有面向表格table的,有做成列式存储的。国内公司大部分都有自己的轮子,开发完一代目拿到KPI走人,二代目继续填坑,三四代沦为边缘。即使开源也很难有持续的动力去维护,比如本文要分享的 美图titan[1],很多优化的 proposals[2] 都没实现,但是做为学习项目值得研究,万一哪天二次开发呢?整体架构Titan代码1.7W行,纯go语言实现。server层只负责处理用户请求,将redis数据结构映射成rocskdbkey/value,底层使用tikv
RedKV是小红书自研的一款基于NVMeSSD的分布式NoSQLKV存储系统,支持无中心和有中心的两种管控架构,旨在解决公司内实时落盘的KV存储需求。RedKV1.0基于Gossip协议做节点管理,在全公司已经大规模使用,实时QPS接近1亿/秒,存储量在数PB级别。RedKV2.0采用中心Shard管理架构,支持全球多云多副本在线弹性伸缩,异地容灾和服务秒级切换。通过分层优化,RedKV对比开源同类产品,聚合写吞吐能力平均提升3倍,读1.5倍;对标HBase,成本优化近40%。RedKV部分兼容Redis协议,string/hash/zset等主要数据类型很好的的支持了公司的绝大部分在线存储业
RedKV是小红书自研的一款基于NVMeSSD的分布式NoSQLKV存储系统,支持无中心和有中心的两种管控架构,旨在解决公司内实时落盘的KV存储需求。RedKV1.0基于Gossip协议做节点管理,在全公司已经大规模使用,实时QPS接近1亿/秒,存储量在数PB级别。RedKV2.0采用中心Shard管理架构,支持全球多云多副本在线弹性伸缩,异地容灾和服务秒级切换。通过分层优化,RedKV对比开源同类产品,聚合写吞吐能力平均提升3倍,读1.5倍;对标HBase,成本优化近40%。RedKV部分兼容Redis协议,string/hash/zset等主要数据类型很好的的支持了公司的绝大部分在线存储业