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

## 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 整体链路图

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


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

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

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

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


## 5. 比赛总结感想

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


上一篇:maven联通网络下*仓库不能访问的解决办法


下一篇:HTTP之ARM编程(在imx6ul上实现http协议通讯)