Orca是基于PolarDB MySQL版开发的完全兼容Redis协议的持久化数据库。开启Orca功能后,PolarDB MySQL版集群不仅能够满足MySQL场景的需求,同时也能够提供NoSQL(Redis协议)的能力。
技术原理
传统的Key-Value数据库通常被设计为高度可扩展,例如开源产品Pika和Kvrocks等。然而,在实际部署过程中,仍然可能出现节点协调和运维管理等复杂性问题。为了解决这些痛点,PolarDB MySQL版推出了Orca功能,使您在购买一个PolarDB MySQL版集群后,该集群同时也可以作为一个Key-Value(Redis协议)的持久化数据库。MySQL的数据与Key-Value(Redis协议)的数据相互隔离。
基于PolarDB MySQL版架构,Orca引入了Redis协议的解析和请求处理框架。所有与Orca(Redis协议)相关的请求都将连接至独立的端口。下图展示了PolarDB MySQL版Orca的技术架构图:
核心优势
低成本
无需重复采购计算节点资源,通过高性能分布式存储满足大容量需求。
易用性
基于PolarDB MySQL版架构,通过物理复制,实现一写多读功能。同时,支持横向和纵向弹性扩缩Serverless,具备计算热备功能,可以有效节省运维开销。
兼容PolarDB MySQL版新型产品形态:全球数据库网络(GDN)等。使用GDN + Orca的形态,可以将业务部署在多个地域,通过GDN的跨地域低延迟同步、跨地域读写分离以及就近读取等特性,可确保各地域的应用程序在访问Orca时延迟小于2秒。
数据持久化与强一致
基于PolarDB MySQL版的存储引擎InnoDB实现,采用分布式存储PolarStore,确保数据不丢失。
基于PolarDB MySQL版的SCC技术,实现了RW/RO节点的读强一致性。
高性能
基于高性能的InnoDB引擎,借助于Blink-tree高性能索引结构和逻辑预读等功能,实现了在高并发写入与读取场景下显著的性能提升。
应用场景
Orca的定位是基于PolarDB MySQL版实现Redis协议的兼容,作为Redis应用场景的补充。您可以将Orca视为持久化的Key-Value数据库,通过分布式存储PolarStore所提供的超大存储空间能力(最高可达500 TB),有效解决成本和数据承载限制等问题,同时保持Redis的易用性。
游戏服务器核心数据库:游戏部署架构相对简单,主程序部署在ECS上,所有业务数据存储在Orca中。Orca作为持久化数据库,具备默认双AZ容灾,提供了快速备份、按时间点还原、高性能写入和只读节点扩展能力,满足游戏写入能力扩展的需求。
游戏排行榜:在游戏应用中,排行榜的实时更新和玩家状态的快速存取至关重要。Orca可以用来存储玩家得分和排名信息,利用Redis协议的有序集合(Sorted set)数据结构轻松实现排行榜功能。
广告推荐业务:在众多互联网广告业务场景中,广告系统需存储大量数据并处理高并发请求。Orca具备稳定的低延迟和低存储成本等特性,能够有效满足广告业务的投放需求。
Lua脚本执行引擎:在实际业务应用中,客户端通常需要将多个Redis命令组合为一个原子操作,以确保数据的一致性,例如在库存扣减、分布式锁以及限流等场景下。Orca兼容Redis协议的EVAL/EVALSHA命令,支持在服务端执行Lua脚本,将多个操作封装为原子事务,从而减少网络往返开销,同时确保操作的原子性。开启Orca功能后,即可获得Lua脚本的执行能力,无需额外的中间件支持。
轻量级消息队列:在某些业务场景中,应用程序需要一个可靠的消息队列,以实现异步任务处理、事件通知或服务间解耦。Orca兼容Redis协议的List数据结构,通过LPUSH/BRPOP等命令自然支持消息队列的生产-消费模型。您只需购买一个PolarDB MySQL版集群并开启Orca功能,即可满足轻量级消息队列的业务需求,无需额外部署和维护独立的消息中间件,从而有效降低架构复杂性和运维成本。同时,基于PolarDB MySQL版的数据持久化和高可用性,确保消息数据的安全性。
适用范围
您的PolarDB MySQL版集群版本需满足以下条件之一:
MySQL 8.0.1,且内核小版本需为8.0.1.1.53及以上。
MySQL 8.0.2,且内核小版本需为8.0.2.2.24及以上。
费用说明
Orca功能可免费使用,不额外收取计算节点费用,仅收取Orca数据部分的存储费用。具体费用信息,请参见计算节点计费规则和存储空间计费规则。
注意事项
Orca功能不支持免密访问,您需要创建Orca账号。
启用Orca功能后,Orca将会复用整个PolarDB MySQL版集群的CPU和内存资源,因此Orca的业务将增加整个集群的负载。实际增加的CPU和内存开销将与您的业务相关。
启用Orca功能后,PolarDB MySQL版集群将自动创建名为
__orca_in_polardb_m_的Orca默认库。您无法对该库进行任何操作,也无法再创建同名数据库。
兼容性说明
Orca兼容Redis 7.0及以下版本的部分命令,同时支持RESP2/RESP3协议。目前仅支持单DB操作,暂时不支持跨DB命令(如MOVE等)。具体信息,请参见Redis协议兼容性说明。
使用说明
开启Orca:
在集群购买页开启Orca。
在集群详情页的区域中开启Orca。
创建Orca账号:在集群详情页的中创建Orca账号。更多信息,请参见创建Orca账号。
管理Orca连接地址与端口:在集群详情页的区域中查看Orca地址与端口。更多信息,请参见管理Orca连接地址。
连接Orca(Redis协议):您可以使用Redis客户端或应用程序连接Orca并使用。
说明支持通过使用数据管理DMS(Data Management)连接管理Orca功能。
查看Orca监控指标:在集群详情页的中可根据业务需求查看Orca监控指标信息。更多信息,请参见查看Orca监控指标。
(可选)数据迁移:支持通过使用数据传输服务(DTS)实现Orca数据迁移(DTS)。