
第四届全球数据库大赛—PolarDB性能挑战赛,瓜分40万奖金池,只等你来!各赛道TOP10都可获得现金奖励!
“云原生共享内存数据库性能优化”赛道,邀您提交评测啦!
大赛简介
了解大赛更多信息,请点击👇
其中,云原生共享内存数据库性能优化赛道,共设奖金20万元人民币。
赛道直播培训
终于等到你!数据库DBer,赛道1【云原生共享内存数据库性能优化】的直播培训&答疑来啦!
直播简介
深入分析【赛道1】赛题,讲解demo代码,解释demo中RDMA框架的基本工作原理。提供解题思路,讲解如何通过设计local节点cache把demo评分从3分提升到30分。同时,解释测试过程中遇到的各种问题以及实时在线答疑。

赛题解析
赛题场景就是该数据库有本地和远端两个服务节点,且远端的内存远大于本端节点。本地节点负责接收Put或者Get指令后选择合适的策略将数据存储在本地节点或者远端节点,远端节点负责接收本地节点发送来的数据并存储。

解题思路
实现该KV数据库有以下几个设计难点:
RDMA使用与内存分配
RDMA是一种特殊的通信工具,对比TCP等通信方式,其优势在于可以使得两个节点在不通过CPU的情况下完成数据的传输,大大减小了CPU的负载,提升了传输效率。
选手在使用RDMA时需要注意,当使用节点A访问节点B的一段内存时,需要节点B先注册该段内存,并将该段内存的地址addr以及密钥rkey告知节点A,节点A将B的内存地址addr、密钥rkey信息作为元信息存在本地。这部分工作需要节点A和B的CPU共同参与完成,注册完成后,A可以直接通过RDMA访问这段内存(A节点同样需要注册的相应内存为RDMA使用),无需通过B的CPU。
其次,选手使用节点A进行RDMA访问节点B的一段内存后,返回的数据需要存储在A的一段内存中,并且这段内存也需要提前被A注册。也就是说RDMA通信本质上是两个节点上的两段提前注册好的内存之间的信息传输。因此,使用RDMA前,必须在A和B两个节点中均进行内存注册。
Sample Code中提供了RDMA注册的示例代码,使用RDMA完成节点A和节点B通信的简单流程由以下三个步骤构成:
节点A和节点B建立连接
注册节点A内存,注册节点B的内存
节点A读写节点B的内存
哈希实现
数据存储位置——local cache
冷热数据分离
读写策略以及并发访问
报名方式
https://www.aliyun.com/page-source/tianchi/promotion/Tianchi_Database_PolarDBChallenge2022?spm=5176.21852664.0.0.17bfd930Ft90UJ
https://tianchi.aliyun.com/competition/entrance/531979/introduction?spm=5176.21852664.0.0.17bfd930Ft90UJ
奖项设置
(上述奖项以总决赛答辩的最终名次决定)
早鸟活动说明
即日起–7月29日,前60名报名【云原生共享内存数据库性能优化】赛道、提交有效代码并成功出分的参赛队伍,均可获赠“天池定制款笔记本一件”或“阿里云数据库定制款帆布包一个”,先到先得! 即日起–8月22日,【云原生共享内存数据库性能优化】赛道初赛排行榜成绩前40位(需成功出分),且在赛道论坛发布高分心得文章的选手,均可获赠天池/阿里云数据库限量版订制电脑包一个! 邀请小伙伴报名,亦可赢取精美礼品:
报名期间(即日起-8月17日)成功邀请其他选手参赛即成为程序员鼓励师。鼓励师点击“报名参赛”下方“邀请参赛”生成个人专属海报,每拉新一个选手,可获得天池150粮票,粮票可在天池礼品库兑换天池纪念品。另有早鸟礼遇,详见: https://developer.aliyun.com/adc/series/tianchi/polardb



点击“阅读原文”立即报名参赛!




