讲真,Redis可以用来做数据库吗?

 
许多时候,这些提问都很有难度,解答需要花费一番心思 。但或许是因为隔行如隔山的原因,有些时候你就会遇到比较有意思的问题,比如下面这个——

讲真,Redis可以用来做数据库吗?

文章插图
这个话题本来不需要特别的纠结,答案肯定是“可以” 。但是基于性能因素,许多程序员、工程师们从不同的角度给出了五花八门的回答,其内容包括但是不限于“数据突然暴增、数据架构迁移困难”、“海量数据备份不靠谱”、“使用场景有限”、“内存占用率太高”……总结起来就是一句话——用户对于大流量场景下,redis能否满足瞬时峰值压力没有信心 。
那么,Redis内存数据库就无解了吗?其实并非如此 。
为什么我们需要Redis内存数据库
【讲真,Redis可以用来做数据库吗?】如今我们处在数字化的时代,我们的一举一动、一言一行都可以变成数字化的语言 。而在我们借助于数字化的手段、借助大数据构建精准的用户画像,进而推送用户感兴趣的增值业务,就需要一款性能强劲、扩展性强的数据库模型,也就是我们今天要讨论的主角——Redis 。
讲真,Redis可以用来做数据库吗?

文章插图
Redis是一个支持持久化的内存数据库,可以提供5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上 。除此之外,通过复制、持久化和客户端分片等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统 。
也就是说,Redis基于内存进行数据存取的机制,能提供比固态盘更高的数据吞吐带宽和更低的数据处理延时,使得数据处理的速度得到大幅度提升 。但是“代价”也显而易见,那就是Redis对于内存容量的依赖 。DRAM内存的单条容量限制,以及DRAM内存价格的上涨,令单节点大容量内存配置的实现非常困难,也让Redis的应用成本先天就居高难下 。
这也就出现了我们文章开头提到的问题——业界很认可Redis内存数据库的优势,但是在巨大的成本特别是互联网瞬息万变的峰值流量冲击下,如何保证Redis内存数据库的稳定运行、如何能够满足任意时刻的压力需求,就成为摆在数据库管理者和运维人员面前的关键问题:必须要到一款价格适中、性能强大、瞬时响应、可靠稳定的设备来承担流量压力的重任 。而所有上述的用户痛点都指向了一款产品——英特尔傲腾持久内存 。
它来了,它来了,它带着神器走来了
英特尔傲腾持久内存,原名叫做“英特尔傲腾数据中心级持久内存”,英文叫做Optane DC Persistent Memory 。在英特尔定义的存储家族中,它是当之无愧的性能王者,也是系统中仅次于CPU缓存、内存的高性能存在 。
讲真,Redis可以用来做数据库吗?

文章插图
这张图可以更好的体现英特尔傲腾持久内存在家族中的地位 。我们看到在这座“金字塔”中,蓝色部分是内存与存储的相关内容,而其中最上层的就是英特尔傲腾持久内存,它的主要作用就是替代内存,提升系统性能——在传统 DRAM 和块存储(固态盘和旋转型磁盘)之间提供了一个大容量持久内存层,以较高的性价比提供出色的性能 。
讲真,Redis可以用来做数据库吗?

文章插图


    推荐阅读