Redis Enterprise 与 Redis 开源:为什么要切换?

Redis Enterprise 是一个强大的内存中NoSQL 数据库平台,由开发开源 Redis 的人员构建。它保持了 Redis 的简单性和高性能,同时增加了许多企业级的功能。

大规模的一流性能

在任何架构中,充分利用基础设施都是一项持续的挑战,尤其是随着核心密度的增加。Redis Enterprise 可帮助您充分利用当今的多核基础架构。Redis Enterprise 由独特的无共享集群架构提供支持,可提供无限的线性扩展不会在横向扩展架构中施加非线性开销。Redis Enterprise 通过在每个计算节点上的多个内核之间分配负载来充分利用您的基础架构。性能在多个级别上进行了优化,包括增强的连接管理、请求调度和高性能管道执行,以在所有数据类型和模型中提供无与伦比的亚毫秒级性能。自动重新分片和重新平衡可确保充分利用基础设施资源,同时提供卓越的应用程序性能和高规模。

具有 99.999% 正常运行时间的高可用性

未能及时从数据库故障中恢复可能会导致数据丢失和数百万次操作。Redis Enterprise 提供不间断的高可用性,对用户完全透明,具有无盘复制、即时故障检测以及跨机架、区域和地域的个位数秒级故障转移。即使在集群更改操作(例如向集群中添加新节点、升级软件、重新平衡和重新分片数据)期间,它也能提供高吞吐量和低延迟。这种高可用性技术的独特组合保证了主动-主动部署中的四个九 (99.99%) 正常运行时间和五个九 (99.999%)。

主动-主动地理分布

众所周知,需要以分布式方式部署应用程序,在任何给定时间在所有地理位置维护相同的数据集是非常具有挑战性的,尤其是对于像 Redis 这样的快速数据库。Redis Enterprise 为全球分布式数据库提供主动-主动部署,支持跨多个地理位置对同一数据集进行同时读写操作。Redis Enterprise 使用经过学术验证的无冲突复制数据类型 (CRDT) 技术,自动解决冲突写入,而无需更改应用程序使用 Redis 的方式。它提供本地延迟并为地理分布式应用程序启用防灾架构。

内置耐用性

许多用户认为 Redis 是一种非持久数据存储。其他人努力在保持 Redis 性能的同时实现有效的持久性。Redis Enterprise 是一个完全持久的数据库,在主分片和副本分片上提供多种持久性选项。我们增强的存储引擎即使在繁重的写入负载下也能确保高磁盘 IOPS 而不会 影响 Redis 性能。在云环境中,Redis Enterprise 将数据持久化到网络附加存储 (NAS),防止本地实例存储的短暂性,这使其成为云原生架构的理想选择。

对内存的智能分层访问(DRAM、SSD、持久内存)

高 DRAM 价格促使用户在 Redis 上部署小型工作负载,同时将较大的数据集保留在速度较慢但成本较低的存储上。这限制了应用程序的整体性能。Redis Enterprise 通过结合 DRAM、SSD(闪存)和持久内存(例如英特尔® 傲腾™ DC),为托管大型数据集提供了一种经济高效的解决方案。使用创新的分层方法,将经常访问的热数据放在内存中,将冷数据放在闪存或持久内存中,闪存上的 Redis提供类似于 DRAM 上的 Redis 的高性能,同时为您节省高达 70% 的基础架构成本。

备份、集群恢复和灾难恢复

云原生环境中发生重大中断的可能性越来越大,需要强大的备份、集群恢复和灾难恢复机制。Redis Enterprise 提供一整套这些功能,以防止数据丢失并允许在发生灾难时快速恢复。Redis Enterprise 允许您在所有数据库分片中及时且一致地创建备份。它通过从配置文件从头开始重建集群、维护相同的端点和数据库配置来实现快速的自动集群恢复。然后将备份文件直接传输到分片所在的集群节点,数据随后以最优化的方式并行加载。通过 Active-Active 部署实现即时灾难恢复,其中在任何给定时间允许读取和写入每个副本,并由学术证明的冲突解决机制(无冲突的复制数据类型,或CRDT)。

多层安全性和合规性

企业需要强大的安全性和合规性保护措施。Redis Enterprise 确保生产数据与管理访问隔离,并为基于角色的访问控制、身份验证、授权和加密(传输中的数据和静态数据)提供多层安全性。它可以保护您的部署免受 Redis 缓冲区溢出、实现 CPU 节流、阻止 Lua 脚本访问主机并防止其他漏洞以提高可靠性。Redis Enterprise 符合 SOC2 和 HIPAA 条件。Redis Enterprise 通过实施基于角色的访问控制 (RBAC) 层扩展了 Redis 6 的本机访问控制列表 (ACL),该层支持通过一组集中管理的用户角色控制对数据和命令的访问。RBAC 降低了安全审计期间的复杂性,并从整体上简化了用户管理。

灵活的部署选项(云、本地、混合)

企业正在采用多云和混合部署策略。Redis Enterprise 可以部署在任何云平台、本地以及多云或混合架构中。它还可以在 Kubernetes 上使用,也可以在 Tanzu Kubernetes Grid Integrated Edition (PKS)、Google Kubernetes Engine (GKE)和RedHat OpenShift等平台上作为本机服务使用。通过利用 Active-Active 技术,Redis Enterprise 允许组织将其应用程序顺利迁移到云或云之间,同时避免痛苦的中断过程。

具有专用引擎的多个数据模型

现代数据库有望提供多种数据建模选项。但是,它们中的大多数通过 API 适配来实现这一点,而无需更改底层引擎,这可能会影响跨多个数据模型处理请求时的性能和延迟。Redis Enterprise 扩展了 Redis 的功能,以支持单个数据库平台中的多种数据类型和模型,具有RediSearch、RedisJSON、RedisGraph、RedisTimeSeries、RedisBloom和RedisAI等模块. 每个模块都是从头开始设计的,具有优化的引擎和专门构建的数据结构,以提供一流的性能。Redis Enterprise 为多模型操作引入了独特的架构,包括(1)直接的模块间集成,可以执行图上的搜索等操作;(2) 跨模块和 Redis 核心的单个数据集副本,从而消除了存储多个数据副本的需要以及与 memcpy 操作相关的开销,以及 (3) RedisGears,一个支持同步(基于事务)和跨模块和 Redis 核心的异步(基于触发器)操作,具有亚毫秒级延迟。

Redis、RedisGears 的无服务器引擎

RedisGears 是 Redis 的无服务器引擎,它在 Redis 内部运行,更靠近您的数据所在的位置,并允许以完全可编程的方式,在亚毫秒内跨分片、节点、数据结构和数据模型进行任何集群范围的操作速度。通过使用 Python 以及很快的 Java、Scala 和其他 JVM 语言,您可以对 Gears 进行编程以 (1) 支持高级缓存用例,例如后写/直写;(2) 以可靠的方式控制事件驱动的处理;(3) 集群范围的实时数据分析和 (4) 协调人工智能服务。

自动化与支持

使用定义明确的 SLA 保持 Redis 正常运行是关键,尤其是在大批量生产环境中。Redis Enterprise 提供完全自动化的日常 Redis 数据库操作,包括重新分片、分片迁移和设置自动平衡触发器,而不会影响您的应用程序。此外,它还通过通知触发器提供对重要 Redis 指标(如吞吐量、性能和利用率)的深入可见性。开发 Redis Enterprise 的同一团队为您的所有问题提供全天候支持。