近期,由工业和信息化部、教育部、江苏省人民政府共同主办的(公益赛事)第十一届 “中国软件杯”大学生软件设计大赛报名工作正式启动。作为国产数据库行业领军者,武汉达梦数据库股份有限公司受主办方邀请为大赛设置赛题,聚焦分布式与大数据两个行业热点,拉开大赛帷幕!
01
达梦赛题内容
A组赛题(本科、研究生、高职):高性能分析型连接查询设计与实现
一、赛题业务场景
分布式连接是分布式数据库最核心、最基础的特性。本赛题基于TPC-H中测试基准中的一个查询进行简化,TPC-H模拟了一个批发商的零件供应业务,其中Q17基于7年的历史销售数据来分析如果不供应指定类型零件的小额订单,每年会损失多少收入。通过这种分析,可以将注意力集中在大型订单上,从而降低管理成本。该查询需要基于两个表的数据做等值连接,并且对扫描的数据进行过滤。本赛题基于Q17进行了一定的简化,要求将初始数据以行/列式数据结构加载到内存中,然后模拟实现一个分析型查询的业务逻辑,研发成果可以应用于分布式数据库。
二、基本功能要求
1、在单台服务器上启动参赛者程序,共启动4个实例。
2、4个实例各自加载50万零件数据和大约1500万行订单数据到内存中(每个实例加载不同的部分,记录加载时间)。
3、程序可以指定有效的零件品牌参数,非法的零件品牌报错,对于有效的零件品牌参数,完成如下要求的功能并计算时间:
(1)计算每个零件的销售总量、所有零件的销售总量并得出零件平均销售量
(2)对于满足用户指定的零件品牌的零件,如果该零件销售总量小于(1)中的平均销售量的20%,则认定为非畅销零件;
注意:零件品牌的格式为Brand#MN,其中M、N都是在1-5中任意选择,如Brand#12
(3)计算并输出该品牌的所有非畅销零件的销售总额。
三、实现条件
1、开发语言:c/c++/java/go任选一种
2、初始数据:参考【测试数据或平台】,每个实例将dbgen.exe生成的文本文件中的数据按一定策略加载到自己定义的数据结构中,要求所有列的数据都在内存中,每个实例加载part.tbl的50万行数据,lineitem.tbl的1500万行左右的数据。
3、硬件环境:自己确定,采用国产软硬件平台优先(建议使用8-16核CPU,8G/16G内存,50G以上磁盘)(基本原则性能分值的60%直接根据执行时间来决定,另外性能相同情况下,采用国产操作系统比非国产操作系统得分高,硬件环境CPU核心数越少得分越高,内存容量越少得分越高,HDD硬盘比SSD硬盘得分高)
四、评分标准
1.功能实现完整、结果正确(30%)
2.代码格式清晰、注释恰当、设计文档算法描述清晰(30%)
3.数据加载性能(20%)
4.查询性能(20%)
五、作品提交要求
1.源文件
2.可执行文件
3.相关设计文档
4.演示视频(5分钟之内)
B组赛题(高职):基于达梦云平台的求职智能分析系统
一、赛题业务场景
要求采集“大数据”相关岗位的招聘数据,使用大数据技术进行招聘数据处理和智能分析,将分析结果保存到达梦数据库DM8中,并使用前端开发技术对分析结果进行展示。
二、基本功能要求
1、数据采集
分析相关求职网站,采集“大数据”相关岗位的招聘数据,要求采集的数据分布合理,将采集数据源写入HDFS中。
2、岗位数据智能分析和可视化
使用大数据技术和并行计算框架等,对采集数据进行处理和智能分析,将分析结果保存到达梦数据库DM8,所有可视化数据均来自该数据库。
(1)使用大数据处理技术对职位信息进行清洗、去重等。
(2)从采集数据中提取求职岗位名称,如:大数据开发工程师、大数据运维工程师等,将结果保存到达梦数据库DM8。
(3)使用大数据处理技术从职位信息中提取专业技术术语,如:Hadoop、SparkSQL等,将结果保存到达梦数据库DM8。
(4)针对岗位信息进行多维度分析(如岗位名称、招聘总数量、平均薪资、最高薪资、最低薪资、专业技术术语等),将结果保存到达梦数据库DM8,按年和月,以图表形式显示。
(5)针对招聘数量进行多维度分析(如岗位、时间、专业技术术语、城市等),将结果保存到达梦数据库DM8,以图表形式显示。
(6)针对岗位薪资进行多维度分析(如岗位、时间、专业技术术语、城市等),将结果保存到达梦数据库DM8,以图表形式显示。
(7)统计招聘最热城市,显示排名前20的城市。
三、实现条件
实验平台:达梦启云云应用平台(Kubernetes)
开发语言:开发语言不限
国产软件:达梦数据库DM8、DMETL、DMPP等
开源软件:Hadoop及其生态组件
达梦相关软件和资料,参考达梦官网:www.dameng.com
四、评分标准
1.提交项目交付物(15%)
2.实现项目功能(65%)
3.技术创新(20%)
五、作品提交要求
1.采集的原始数据集(CSV)
2.源代码、数据库脚本
3.智能分析结果数据库文件(导出为SQL脚本)
4.项目相关镜像
5.演示PPT和视频(10分钟之内)
6.项目文档(需求文档、设计文档、用户手册等)
02
关于大赛
“中国软件杯”大学生软件设计大赛作为全国一类赛事已连续举办十届,旨在通过搭建富有自由、开放、创新精神的软件设计大赛平台,加强高校人才培养和新兴信息产业需求的有效衔接,推动产教深度融合,加快培育更多高端、优秀软件人才,推动关键核心技术突破,增强产业自主创新能力,实现产业高质量发展。
03
赛程安排
大赛面向全国高等院校学子,每年3月开赛,5月底完成报名参赛工作,拟于2022年7月完成作品提交和初赛评审,8月中下旬完成总决赛。
一场属于大学生的软件开发设计赛事狂欢已开启,是时候展现真正的实力了!欢迎报选达梦赛题A8:高性能分析型连接查询设计与实现、B7:基于达梦云平台的求职智能分析系统。
了解赛题详细内容及大赛详情与报名要求请点击左下角“阅读原文”链接进入大赛官网,共筑软件强国梦!
图片来源于:中国软件杯官网
编辑丨露露
审核丨品牌策划部
校对丨小旺仔