暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

PolarDB MySQL灰度发布Orca

原创 junyuan 2024-08-28
195

Orca简介

本文介绍了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表中,并且集群间的同步基于物理复制的特性。
image.png

核心优势

  1. 低成本
    通过降低成本,实现内部数据流通,无需重复购买计算节点资源。
  2. 易用性
    PolarDB采用一体化封箱技术,实现原生一写多读功能,同时支持横向和纵向弹性扩缩,具备计算热备功能,可以有效节省运维开销。兼容PolarDB MySQL版新型产品形态:全球数据库(GDN)等。
  3. 数据强一致
    基于PolarDB的SCC技术,实现了RW/RO节点的读强一致性。
  4. 高性能
    基于高性能的InnoDB引擎,如Blink-tree和逻辑预读等功能,实现了在高并发写入与读取场景下的重大性能提升。基于共享存储(PolarStore)内置的弹性内存池(Elastic Memory Pool),实现了IO读取速度的大幅提升。

应用场景

Orca的定位是在PolarDB MySQL版的基础上兼容Redis协议,以简化开发流程,使您能够使用兼容Redis协议的数据库。

  1. 游戏服务器核心数据库
    游戏部署架构相对简单,主程序部署在ECS上,所有业务数据存储在Orca中,PolarDB作为持久化数据库,具备默认双AZ容灾,提供了快速备份、按时间点还原、高性能写入和只读节点扩展能力,满足游戏写入能力扩展的需求。
  2. 游戏排行榜在游戏应用中
    排行榜的实时更新和玩家状态的快速存取至关重要。Orca可以用来存储玩家得分和排名信息,利用Redis协议的有序集合(Sorted set)数据结构轻松实现排行榜功能。
  3. 秒杀系统在大规模促销秒杀活动中
    系统需要处理大量并发请求。传统的数据库往往难以应对这种瞬间的读取压力。为了解决这个问题,Orca可以用于存储热门商品信息、库存数量等关键数据,利用Redis协议的字符串(String)、哈希(Hash)等数据结构,轻松实现热门数据存储功能。

Redis协议兼容情况

Orca兼容Redis 7.0及以下版本的部分命令,同时支持RESP2/RESP3协议。目前命令的支持程度如下表所示:
image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论