键值数据库虽小,Redis却能雄踞数据库排行前十
共 5891字,需浏览 12分钟
·
2021-09-04 08:23
键值数据库可以说是最简单的数据库了,只能存储成对的键和值,并在知道键时检索值。
这样简单的数据库通常不足以满足复杂的应用。但正是这样的简单性,使得键值数据库在某些应用情况下更具有吸引力。例如,资源效率高的键值数据库通常应用于嵌入式系统或高性能的流式应用中。
打开权威的数据库产品排行榜DB-Engines,你会发现,Redis长期稳居键值数据库的“老大”,并长期雄踞所有数据库产品前10 的位置。
8有中旬,Redis Labs突然宣布,将公司的名字修改为Redis,与键值数据库Redis同名。虽然Redis Labs是内存数据库Redis的主要贡献和赞助厂商,但是使用与内存数据库相同的名字,仍不免让人困惑。
其背后的商业意图是什么?会不会引发键值数据库甚至是内存数据库市场的变革呢?
#1
键值数据库依然广受欢迎
1)键值数据库是最常用的内存数据库,市场增长迅速。
亚马逊云计算是键值数据库最早的发明者。键值数据库起源于Amazon开发的 Dynamo系统。
其有别于传统的关系型数据库,键值数据库是一种NoSQL数据库,使用一个哈希表,表中的Key(键)用来定位Value(值),即不能对Value进行索引和查询,只能通过Key 存储和检索具体的Value。
亚马逊云计算在其网站上,对键值数据库的定义是“是一种非关系数据库,它使用简单的键值方法来存储数据。”
当然键和值都可以是从简单对象到复杂复合对象的任何内容,可以存储任意类型的数据,包括整型、字符型、数组、对象等。
键值数据库是高度可分区的,并且允许以其他类型的数据库无法实现的规模进行水平扩展。
“全球内存数据库市场,将以19.65%的复合年增长率不断迅速发展。”分析机构Verified Market Research对内存数据库市场的发展进行肯定。
备受业界关注的Key-Value非关系数据库就是目前最好的内存数据库。Key-Value存储在缓存中,可以非常有效地减少读写磁盘的次数,带来了比SQL数据库存储更好的读写性能。当然,应用范围受限,适合不涉及过多数据关系业务关系的业务数据。
2)Redis是键值数据库的扛鼎之作。
虽然是最新的数据库类型,但是键值数据库阵营却非常庞大。从DB-Engines今年8月出炉的键值数据库排行榜的前20强可以看出,开源数据库Redis位居键值存储应用第一位。其应用指数远远超低第二名Amazon DynamoDB和第三名Microsoft Azure Cosmos DB。
DB-Engines 8月出炉的键值数据库排行榜的前20强
前三名在实现键值数据模型的基础上,也支持其他数据模型,如文本模型、图形模型、时间序列、搜索引擎等,已扩大数据库的应用范围。
作为键值数据库的“老大”, Redis逐渐变成了内存数据库的事实标准。在Stack Overflow的年度全球开发人员调查中,Redis连续5年被评为“最受欢迎的数据库”。
3)Redis背后的商业公司不断成长。
作为最受欢迎的开源数据库Redis最重要的贡献者和Redis Enterprise的提供商,Redis Labs在2020年8月25日完成1亿美元的F轮融资,公司估值因此超过10亿美元,终于成为一家以开源商业模式盈利的销售额超过10亿美元的独角兽公司。
DB-Engines公布的Redis、Amazon DynamoDB和、Microsoft Azure Cosmos DB近8年成长的趋势显示,Redis受到用户和市场极度宠爱。
Redis、Amazon DynamoDB和Microsoft Azure Cosmos DB成长趋势
几年前,人们对Redis还充满了怀疑。然而,时至今日,经过大量的实践应用,Redis简洁高效、安全稳定的特性已经深入人心;更新速度越来越快,功能也变得越来越多、越来越强大。
无论是国内还是国外,从五百强公司到小型初创公司都在使用Redis。Redis在缓存应用场景中拥有不可取代的地位,被广泛应用于数据缓存、游戏存储、分布式会话存储、实时分析和机器学习等场景。
专家认为,面对日益增长而又分散的数据,为了最大程度地利用和发掘这些数据的价值,Redis Labs提供了一个实时数据平台,利用该平台可以管理、处理、分析和做出预测,从而改善企业客户的体验并推动企业业务的发展。
#2
与云巨头合作
1)在开源运作上,Redis选择与云巨头合作。
在开源软件发展上,开源的商业公司历来是最大的利益受益者。当然,开发者、用户、开源发行版办、服务咨询公司等等都可以从开源软件中受益。
但是近年来,公有云服务商通过开源软件频频得利,直接威胁着开源软件商业公司的利益,迫使这些公司不得不通过改变许可协议来限制云服务商的利益。
目前来看,这种做法效果不太理想。
与此不同的另一路发展路径则是与云服务商合作,放长线,钓大鱼。成功者包括数据仓库软件SnowFlake,它将自己变成了数据云服务商,并成为云服务商的用户,通过提供PaaS平台和SaaS服务,扩大云服务商和自己的收益。
Databricks也选择了与云服务商合作之路,并找到了创建互惠互利的业务模型的方法。
Redis在发展上也坚持与云服务商合作,共同发展。主要原因可能在于两个原因:一是键值数据库太小了,必须通过与云服务商合作,共同发展;二是Redis实例太小了,不足以对抗那么多云巨头。
2)无法击败云服务商,那就加入他们。
2020年,Redis Labs与Microsoft Azure签署战略联盟协议,以使Redis Enterprise成为Azure Redis Cache的顶级层,并在Private Preview中启动它。
随着Redis Enterprise Cloud作为本地服务于2019年10月在Google Cloud上可用,该服务在短短两个季度内就增长了300%以上。这表明,Redis Labs与谷歌云合作不断深入。
Redis通过Amazon Web Services合作伙伴网络获得高级技术合作伙伴地位。亚马逊相继推出Amazon ElastiCache for Redis全托管内存缓存服务,以及一款同样是兼容于Redis的内存数据库服务Amazon MemoryDB for Redis,供开发者构建需要微秒读取,以及个位数毫秒写入性能,且具有资料持久性和高可用性的应用程序。
阿里云 Redis从2015年商用以来,其一直更新云KV内存数据库产品,同时拥有众多顶级Redis社区Commiter和中文社区组织者,为社区做出了大量卓越的贡献,是国内最强大的Redis团队。在全新版本Redis 6.0发布不到一周时间,阿里云Redis 6.0云数据库就全球首发(除原厂外),全面涵盖开源Redis 6.0的多项重大更新。
腾讯云在Redis云数据库领域的耕耘已经长达8年。在此期间,有效支持了腾讯大量优秀业务比如腾讯QQ、QQ空间等业务的稳定运行。其中,在消费队列的应用场景中,腾讯云Redis单集群日请求量超过2万亿次,峰值请求超过17亿次/分钟,创造了一系列的性能记录。
3)云服务商的商用键值数据库也不断涌现。
亚马逊自研键值数据库产品也不断发展,如Amazon DynamoDB 是一种非关系数据库,可在任何规模提供可靠的性能。它是一种完全托管的多区域、多主表数据库,可实现不到 10 毫秒的一致延迟,并提供内置的安全性、备份和还原以及内存中的缓存。
在 DynamoDB 中,项目包括一个主键或复合键,以及数量不限的属性。与单个项目相关联的属性数量没有明确限制,但项目的总大小(包括所有属性名称和属性值)不得超过 400KB。表是数据项的集合,就好比关系数据库中的表是行的集合。每个表具有无限数量的数据项。
在 Build 2021 上,微软宣布了Microsoft Azure Cosmos DB的多项新更新,这是一个从头到端构建的云数据库服务,为行星级云服务和数据密集型应用程序提供动力。微软宣布面向所有 API(Core、MongoDB、Cassandra、Gremlin 和 Table)全面推出 Azure Cosmos DB无服务器应用。
阿里云也推出的云原生内存数据库Tair,源自阿里巴巴集团重点打造的自研Key-Value数据库,这是一个完全兼容Redis协议的内存数据库。
Tair全新定位企业级云原生内存数据库,全面覆盖客户不同业务阶段对于Redis性能、功能与成本的更高要求。目前已经发展到了Tair 3.0。
2020年10月28日,阿里云正式发布云原生内存数据库Tair企业级Redis服务,该系列包含两种产品形态:持久内存型和容量存储型。这是Tair系列继性能增强型和混合存储型后又一力作。
#3
开源依然占据键值数据库的主流
虽然云服务商通过与Redis合作受益,同时云服务商也推出自研发键值数据库产品,但是开源依然是键值数据库发展的主流。
1)开源Redis发行版越走越强。
在与云服务商合作的同时,Redis Labs依然牢牢掌握着Redis的发展方向,新技术、新产量不断推出。
Redis的商业版本提供了许多增强功能,包括一组扩展的数据模型,包括 JSON、AI、图形和时间系列、更强大的搜索和可编程引擎。
商业版不断扩大自身优势,如:
一是响应快速。Redis每秒可以执行大约11万个写入操作,或者8.1万个读操作,其速度远超数据库。
二支持 6 种数据类型,包括字符串、哈希结构、列表、集合、可排序集合和基数。这使得开发者在应用中很容易根据自己的需要,选择存储的数据类型。
三是推出更多新产品,如推出了RedisAI和RedisGears,RedisAI用于以Redis的速度来推断人工智能请求,RedisGears是一种可编程引擎,可以在任何分布式Redis部署中以毫秒级的速度处理数据。
推出宣布RedisRaft,带来了强大的一致性,使其适合服务于地球上最关键的业务应用程序。
Redis Enterprise专为云原生世界而设计,可在混合、多云和全球应用程序中统一数据,以最大程度地发挥业务潜力。
Redis Labs目前拥有7500多个客户,包括万事达卡、戴尔、Fiserv、家得宝、微软、好市多、Gap和Groupon等。
2)基于云的开源键值数据库占据市场的主流。
键值数据库按不同的标准,可以划分为不同的类型。如按照部署方面来看,基于云的键值数据库占据更多的市场份额,而本地部署键值数据库市场份额微乎其微。
如果按照源代码的开放与封闭来划分,相关报告认为,开源的键值数据库产品占比72.2%的市场,商业化版本的键值数据库市场不到28%。
与其他类型的NoSQL数据库相比,Wide Cloumn数据库开源占比81.8%,时序数据库开源占比80.7%,文档存储开源占比80.0%,开源数据库市场占比都高于键值数据库。
开源键值数据库市场占比高于图数据库和搜索引擎。而图数据库开源占比68.4%,搜索引擎开源占比65.3%。
#4
改名背后的键值数据库走向
1)改名的意图初步显现。
对于公司改名,Redis官方强调公司名称变更不会对Redis产品生产影响,承诺了三个不变:
一是Redis的授权、管理和控制方式没有改变,Redis将会继续使用BSD授权;
二是2020年更新的治理模式,也会继续维持。
三是对于合作伙伴也不会有任何影响。
官方希望借由名称更改,让客户更直接了解Redis产品和合作伙伴的产品,有助于Redis发展与增长。
Redis公司认为,网站会使用新的标志,合约上也会使用新的名称。开源项目会继续使用redis.io,公司的网站则会改用redis.com。
那么,Redis公司改名的真正意图是什么呢?
专家认为,最主要的原因是“Redis 项目放弃之前的专制管理模式,转而采用新的‘社区自治模式’。”
Redis Labs在2011年成立之后,便开始贡献Redis项目,当时Redis项目创建不到2年。2015年,Redis创建者Salvatore Sanfilippo加入Redis Labs,成为主要项目贡献者。虽然Salvatore Sanfilippo在2020年不再专注维护Redis,但是仍是Redis Labs咨询委员会成员之一。
“像 Redis 这样的系统开源软件需要强大的支持才能发展。挑战一直是如何在不损害项目开放性的情况下发展业务。Redis Labs几年来已经证明能够做到这一点,在创建强大的业务的同时,仍然提供高效、透明治理的开放平台。”Sanfilippo 说。
“在我从研发领导层卸任后,他们改进了开发流程,让新的核心团队更加开放,并继续为世界各地的许多开发人员和公司提供开放平台。我相信这家公司配得上 Redis这个称号。”
据悉,在新的治理模式下,负责开源工作的核心团队在今年3月顺利发布了Redis 6.2,超过35名社区成员对此作出了贡献。Redis OSS社区创建的PR数同比增长56%,关闭的PR 数同比增长156%。Redis项目Git作者也同比增长了86%。
Redis Labs多年来,其商业模式是以Redis为基础,开发模块扩展功能集,提供企业级服务,在去年开发了RedisRaft,将于Redis 7.0发布的时候一起发布,使得Redis可成为强一致性数据库。
2)多模型支持成为发展趋向。
对于未来的发展趋势,Redis会加大商业模式创新,在推出商业版本上加快速度;云服务商在加大对开源的贡献意外,也加大其发行版和自有产品的研发力度。这中双重发展趋向,增强了键值数据库发展的动力。
在技术上,数据库在支持键值模型以外,会增加对多种数据模型的支持。这一趋势会在开源数据库的发行版和商业版上不断增强。
在键值数据库甚至内存数据库市场,商业公司的产品会日益增多,但会受到开源产品的冲击,目前发展前景还不明朗。
中国软件网认为,键值数据库身形虽小,但是肝胆具存,其影响不容小觑,增长也非常惊人,国产数据库企业完全可以积极布局,以免将来被卡脖子。
CDEC2021深圳站 扫码参会
9月9日不见不散