You are currently viewing <strong>来自Redis7.2的一封信:亲爱的Programmer,当你……</strong>

来自Redis7.2的一封信:亲爱的Programmer,当你……

一、Redis 7.2 简介

Redis 7.2 是最具有深远影响的版本。它包含了一系列广泛的新特性,并在支持人工智能计划的功能方面进行了重大投入。在所有这些增强的功能中,一个明显的主题贯穿其中:让开发人员更轻松地使用 Redis,让 Redis 运行得更快,让创新成果更轻松地实现。

 

不止是懂你的需求,我们有足够的创新能力满足你的需求:

我们曾有一家大型金融服务客户。该公司在 Redis 上专门运行多个机器学习(Machine Learning, ML)工作负载,数据量达到数百TB,可实现 99.999%的可用性。企业正在寻找一种经过验证的、企业级的向量数据库,其应当具有 Active-Active 地理分布、多租户、基于标签的混合搜索、基于角色的访问、嵌入式对象(如 JSON)、文本搜索功能和索引别名等能力。我们在 Redis Enterprise 上内置了所有这些功能,并通过了实战验证

二、Redis7.2,令人工智能领域的创新更易实现

大语言模型(Large Language Model, LLM)和生成式人工智能的广泛应用,正以惊人的速度改变计算机软件行业,而Redis一直在努力提供功能使这些应用变得更轻松。我们一直在为全球顶尖客户(包括 OpenAI)提供支持,并致力于实现机器学习(ML)无缝且易用的体验,特别是现在的向量数据库领域。

 

Redis通过多种策略支持其数据库服务中的生成式AI工作任务,旨在提高效率、降低成本、增强可扩展性和性能Redis 的矢量数据库支持两种矢量索引类型: FLAT(暴力搜索)和 HNSW(近似搜索),以及三种常用的距离度量: 余弦距离、内积距离和欧氏距离。其他功能还包括范围查询、混合搜索(结合过滤器和语义搜索)、JSON 对象支持等。

有人问,Redis是如何帮助构建和部署 LLM 支持的应用程序的?

  • 检索增强生成(Retrieval Augmented GenerationRAG):在RAG 框架中,响应是使用预先训练好的 LLM 和客户自己的数据生成的。许多企业希望利用生成式人工智能的强大能力,而不是构建自己的模型或对现有模型进行微调。此外,他们也不愿意与商业 LLM共享自己的私有数据,而这正是 Redis Enterprise 发挥作用的地方。作为一个矢量数据库,它具有强大的混合语义搜索功能,可精确定位相关数据。此外,它还可以部署为外部的特定领域知识库。这确保了通用型LLM获得最相关和最新的上下文信息,从而提高结果质量。
  • LLM 语义缓存:Redis Enterprise 常被用作可扩展的缓存,用于存储以前回答过的用户问题和结果。Redis 还使用语义缓存来识别和检索与输入问题语义足够相似的缓存响应,从而显著提高缓存命中率。这大大减少了发送到 LLM 服务的请求和令牌数量,从而通过缩短生成响应的时间来提高性能并降低成本。
  • 推荐系统:LLM 可作为复杂的电子商务虚拟购物助手的支撑。Redis Enterprise 的上下文理解和语义搜索功能使应用程序能够理解客户的问题,提供个性化的产品推荐,甚至模拟实时对话交互。
  • 文档搜索:在企业需要分析大量文件的情况下,由 LLM 驱动的应用程序可作为强大的文件发现和检索工具。Redis Enterprise 的混合语义搜索功能使其能够精确定位相关信息,并从这些文档中生成新内容。

 

Redis已与最流行的应用程序开发框架集成,用于创建由LLM驱动的聊天机器人、代理和流水线。其中包括 LlamaIndex、Langchain、RelevanceAI、DocArray、MantiumAI 和 ChatGPT retrieval plugin。 此外,Redis还与英伟达在一些领先的人工智能项目上开展了密切合作,如英伟达™(NVIDIA®)的 AI 工作流(Merlin 和 Morpheus)、工具(Triton 和 RAPIDS),以及英伟达™(NVIDIA®)正在开发中的为提供更高的每秒查询次数(QPS)的先进索引技术 RAPIDS RAFT。

这些案例需要高性能搜索能力。在 Redis Enterprise 7.2 中,我们推出了可扩展搜索功能的预览版。它允许在集群间以最佳的分布式处理方式,运行高 QPS、低延迟的工作任务。与以前的 Redis Enterprise 搜索和查询引擎相比,它可将查询吞吐量提高达 16 倍

三、Redis拥有的开发者生态

在上百个社区开发的客户端库中哪个库支持最新的 Redis 功能?安全和性能水平如何?

随着Redis 7.2的发布,我们为Redis客户端带来了全新的指导和支持。我们与五个客户端库的社区维护者直接合作——Jedis(Java)、node-redis(NodeJS)、redis-py(Python)、NRedisStack(.Net)和Go-Redis(Go),以求在文档、用户界面、管理和安全性等方面保持一致性。我们还在Redis Stack 和 Redis Enterprise(云和软件)中支持 RESP3 协议。

四、Redis 对开发者而言将会是更强大的工具

1、更高水平的可编程性

在此版本中,我们还将实时数据的可编程性提升到了一个新的水平。触发器和函数的公开预览版带来了服务器端事件驱动引擎,以支持在数据库中执行 Typescript/JavaScript 代码。这项功能让开发人员可以直接在 Redis 上执行复杂的数据操作,确保在任何客户端应用程序中执行的一致性。

触发器和函数支持集群级别的跨分片读操作。这一功能在前几代 Redis 可编程引擎(如 Lua 和函数)中是不具备的。

触发器和函数的公开预览版

2、改进后的地理空间功能

地理空间功能也得到了改进。我们改进了 Redis Stack 中的多边形搜索,以方便搜索地理空间数据,查找地理区域内的信息。

例如,在一个查找墨西哥餐厅的应用程序中,地理空间信息是旧金山所有餐厅的索引位置数据。用户在数字地图上画出的多边形就是搜索的地理区域。Redis 只检索与所画多边形边界内餐馆相关的键。

应用多边形搜索查找墨西哥餐厅

3、Redis Sorted Set的性能:从30% 到 100%

我们还大幅提高了 Redis Sorted Set 这一数据结构的性能,这种数据结构通常用于创建游戏排行榜或其他用途。与 Redis Enterprise Cloud 6.2 相比,我们的改进能够获得30% 到 100% 的性能提升。

Redis Cloud 6.2 VS Redis Cloud 7.2

五、Redis 能更轻松地与企业工具和基础设施集成

您现在可以使用 Redis 数据集成(RDI)工具。RDI 是一种可直接在 Redis Enterprise 上运行,并毫不费力地将任何数据集转换为 Redis 数据集的工具。数据集成(RDI)将源数据库中的更改直接流式传输到 Redis,并在其中进一步过滤、转换映射为 JSON 或 Hash 等格式。我们捕捉到了最常见的使用案例,并通过一个带有配置而非代码的界面提供给用户。

RDI 可以从各种来源(如 Oracle、Postgres 或 Cassandra)获取数据,并在功能上将其转化为实时数据。同样,当数据不再 “实时 “时,RDI 在无需添加更多代码和执行复杂集成的情况下,将 Redis Enterprise 中的下游变更同步到原有的数据记录系统中。

Redis 数据集成

六、拓展变得更经济、更容易

1、自动分层

并非每种情况下都需要您的应用程序以最高速度运行。在 Redis Enterprise 7.2 中,我们引入了自动分层(Auto Tiering以前称为 Redis on Flash)和新的默认存储引擎 Speedb。自动分层允许操作员使用固态硬盘(SSD)对Redis 数据库进行扩容,以突破物理 DRAM 的容量限制。这对于具有大型数据集的应用而言非常有意义,在这些应用中,频繁使用的数据保留在内存中,而使用频率较低的数据则保留在固态硬盘中,Redis Enterprise 可根据使用情况自动管理内存。

如此一来,数据存储变得更加容易、更加经济。自动分层在吞吐量和延迟方面实现了显著的性能提升吞吐量翻了一番,同时延迟只有上一代存储引擎(RocksDB)的一半,且硬件设施的成本最多可降低高达 70%

2、集群管理器(Cluster Manager,CM)用户界面

更新后的集群管理器(CM)用户界面可以提高日常管理工作的效率,其直观的界面具有与 Redis Enterprise Cloud 相同的功能,并且可减少学习曲线,最大限度地减少失误。通过使用新的 CM,只需简单点击两下鼠标,就能部署一个新的 Redis Enterprise 数据库。

集群管理器(CM)

3、容器化应用程序的操作员的福音

另一个好消息肯定会让容器化应用程序的操作员感到高兴,那就是支持 Active-Active 数据库部署的 Kubernetes Redis Enterprise Operator 已经全面上市。只需在 YAML 文件中写下几行声明,就能简化一些费时费力的任务,如创建地理分布式数据库,从 Active-Active 数据库中移除、添加和更新参与集群等。

七、你要的自由:Unified Redis Release

许多开发人员喜欢在云端的 Redis 服务上进行构建,而不是将其下载到自己的机器上。我们还从许多客户那里了解到,他们在混合使用 Redis OSS、Redis Stack 和 Redis Enterprise 实例时,在处理这些具备不同发布日期的不同实例的新版本时,会颇具挑战。

Redis 7.2 是我们的首个统一 Redis 版本(Unified Redis Release),现已全面发布。我们将使开发人员更容易在不同的 Redis 发行版之间构建和移植代码。这对希望简化 Redis 足迹控制的运营商而言,是一大福音。架构师们也将享受到将其他数据存储与 Redis 集成所带来的自由。

Redis企业云

Redis企业软件