Redis想做的不仅仅是用于缓存

您所在的位置:网站首页 redis是用来干嘛的 Redis想做的不仅仅是用于缓存

Redis想做的不仅仅是用于缓存

2022-08-22 09:19| 来源: 网络整理| 查看: 265

  Redis希望以比最常见的用例(缓存)更多的方式为人所知。作为一个开放源码数据平台,Redis作为位于组织用于事务处理或内容服务的“真实”数据库之间的实时数据库,几乎无处不在。它是如此的普遍,由于它是一个紧凑的引擎,可以作为开放源代码使用,所以它常常似乎与木制品融为一体。难怪它在db引擎上的受欢迎程度排名第八。

  它还满足了一个常见的需求:通过减轻实时响应的负担,提供缓冲来缓冲后端事务或内容服务系统。自从web向事务处理开放,而现有的数据库平台根本无法处理internet规模的负载以来,这一直是迫切需要的。

  但是在使用Redis之前,内存中的数据存储缺乏持久、复制或管理模式的能力。这是私有内存数据网格(后来是开源缓存技术)的时代,这些数据网格临时存储为对象,并依赖于应用程序代码来管理事务状态。传统观点认为,能够处理事务的真实数据库无法伸缩,或者内存太昂贵。

  Redis想做的不仅仅是用于缓存

  Redis Labs是在其他赞助下成立的,在看到有关Redis如何扩展的证据之前,它最初有一个支持Memcached的业务。据首席技术官兼联合创始人伊夫塔克舒尔曼(Yiftach Shoolman)称,引起人们注意Redis扩张规模的是一个不雅网站。

  该公司转而支持Redis,如今Redis通过一种类似于核心的开放商业模式提供服务。Redis数据库是完全开源的,但是企业特性和Redis模块是单独授权的(更多内容见下文)。

  Redis Labs最初只通过云提供Redis,但后来又增加了一项内部服务。该产品名为Redis Enterprise,包含核心数据库和功能,如多集群支持、ACID事务、自动故障转移、存储层和安全特性。扩展核心Redis数据库是引入Redis模块的地方。由Redis实验室和社区开发的sdk混合而成,模块背后的指导思想是防止核心Redis数据库的范围蔓延,这是Redis创建者Salvatore Sanfilippo热衷的问题。模块通过添加sdk支持新的数据类型,如JSON、图形或时间序列数据,使Redis具有可扩展性;或搜索、神经网络处理、SQL查询或bloom筛选等功能。

  我们不能回避授权的问题。对于Redis Labs自己开发的模块,该公司去年也经历了一些奇怪的授权问题,最后才决定使用Redis Source Available License,该许可允许开发人员使用代码,但本质上阻止他们将代码货币化(是否存在真正的例外是令人困惑的部分)。我们渴望open core的清晰性,但那是另一回事了。

  Redis想做的不仅仅是用于缓存

  由于支持多种数据类型,模块将Redis从键值存储根扩展到多模型数据库。在某种程度上,该方法模仿Cosmos DB的方法,将数据存储在规范的存储引擎中,但以不同的视图显示。主要的区别在于,对于Cosmos DB,一旦您为数据集(如graph或兼容mongodb的JSON文档)提交了特定的API,那么您的数据只会在该模型中公开。

  但是,由于Redis将数据存储在内存中,或者具有新的数据分层功能(SSD或Intel Persistent memory, Optane),所以它没有这种限制。这是可能的,因为数据存储在内存中,数据视图可以动态公开。这与其他内存数据库(如SAP HANA)非常一致,出于同样的原因,SAP HANA可以消除持久化物化视图的需要。

  因此,这些功能允许时间序列数据与搜索引擎或SQL查询进行交互。协调这一点是Redis Enterprise的另一个特性,RedisGears是一个用于构建和编排实时数据管道的实用工具。在这种情况下,模型将使用Redis Streams来提供一个变更数据捕获提要,该提要可以实时地与这些数据类型进行交互。

  Redis想做的不仅仅是用于缓存

  这促使富有冒险精神的Redis客户超越缓存。在最近纽约举行的Redis开发者日会议上,Redis Labs展示了几个开箱即用的开发客户。最初使用Redis Enterprise进行缓存的Fiserv提供了一个教科书式的示例。几年前,使用无冲突复制数据类型(CRDT)引入了active-active(无主)双向复制,Fiserv希望利用新的多主功能来消除创建副本时手动复制过程的需要。这将为本地处理提供CRDT带来的“强最终一致性”的优势。当然总有并发症,一般来说,包括小事情,比如确保所有正确的端口开放,允许变化的恒流流之间的副本(这并不是自然而然的金融服务公司,它的默认安全模式倾向于关闭大多数港口)。

  随着扩展,Redis的人显然拓宽了他们的视野。他们提供的基准测试表明,Redis不再被认为是一个小数据库。对时间序列有了新的关注。

  不出意料,Redis更大的野心来自于其他平台,如亚马逊DynamoDB Accelerator (DAX)正在蚕食它的地盘。随着内存价格的下降,数据库添加内存选项变得越来越普遍。Redis正在展开它的翅膀,不仅通过支持更广泛的数据类型数组,而且还为更廉价的存储形式增加了分层。这是SAP HANA等其他内存数据库正在接受的现实。说到多功能,Redis也不孤单。它将自己与Apache Cassandra(具有可调一致性)和Google Cloud Spanner(强调一致性)进行比较。虽然我们不期望Redis成为一个通用事务数据库,但是我们可以预见到实时信封被扩展的用例。

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3