欢送拜访 OceanBase 官网获取更多信息:https://www.oceanbase.com/
2022 年 10 月 17 日,OceanBase 数据库大赛拉开了初赛帷幕,共吸引了国内外 1988 名选手,1180 支队伍参加。通过初赛比拼,共计 53 支团队入围决赛,12 支队伍在决赛中凭借优良的体现,进入最终的现场问难环节,并于 3 月 24 日抢夺冠亚季军。
一路过关斩将,迎来 12 强巅峰对决
2022 年 10 月 17 日,1988 名国内外数据库爱好者,组成 1180 支参赛团队,突破业余和年龄的限度,从 MiniOB 实训由浅入深,走向实在的工业级数据库的业务场景摸索,开启了一场对于速度与极限的数据库内核实战马拉松。
在摸索中,大家不仅深刻了解了许多对于数据库实践及工程方面的常识,还取得了实战我的项目演练,从 0 到 1,通过策略思考与入手实际,系统地打造出本人的数据库。从初赛到决赛,这 12 支团队一路过关斩将,凭着超强的学习能力和抗压能力,通过翻新思维冲破挑战,实现从实践到实际工程的变质,为走向企业打下基础,再次祝贺他们!
本次 OceanBase 数据库大赛的评委阵容由中国人民大学明理书院院长杜小勇、西北工业大学计算机学院副院长李战怀、武汉大学计算机学院副院长彭智勇、华东师范大学数据学院院长钱卫宁、东北大学计算机学院传授于戈、OceanBase 首席科学家阳振坤、蚂蚁风管同业技术负责人余锋、OceanBase CTO 杨传辉等嘉宾组成,决赛现场,评委老师将从技术难度、产品价值、创新性 3 大维度为 12 强团队打分,最初综合决赛提测分数和问难问题,决出最终的名次。
决赛赛题和精彩题解
OceanBase 是齐全自研的一款分布式数据库,在 TPC-C、TPC-H 上刷新了世界纪录,并且间断 10 年稳固撑持了“双 11”业务。自 2021 年 6 月 1 号开源后,越来越多的金融客户、电信运营商、互联网企业开始应用 OceanBase,OceanBase 也开始接入越来越多的场景。
企业在数据库降级的过程中,须要解决的第一件事件就是将数据从历史零碎中无缝导入 OceanBase, 咱们决赛的赛题就基于实在业务场景——旁路导入,向选手发动了挑战。
很多时候,导入操作会在一个无限的运维窗口中能力进行,如果一个 10TB 的数据耗费了 8 小时,可能会横跨一个运维窗口(通常凌晨 2 点到早上 9 点),给失常业务带来压力。因而,导入速度至关重要,用户冀望 10TB 的数据能在 1 小时内实现导入。
这是一个极富挑战的场景,尽管上手简略(从繁多外围模块即可动手),且施展空间微小,能够波及数据库的各个模块,但对参赛选手而言,压力也十分大。
首先,数据导入效率的优化是得分高下的重要影响因素。 数据导入是数据库替换的重要环节,如数据库的初始化导入,定时批量导入等会用于数据分析,而数据库导入的性能好坏是评估数据库性能的重要指标,特地是在数据库剖析场景,能够参考上面的网站,从该网站能够看到,除了会比拟各个数据库的查问速度,还会比拟导入速度。(https://benchmark.clickhouse.com/)
其次,决赛基于 OceanBase,考查文本文件导入的速度。 参赛者要间接将数据写入数据库存储文件中,不通过 SQL 与事务等环节,更底层、更无效。
最初,参赛选手根本都是首次接触 OceanBase,须要在 一个月内理解整个数据导入工作原理并对其进行优化。
从各个参赛团队在决赛中的体现来看,这届选手都十分优良,思路也十分宽阔,会从各个角度深度开掘优化计划。比方多线程文件读写,衡量 I/O 与 CPU 效率的同时,充分利用各个资源。有些选手应用多路归并排序,甚至重写了 OceanBase 的内部排序算法。因为测试机器的 I/O 速度绝对于 CPU 来说有很大差距,一些选手就会衡量 I/O 与 CPU,将数据进行编码压缩后进行读写,应用 CPU 换 I/O。
参赛播种
授人以鱼不如授人以渔,通过此次决赛,参赛选手也能够学习到许多对于数据库及工程方面的常识。具体但不限于:
第一,接触实在工业界数据库的存储引擎,并学习和接触数据库最外围的模块之一“存储引擎”。
- 学习 LSM Tree 的原理。 OceanBase 存储底层采纳 LSM Tree 构造,选手在做此题时须要将数据间接写为 SSTable(LSM Tree 中的一个外围数据结构)文件,会对 LSM Tree 有更加粗浅的意识。
- 均衡查找树原理。 OceanBase 存储底层构造应用 LSM Tree,而其中的每个 SSTable 应用多阶层的均衡多叉树作为排序构造,而没有采纳 skip-list 构造。因而,选手会对均衡查找的原理有更深刻的了解,同时了解磁盘数据拜访的优化原理。
第二,接触高并发、高性能零碎框架,系统性学习底层编程技巧和标准。
- 多线程与任务调度。 为了可能充分利用机器的资源,让性能问题进步,必然须要充分发挥计算机多核的劣势,采纳多线程的形式,进步工作的并发解决能力。另外,多线程解决中,任务调度的效率,也会间接影响到整体的执行效率。
- 文件读取优化。 文件读写是许多工程项目中须要用到的技能,而如何高效读取数据,充分利用磁盘带宽,也会影响程序的执行效率。这里也波及零拷贝技术的利用,同时让选手对文件系统读写模块底层了解得更加透彻。
- 文件排序。 在数据库系统中,因为磁盘比内存大很多,在外存中对数据进行排序,也是常见的场景。在导入数据时,也须要思考数据放在外存中排序,如何更加高效,是选手致力的指标之一。
- 性能调优伎俩。 学习如何应用 CPU 调优、内存调优。
咱们心愿大家以学习数据库技术为目标来加入较量,因而,决赛赛题的设置以帮忙选手成长为次要指标,竞技为第二指标,在将来,咱们也欢送大家成为 OceanBase 社区小家庭中的一员,与咱们一起为社区建设添砖加瓦,共创更好的 OceanBase。
写在最初
最初,咱们也收集了几位评委老师对大家的祝愿——
“
西北工业大学计算机学院副院长李战怀: 心愿大家能再接再厉,在决赛中充分发挥出你们的后劲和能力,并以此为终点,未来成为咱们中国数据库畛域的中坚。中国人民大学明理书院院长杜小勇: 12 强都是来自于国内计算机领域的驰名高校,非常高兴看到这么多学校的同学对数据库内核技术越来越有趣味。祝福同学们认真筹备,认真参赛,获得好问题。
”
3 月 24 日的问难完结后,12 强参赛团队将与 OceanBase 的师兄开展面对面交换,分享本人的参赛体验,畅谈对数据库的将来现实。为了让更多数据库爱好者,见证这群追光少年的精彩对决,本次冠军问难将在视频号开启全程直播,大家能够关注 OceanBase 视频号进行观看,一起为每一位致力奔跑的选手欢呼!
欢送拜访 OceanBase 官网获取更多信息:https://www.oceanbase.com/