推荐 Todis 数据库,真正的云原生外存版 Redis 数据库:
云数据库,一般指的是 云原生数据库,而云原生数据库,不是把“数据库软件”搬到云上,变成所谓的 DBaaS 就可以了,必须能把“云”的优势发挥出来,“云”的优势在“云原生数据库”中如何体现,我们可以简单总结几点:
-
物美价廉,一手交钱,一手交货:我付完款,马上就得到这个 DB 服务,这一点,大家都能做到
-
数据存储, 弹性伸缩:按照实际使用量计费,就像 s3 对象存储一样,这一点,只有一些头部 DB 可以做到
-
计算资源,弹性伸缩:平时我的 QPS 是 1万,就按 1万收费,忽然某星出轨了,1 分钟内 QPS 变成了 10万,就按 10万收费,最重要的,这个时候你可千万不能崩,不能挂!这个,可比 弹性存储难多了,大家都只能努力去接近这个目标
-
服务状态,实时监测:虽说这个在后端工程师看来没啥技术含量,但是它对用户至关重要
-
业务迁移,数据迁移:对于用户,最好是一行代码都不用改,只需要改一点配置,点几下鼠标,所有都给迁移好了,如果是新业务,这一点可以无视
- 至于可靠性、稳定性、安全性……任何数据库都必须具备,跟是不是云原生,没啥关系
一个 DB,只要体现了这些特征,都可以叫“ 云原生”DB。
至于这些目标 DB 是怎么实现的,用户并不关心,大家只是会在求知欲和好奇心的驱使下,来关心下系统架构、实现方式、技术细节……
所以,是 Share Nothing,还是 Share Everything,对用户而言,没那么重要。
理想很美好,现实很骨感,局限到 Redis 服务, Todis 目前是最接近这个理想的云原生数据库,先看硬指标:
-
哪怕使用 2c16G 的实例规格,往里面写 100T 的数据(以 string 为例),都能保持 50~80MB/s(或 QPS 3万~5万)不降速(Topling 分布式 Compact,真正的弹性计算)
- 读数据,16G 内存能当 64G 用(Topling 可检索内存压缩),CPU 2核能当8核用
更多信息,可以参考:
如何评价 ToplingDB 的内嵌 Web?