点 快速的未来即将来到你所在城市的活动。

加入我们在 Redis Released

Redis MySQL:MySQL 数据库需要 Redis 的 3 个原因

您的应用程序 MySQL 是否发挥了最大潜力?不太理想,对吧?探索 Redis Enterprise 的三种方法,以帮助您在 MySQL 中克服常见障碍——对代码更改的影响最小化,并且完全不会中断您的应用程序。想要更深入了解 Redis Enterprise 如何以缓存或主数据库的形式提供帮助?点击下方阅读我们专门的 MySQL 解决方案简报。

下载使用 Redis Enterprise 实现 MySQL 数据库现代化


MySQL 是一个非常棒的免费开源数据库解决方案,直到……它不再适用。刚开始时,产品和服务最终会遇到性能、扩展性和在 MySQL 的严格基于 SQL 的环境之外进行创新的问题十分常见。为了满足当今用户的期望,您的 MySQL 需要实时性能、持续的可扩展性,以及对超出开箱即用功能的 MySQL 使用案例的支持。

Redis Enterprise 领先的实时数据平台可以与 MySQL 一起使用,将数据库存储在内存中,以极大地减轻与 MySQL 相关的挑战:速度、可扩展性和 数据类型 不灵活。通过实现现代用例所需的 亚毫秒性能 来增强和延长 MySQL 的使用寿命。

Redis Enterprise 可以与您的 MySQL 数据库 一起使用,将应用程序中最重要的和最常用的数据存储在内存中,以亚毫秒的速度传递数据。让我们更加详细地探讨一下方法。

MySQL 速度——转型

好吧,看看,MySQL 的速度还算不错……对于关系型数据库来说。但这对于需要亚毫秒速度的实时用例来说并不是什么优势。是的,MySQL 查询缓存是 MySQL 环境中可用的内存选项,但您必须主动设置此功能并对其进行维护。您还只能使用相同的数据类型和 SQL 语句执行。此 缓存解决方案 中缺少数据类型将您可以实现的 缓存用例 类型限制在一个非常小的范围内。

另外,您必须在缓存内继续处理 SQL 语句,这意味着您会不断地更改变量并优化 SQL 语句,以增加这些查询的响应时间。至少可以说,这是一个非常实际的缓存解决方案!MySQL 缓存除外,MySQL 对于辅助索引的性能非常糟糕,因为它通常包括扫描列和列的组合,这对于快速查询响应非常低效。

那些讨厌的辅助索引查询怎么办?您可以使用 Redis Enterprise 卸载它们,加快应用程序的响应速度,并消除 MySQL 数据库的部分扩展问题,同时还可以降低成本!

说到扩展问题,让我们深入了解一下 MySQL 中您将遇到的扩展问题以及如何解决这些问题。

https://www.youtube.com/embed/FQzlq91g7mg

MySQL 扩展 – 优化

MySQL 性能调优之所以是一个热门话题,是有原因的。迟早,MySQL 数据库中的大量数据将对性能和可用性产生影响。在高效扩展 MySQL 时,需要考虑许多变量,从硬件到软件调优。 

从硬件角度来看,需要持续监控并针对您的 HDD 或 SSD、处理器(升级费用非常高)、内存(用于缓存的 RAM)和网络流量进行适当调整。 

关于软件,MySQL 性能和可扩展性问题对您正在运行的 MySQL 版本很敏感。强烈建议确保您拥有最新版本。在此基础上,接下来就是优化 SQL 查询。MySQL 中的可扩展性无法处理针对大量数据运行复杂查询。

这些复杂查询可以卸载到 Redis Enterprise,它在处理速度方面快很多,从而减少您在 MySQL 中所需的资源数量。与 MySQL 数据库并用 Redis Enterprise,可以仅在需要时运行消耗资源的 MySQL 查询(同时添加实时速度)。大多数查询由内存中的 Redis Enterprise 处理,从而释放 MySQL 数据库的容量,以便其发挥其优势。问题出在 MySQL 构建的解决方案中,做了一些它原本不打算做的事情!

MySQL 用例 – 现代化

MySQL 没有满足现代应用程序多样化数据需求,比如可以快速轻松地部署到世界任何地方的各种数据类型和数据模型。 

通过支持现代化应用程序核心必需品的多样化数据类型和数据模型,发挥 MySQL 数据的全部潜力。例如,使用 Redis Enterprise 构建实时搜索引擎。Redis Enterprise 具有可与 MySQL 数据库配合使用的内置实时搜索引擎,可极大地加快复杂查询的速度。减少向客户和服务返回 MySQL 数据所需的时间,并且卸载那些开销大、复杂的查询。这仅仅是个开始;还有许多其他 Redis Enterprise 本机支持的数据类型和数据模型,所以您可以在一个平台上组合您的所有实时需求,而不仅限于 MySQL

MySQL 云又如何呢?Redis Enterprise 可以部署在云供应商版本的 MySQL 上,例如 Amazon RDS、Google Cloud 上的 Cloud SQL for MySQL 或 Azure MySQL。这些供应商几乎没有提供 MySQL 最高性能的版本 MySQL HeatWave。Redis Enterprise 是云中最好的托管服务、内存解决方案。让系统管理员不再受硬件、软件版本等各种因素影响。

Redis 作为“交互系统”

为了避免瓶颈出现在应用程序、数据库或网络层,很多开发者将 Redis 用于以下场景

  • 缓存:这提供了一个分层内存访问模型,应用程序在 Redis 中存储常见的、重复读取的对象。缓存能帮助应用程序快速检索数据并减少数据库服务器上的负载。
  • 会话存储:在所有交互式应用程序中,服务器为每个活跃用户维护一个会话。而不是依靠 MySQL 等关系型数据库持久存储会话数据,一个采用足够大小服务器、有足够内存的 Redis 就能管理数千个、甚至数百万的会话。
  • 实时分析通过排行榜进行游戏化、信息面板、轮询、消息、计数器和其他实时聚合器需要持续地处理和与终端用户通信。Redis 强大且高效的数据结构让你能够实时为成千上万活跃用户收集、处理和消除非同步的活动或对象。
  • 计量:Redis 还能够帮助开发者在高峰使用期间以经济高效的方式管理遗留服务器上的负载,方法是在每隔几秒钟对应用程序执行的调用设置速率限制。

除了以上场景,Redis 可用作消息代理、数据结构存储和各种用例的临时数据存储。从本质上来说,Redis 让你的数据更快更贴近终端用户,同时更快地收集其数据。更进一步, Redis Enterprise 提供高可用性、内存复制、自动扩展和重新分片,以及面向分布式数据库的领先的基于 CRDT 的主动-主动支持和内置的 Redis 模块,例如搜索和查询、JSON 和概率。

立即加入实时吧

这应该是转换 MySQL 数据库的速度和可扩展性的良好开端,同时还能为应用程序添加实时性能。不仅仅是速度、可扩展性和附加用例,比如自动扩展企业集群和高可用性 5-9 秒的主动-主动地理分布(Active-Active Geo-Distribution),高频访问数据时使用上述模式又如何呢?所有这些都包含在Redis Enterprise SoftwareRedis Enterprise Cloud中。 

您可能提出的下一个问题是:“如何开始 MySQL 与 Redis Enterprise 整合?”我们也对此进行了介绍。CDC(变更数据捕获)可以让数据将您频繁访问的数据和 MySQL 中的复杂查询快速、轻松地移至 Redis Enterprise,而我们专门为此设计了一款 CDC 工具:Redis Connect。 

想了解更多信息?了解如何通过 Redis Enterprise 充分利用您的 MySQL 数据库。