本文介绍了PolarDB MySQL版的Orca功能。
简介
Orca是PolarDB MySQL版在NoSQL(Redis协议)场景下增加的功能。
PolarDB是一种基于存储计算分离架构的云原生数据库。利用共享存储(PolarStore)和物理复制技术,实现多计算节点共享同一份存储,从而实现了一写多读的能力。借助RDMA高速网络和最新的存储技术,PolarDB提供了丰富的云原生特性。为了满足客户在不同场景的性能需求,PolarDB在云原生环境下对存储引擎InnoDB进行了大量优化。通过引入独立的网络请求框架和任务处理框架,PolarDB MySQL版引入了Orca功能。购买一个PolarDB MySQL版集群后,既可以满足SQL场景的需求,也可以满足NoSQL(Redis协议)的需求。
技术原理
下图展示了PolarDB MySQL版Orca的技术架构图。
基于PolarDB原始架构,Orca引入了Redis协议的解析和请求处理框架。所有与Orca(Redis协议)相关的请求都将连接至新的端口。Orca的数据经过映射后写入InnoDB表中,并且集群间的同步基于物理复制的特性。
核心优势
低成本:通过降低成本,实现内部数据流通,无需重复购买计算节点资源。
易用性:
PolarDB采用一体化封箱技术,实现原生一写多读功能,同时支持横向和纵向弹性扩缩,具备计算热备功能,可以有效节省运维开销。
兼容PolarDB MySQL版新型产品形态:全球数据库(GDN)等。
数据强一致:
基于PolarDB的SCC技术,实现了RW/RO节点的读强一致性。
高性能
基于高性能的InnoDB引擎,如Blink-tree和逻辑预读等功能,实现了在高并发写入与读取场景下的重大性能提升。
基于共享存储(PolarStore)内置的弹性内存池(Elastic Memory Pool),实现了IO读取速度的大幅提升。
应用场景
Orca的定位是在PolarDB MySQL版的基础上兼容Redis协议,以简化开发流程,使您能够使用兼容Redis协议的数据库。
游戏服务器核心数据库:游戏部署架构相对简单,主程序部署在ECS上,所有业务数据存储在Orca中,PolarDB作为持久化数据库,具备默认双AZ容灾,提供了快速备份、按时间点还原、高性能写入和只读节点扩展能力,满足游戏写入能力扩展的需求。
游戏排行榜:在游戏应用中,排行榜的实时更新和玩家状态的快速存取至关重要。Orca可以用来存储玩家得分和排名信息,利用Redis协议的有序集合(Sorted set)数据结构轻松实现排行榜功能。
秒杀系统:在大规模促销秒杀活动中,系统需要处理大量并发请求。传统的数据库往往难以应对这种瞬间的读取压力。为了解决这个问题,Orca可以用于存储热门商品信息、库存数量等关键数据,利用Redis协议的字符串(String)、哈希(Hash)等数据结构,轻松实现热门数据存储功能。
前提条件
费用说明
Orca功能可免费使用,仅收取普通计算节点的费用。具体费用详情,请参见标准版计算节点价格和企业版计算节点价格。此外,开启Orca功能也会占用一定的存储空间。关于存储空间的价格,请参见标准版存储空间价格和企业版存储空间价格。
注意事项
Orca功能不支持免密访问,您需要创建Orca账号。
启用Orca功能后,由于Orca端口需要处理您的Redis命令请求,将会增加集群的CPU和内存开销。实际增加的CPU和内存开销与您的业务负载相关。
启用Orca功能后,PolarDB MySQL版集群将自动创建名为
__orca_in_polardb_m_
的Orca默认库。您无法对该库进行任何操作,也无法再创建同名数据库。
使用限制
请参见使用限制。