第三届数据库大赛攻略 - 啥情况007-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

第三届数据库大赛攻略 - 啥情况007

简介: 本届比赛结合Intel的Optane PMEM技术,为数据上云加速赋能为背景,设计一套数据全量载入MySql数据库的系统。

## 1. 赛题简介

官方赛题传送门:

https://code.aliyun.com/dts_test/dts-contest


## 2. 核心优化思路

这次比赛的优化主要是围绕三个方面:

  • 针对PMEM这个新介质的属性的优化
  • 针对MySql服务器资源利用的优化
  • 通过架构设计,以并发的方式进行数据I/O,处理,上传,尽可能最大化利用可用资源。架构设计的核心其实与业界常用的数据ETL架构很类似。


#### 2.1 针对PMEM的属性分析和实践观测

本次比赛由于PMEM提供的方式,很多细节性能特性的优化并不明显,唯一需要注意的是需要并发顺序读写。其中读选择了mmap的方式,8线程并行读。写盘则是通过多线程各自pmem_map_file,写入自己文件。


#### 2.2 使用load data infile批量上传数据

此处也是应用了大数据生产消费链路里常用的数据batching来有效的提供网络和消费方CPU使用率的思路,通过将上传数据合并进行批量上传来提高效率。再有就是通过对数据进行排序来帮助MySql服务器加速。


## 3 架构设计图

#### 3.1 整体链路图

Screen Shot 2021-09-27 at 9.58.38 PM.png


#### 3.2 单源文件处理图

image.png

## 4. 核心断点恢复数据结构

image.png


## 5. 比赛总结感想

首先非常感谢主办方阿里云和英特尔,很高兴能够在第二届和第三届的比赛都取得不错的成绩。本届比赛一方面有些可惜比赛的重点并不是侧重在新一代pmem的性能探索上,另一方面也很开心能够写一套非常贴近实用案例的完整系统,配合数据上云的大趋势,受益匪浅。最后期待一下第四届数据库比赛。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: