Navigation

    Gpushare.com

    • Register
    • Login
    • Search
    • Popular
    • Categories
    • Recent
    • Tags

    第三届数据库大赛创新上云性能挑战赛--高性能分析型查询引擎赛道

    竞赛赞助
    1
    1
    41
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 1
      151****8705 last edited by

      大赛概况

      云原生数据仓库 AnalyticDB MySQL 版是融合数据库、大数据技术于一体的云原生企业级数据仓库服务。AnalyticDB MySQL 版支持高吞吐的数据实时增删改、低延时的实时分析和复杂ETL,兼容上下游生态工具,可用于构建企业级报表系统、数据仓库和数据服务引擎。本题结合英特尔® 傲腾™ 持久内存技术(PMem),探索新介质和新软件系统上极致的持久化和性能。参赛者在充分认知 PMem 硬件特质特性的情况下设计最优的数据结构。

      赛程安排

      报名与实名认证(即日起—2021年6月25日,UTC+8)
      1.报名方式:登录比赛官网,完成个人信息注册,即可报名参赛。

      2.选手可2-3人组队或单人成队参赛,每位选手只能加入一支队伍。

      3.选手需确保报名信息准确有效,组委会有权取消不符合条件队伍的参赛资格及奖励。

      4.选手报名、组队变更等操作截止时间为6月25日中午11:00。

      5.各队伍(包括队长及全体队伍成员)需要再6月25日中午11:00完成实名认证(认证入口:天池官网-右上角个人中心-认证-支付宝实名认证),未完成认证的参赛团队将无法进行正式比赛。

      6.大赛官方钉钉群请扫描以下二维码加入,最新通知将会第一时间内在群内同步。

      enter image description here

      第一赛季(2021年5月17日-6月30日,UTC+8)

      1.预热赛(5月17日-6月10日):5月17日11:00开放代码评测入口,每天提供3次代码运行机会,并提供运行日志。5月26日起开始提供排名。6月10日11:00关闭提交入口。

      2.正式赛(6月11日-6月30日):6月11日10:00开放代码评测入口,每天提供10次代码运行机会,并提供运行日志。6月11日起分别在10:00, 14:00, 20:00, 22:00, 24:00更新一次排行榜,按照得分(截止当天的历史最优成绩)从高到低排序。

      3.第一赛季截止时(6月30日10:00截止提交,6月30日20:00产生最后排行),最好成绩排名前100名的队伍进入第二赛季。

      4.阿里云的员工参赛,仅参与第一赛季,并单独榜单排名,前5名领取相应大赛专属礼品。

      第二赛季(2021年7月2日-2021年8月6日,UTC+8)

      1.7月2日10:00放提交入口,每天提供5次代码运行机会,并提供运行日志。7月2日10:00起分别在10:00、14:00、20:00、22:00、24:00更新一次排行榜,按照得分(截止当天的历史最优成绩)从高到底排序。

      2.8月6日10:00关闭代码评测入口,8月6日22:00产生最后排行,最好成绩排名前11名将受邀答辩。

      参赛对象

      面向全社会开放,高等院校、科研单位、互联网企业等人员均可报名参赛。

      注:活动主办方拥有最终解释权;大赛主办和技术支持单位如有机会接触赛题背景业务、产品、数据的员工,则自动退出比赛,放弃参赛资格。

      奖项设置

      冠军:1支队伍,每支队伍奖金捌万,颁发获奖证书。

      亚军:2支队伍,每支队伍奖金叁万,颁发获奖证书。

      季军:4支队伍,每支队伍奖金壹万,颁发获奖证书。

      优胜奖:4支队伍,每支队伍奖金伍仟,颁发获奖证书。

      (上述奖项以总决赛答辩的最终名次决定)

      参与奖:初赛TOP50队伍的选手将获得大赛限量版纪念T恤一件,每队获得一件。

      极客奖:复赛最终排名入围TOP20所在队伍的选手将获得阿里云数据库产品事业部优先推荐名额。

      粮票奖励:本场比赛拉新总奖金池50000张粮票,粮票计算规则为10:1,每邀请成功1人,推荐人可获得的粮票数量20张。使用粮票可兑换大赛独家定制周边。

      赛题说明

      选手需要设计实现 quantile 分析函数,导入指定的数据,并回答若干次 quantile 查询。

      quantile(column, p) 函数定义
      column: 查询列。

      p: 百分比,范围 [0, 1]。

      函数返回:将列的所有值排序后,返回第 N * p 个值。如果 N * p 不为整数,则向上取整。

      样例:

      column = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # column 为整型,有 10个 元素

      quantile(column, 0.5) = 5
      quantile(column, 0.8) = 8
      quantile(column, 0.25) = 3
      quantile(column, 0) = 0
      quantile(column, 1) = 10

      参赛流程说明

      1.选手需要在 code.aliyun.com 上 fork demo 项目,地址详见下方。
      2.设置自己的项目为 private。
      3.赋予 analyticdb_support 权限,需要 reporter。
      enter image description here
      4.实现 load 和 quantile 接口。load 接口会先被调用,负责加载测试数据(将提供选手一块高性能磁盘存储处理好的数据);quantile 接口在 load 后调用,负责处理查询,参见 demo。
      5.提交git格式地址:git@code.aliyun.com:xxxx/xxxx.git (必须是git格式)。
      6.等待测评结果。

      测试数据说明

      TPC(TransactionProcessing Performance Council)在数据库和大数据领域是做测试的事实标准。本次比赛测试数据参考 TPC-H 数据集合,选取其中部分表的部分列进行查询。

      格式如下:
      每个文件名表示 table 名,第一行是列名,第二行开始是列的数据。
      enter image description here

      初赛说明与评测逻辑

      可用资源 4核 4G
      测试数据:只有一张表 lineitem,只有两列 L_ORDERKEY (bigint), L_PARTKEY (bigint),数据量3亿行
      初赛会单线程查询 10 次
      查询结果正确的前提下,耗时越低排名越高
      详细环境数据,demo 请参见:https://code.aliyun.com/analytic_db/2021-tianchi-contest-1
      复赛说明与评测逻辑
      复赛在初赛的基础上增加持久化和高并发要求

      可用资源 8核 8G
      测试数据:多张表,多列,会涉及到 整型和浮点列,数据量10亿行
      复赛会用多个线程并发查询若干次
      复赛查询会分两轮,先并发查询一轮,然后kill掉进程,然后重启,再并发查询一轮
      查询结果正确的前提下,耗时越低排名越高
      详细环境数据,,demo 请参见:https://code.aliyun.com/analytic_db/2021-tianchi-contest-2
      赛题注意事项与参考资料
      1.语言限定

      Java
      只能使用 JDK 8 标准库
      2.违规说明

      请勿将自己比赛的代码仓库公开,在比赛期间
      不得通过 hard code 形式,直接将查询答案固化在代码中
      任何恶意行为都会取消参赛资格
      3.参赛方法说明

      在天池平台完成报名流程

      按照示例代码工程的约束完成迁移程序的编写

      在天池提交成绩的入口,提交自己的代码

      等待评测结果

      4.排名规则

      在正确性验证通过的情况下,按耗时排名

      5.作弊程序判定规则

      • 不能通过hard code形式,记录任何测试数据的值在代码中,会视为hack代码
      • 选手的程序不能只对一份数据能跑,换一份数据不能跑过的程序都视为hack代码
      • 比赛结束会对前10名选手的代码做重判,确保选手代码可以在多份数据上跑通(只验正确性)。重判使用选手最优提交的代码版本,以及一份新的测试数据。
      • 如果选手最优提交的代码版本不存在了,视为无效成绩。
      1 Reply Last reply Reply Quote 1
      • First post
        Last post