赛题发布:MySQL+GBase数据库参数调优

一、赛题背景

传统数据库技术往往依赖于启发式算法或者人工干预,例如数据库参数调优、故障诊断、索引推荐等。然而在大数据时代,数据库实例越来越多、场景越来越复杂、数据量越来越大,导致传统数据库技术难以满足大数据的需求。例如云数据库具有百万级别的数据库实例,各个实例的应用场景、用户的使用水平都可能有很大差别,直接使用传统启发式算法难以取得令人满意的结果,而人工干预也很难管理这么多的实例。机器学习技术因其较强的学习能力,逐渐在数据库领域展现潜力和应用前景。

数据库配置中涉及数百个可调的系统参数,控制着数据库组件的多方面表现。配置优化技术通过选择合适的参数组合,提高数据库对当前场景的适应性。比如通过为各类缓存区分配合适的内存空间,尽可能减少磁盘 IO 次数;通过更新优化器估计指标,提高计划选择的表现等。随着算法的改进、计算能力的提升、大数据的变革,深度学习和强化学习为数据库优化技术带来了更大的优化空间。

“道高一尺,魔高一丈”,如何有效借助机器学习、深度学习等技术,实现数据库系统的自动调参这一任务可谓任重而道远。本赛题以此出发,聚焦以开源数据库MySQL,以及近年风靡的国产商用数据库GBase为数据库平台的性能调参技术,enjoy it !

二、赛题和数据

2.1任务描述(初赛)

请选手使用某种调参方法提高DBMS(MySQL5.7)在指定负载下的吞吐量(tps),可以使用的方法包括但不限于基于经验的脚本调参方法,启发式调参方法,基于传统机器学习的调参方法,基于强化学习的调参方法等。

具体流程是,选手通过合适的方法得到一组配置参数,将其部署到数据库上(修改数据库的配置文件,MySQL的配置文件在/etc/mysql/my.cnf),然后评测数据库在这组参数下的吞吐量。

选手可以自行选择是调整所有参数还是其中的部分参数,若不了解参数信息可参考MySQL官方文档https://dev.mysql.com/doc/refman/5.7/en/),比赛使用的MySQL5.7是基于InnoDB引擎的。

举办方为选手准备好了一个开源的调参系统Ottertune,该系统是由CMU数据库组的学生和研究人员开发的自动调参工具,里面使用了传提机器学习与强化学习的方法进行数据库自动调参。具体操作与代码可见:https://github.com/cmu-db/ottertune

若选手采用基于传统机器学习的调参方法但缺少训练数据,可通过以下方法收集一个简单的数据集:

1. 在待调优参数的取值范围内采样若干组参数,每组参数对应一组配置,采样方法可自行选择,比如随机采样,拉丁超立方采样等;

2. 依次将每组参数部署到DBMS上,用性能测试工具(比如Sysbench或Oltpbench)测得在这组配置下的吞吐量;

3. 第一步得到的若干组配置参数和第二步得到的对应的吞吐量就构成了一个简单的数据集,可用于机器学习模型的训练。

测试环境说明(初赛)

举办方为每支团队提供了一个Ubuntu16.04的docker容器,容器内已安装好待调优的数据库MySQL5.7以及比赛使用的性能测试工具Oltpbenchmark,选手可选择使用官方提供的机器或自己的机器。

benchmarksql是一款常用的性能测试工具,详情可参考官方文档:https://github.com/pingcap/benchmarksql

2.2复赛赛题说明

GBASE系列数据库是南大通用自研的一款优秀的数据库产品。南大通用是国家级高新技术企业,国家规划布局内重点软件企业,已连续多年被工信部下辖的赛迪顾问评为国产数据库领军企业。截至目前,GBASE系列数据库已经为金融、电信、政务、能源、交通、国防、企事业等领域上万家用户提供了产品和服务,部署节点数超过30000个,管理数据总量超过300PB。

本次大赛复赛采用GBase8s作为待调优的数据库。GBase8s是成熟稳定的企业级分布式事务型数据库,适用于OLTP 应用场景,包括金融、电信行业的关键核心业务系统,安全、党政、国防等行业对信息安全性有较高要求的信息系统,以及大型企业的经营类、管理类信息系统,能够提供7*24小时不间断运行处理能力,在80%以上场景中可以替代国际主流数据库。

本次复赛请选手使用某种调参方法提高GBase8s在指定负载下的吞吐量(tps),可以使用的方法包括但不限于基于经验的脚本调参方法,启发式调参方法,基于传统机器学习的调参方法,基于强化学习的调参方法等。

举办方为每支团队提供了一个CentOS的docker容器,容器内已安装好GBase8s 3.0以及比赛使用的性能测试工具benchmarksql5.0,选手可选择使用官方提供的机器或自己的机器。

benchmarksql是一款常用的性能测试工具,详情可参考官方文档:

https://github.com/pingcap/benchmarksql

复赛的评分指标是相对于GBase8s的默认配置,选手所使用的调参方法使得吞吐量提高的百分比。

注:GBase8s 3.0的配置文件在/opt/GBASE/gbase/etc/onconfig.gbase01。

为保持比赛的公平,benchmarksql采用相同的配置:包括相同的存储引擎,表数目,每张表大小,线程数目等。

在评价指标相同的情况下,优先选择提交次数较少的参赛队伍晋级。评价指标均精确到小数点后6位。

三、评价标准

(1)提交次数限制

参赛团队提交结果文件,每支参赛团队每天最多提交次数不超过3次。

(2)评分指标(初赛)

本赛题的评分指标是相对于MySQL5.7的默认配置,选手所使用的调参方法使得吞吐量提高的百分比

注:MySQL5.7的配置文件在/etc/mysql/my.cnf。

吞吐量.png

如上图所示,比赛采用的吞吐量是oltpbench输出结果中每秒执行的事务数。

为保持比赛的公平,oltpbench采用相同的配置:包括相同的存储引擎,表数目,每张表大小,线程数目等。

在评价指标相同的情况下,优先选择提交次数较少的参赛队伍晋级。评价指标均精确到小数点后6位。

四、作品提交要求

每支团队需提交一份调参方法的代码以及如何运行代码的README,如果采用的是基于机器学习或强化学习的方法,还需提交训练好的模型参数。举办方在相同的测试机器上跑每个团队的代码,用Oltpbench测试调参后的吞吐量作为比赛结果的依据。

五、赛程安排

2022/7/16 9:00:00 – 2022/8/5 23:59:59,开放报名。

2022/7/21 00:00:00 – 2022/8/5 23:59:59,发布赛题,进行比赛初赛。

2022/8/6 00:00:00 – 2022/8/13 23:59:59,进行比赛复赛阶段

2022/8/13 – 2022/8/17,对作品代码、反作弊情况进行评审。

2022/8/24 – 2022/8/26, 决赛答辩,颁奖典礼等。

六、奖项设置

奖励.png

优胜奖:初赛排名前20,颁发获奖证书

参与奖:每个参赛人员均可获得大赛定制的金士顿32G U盘。

七、报名要求

本次大赛面向党政机关及企事业单位在职人员、数据安全人才、高校全日制在校生(含研究生)、互联网企业AI技术人员以及社会AI技术人才,单个参赛团队人数不超过5人。

 

八、组织单位

主办单位:

广东省安全智能新技术重点实验室、广东省计算机学会、深圳市计算机学会、哈尔滨工业大学(深圳)

协办单位:

广东省计算机学会、深圳市计算机学会、哈工大(深圳)-南大通用数据库技术联合实验室

九、官方赛事交流群

官方群.png

扫码或加入QQ群号进群,了解大赛更多信息。请注意:进群需要提供团队+昵称,并按此格式修改群昵称。

十、规则说明

揭榜要求

1、面向人群:本次大赛面向党政机关及企事业单位在职人员、数据安全人才、高校全日制在校生(含研究生)、互联网企业AI技术人员以及社会AI技术人才,单个参赛团队人数不超过5人。

2、数据使用:本次大赛提供的全部数据、信息等,未经允许,任何人不可以任何形式使用、传播、披露、授权他人使用。

3、限制原则:作品必须健康、合法、无任何不良信息及商业宣传行为,不违反任何中华人民共和国有关法律。须保证原创性,不侵犯任何第三方知识产权或其他权利;一经发现或经权利人指出,主办方将直接取消其参赛资格,主办方保留赛事最终解释权。

4、揭榜要求:每个张榜打靶任务,每人仅能揭榜加入一支团队(1-5人),揭榜者可同时揭榜多个任务,不同的张榜打靶任务可以组不同的团队。揭榜时所有团队成员需提供个人实名制手机号,揭榜者应当保证身份信息的真实性。

5、组队规则:单人默认为一支团队,可通过申请加入团队与他人组队,一旦加入团队,队员不可主动退出队伍;只有团队队长有权限移除队员;团队变更截止时间之后禁止团队合并、移除队员等团队变更操作。

6、作弊处理:参赛者必须使用赛题规定的数据和算法进行比赛,禁止利用规则漏洞或技术漏洞等不良手段提高成绩排名,禁止抄袭他人作品、交换答案、使用多个小号,经发现将取消比赛成绩并进行严肃处理。

 

知识产权

1.本次参赛作品(包括但不限于算法、模型、方案)的知识产权归出题单位、参赛者、竞赛平台三方共享。大赛主办方有权将参赛团队提交的参赛作品及其相关信息、团队信息用于宣传品、相关出版物、指定及授权媒体发布、官方网站浏览及下载、展览(含巡展)等活动项目。

2.大赛主办方拥有对参赛作品组织投资对接和产品孵化服务的优先权利。

 

主办方权利

1.大赛主办方在奖项名单确定后,将通过参赛团队预留的联系方式邀请参赛团队参与决赛及相关投资对接活动。若参赛团队在相关通知发出后7日内未答复则视为自动放弃相应机会,主办方有权顺位递补其他参赛团队。
2.所有获奖团队将得到相应比赛奖金(奖金以人民币计算),奖金个人所得税或其他形式税收将由获奖团队承担,由大赛主办方代缴。
3.参赛团队应自行负责在其成员之间分配和分发奖金与奖品,主办方对此将不承担任何责任。
4.大赛主办方保留拒绝任何参赛团队、参赛作品的权利。
5.大赛主办方保留修改比赛各环节时间,包括但不限于作品提交截至日期、线上线下活动日期以及路演、颁奖典礼日期的权利。大赛主办方有权随时暂停或终止比赛。
6.大赛主办方保留调整比赛各阶段入选参赛团队数量的权利(包含决赛),以及调整奖项设置及奖金数额的权利。
7.大赛主办方保留收回或拒绝授予某个特定参赛团队奖项的权利。

最终解释权归主办方所有(以上规则如有变动,以官方最新公布为准)