开发者社区> 问答> 正文

如何实现高性能批量导入?

如何实现高性能批量导入?

展开
收起
曦情兮 2022-05-09 22:20:05 380 0
1 条回答
写回答
取消 提交回答
  • 数据导入速度是云数仓的基础能力,在 TPC-DS 中对导入有着极致的性能要求,我们的第一个优化思路是轻量级 build(把实时数据转换为全量分区数据称之为 build),AnalyticDB MySQL 3.0 实现了轻量化的全内存单副本 local build,相比之前版本的类 MR 作业的全量 build 大幅减少了读写 DFS 和落盘开销,并且可以充分通过本地化向量指令有效利用 CPU 提升性能。 第二个思路是 IO 和网络优化,在导入链路上,我们采用 DirectIO、Binary 化、全流式、异步化、零拷贝等技术大幅提升导入性能。 第三个思路是减少数据量,通过 Raft 2+1 技术(2 份数据 + 1 份日志)在保证数据高可靠的前提下将数据量减少 1/3, 再通过高性能 lz4 压缩算法将数据进一步压缩,整体下来数据的读写 IO 和网络传输开销都得到大幅优化。

    2022-05-10 13:01:53
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
实战-如何基于HBase构建图片视频数据的统一存储检索方案 立即下载
效率提升:表格存储实时数据流:Stream的技术揭秘和应用场景 立即下载