亚信安慧AntDB数据并行加载工具的实现(二)

3.功能性说明

本节对并行加载工具的部分支持的功能进行简要说明。

1) 支持表类型

并行加载工具支持普通表、分区表。

2) 支持指定导入字段

文件中并不是必须包含表中所有的字段,用户可以指定导入某些字段,但是指定的字段数要和文件中的字段数保持一致。

3) 支持导入部分记录

并行加载工具支持指定Where条件,只将符合条件的记录导入到数据库中。

4) 自动生成序列字段值

本工具支持自动生成序列字段值,有些表的字段设置了Default值为序列,用户可能需要数据库自己生成,并没有包含在文件中。

当该字段为非分片键时,我们可以使用数据库自有的功能,在插入时自动生成该字段值。但是当该字段为分片键时,我们需要先在加载工具中生成该值,然后根据该值进行分片,插入到对应的DN节点。

5) 无分片键文件导入

当文件中不包含分片键,并且没有Default值时,加载工具将该字段置为Null计算并插入相应节点。

6) 触发器

当导入的表包含触发器时,并行加载工具并不会做特殊的处理,当触发器涉及非本数据节点时,并行加载工具并不支持。例如一个表的触发器,该触发器会插入另外一张表,但是该表分片与原表不同,此时将会涉及多个数据节点。

7) 不支持辅助表

AntDB有辅助表功能,用来优化SQL语句的性能,该表中存放数据表的相应数据。当数据表有辅助表时,并行加载工具只能将文件导入到数据表,并不会修改相应的辅助表。

8) 支持编码转换

并行加载工具支持数据编码转换,在文件中数据和数据库的编码不同时,工具会对文件中数据编码的转换之后再插入数据库。

4.性能

并行加载工具相比Copy命令,有效提升了数据加载的效率。由于表字段的个数、类型及数据的不同,并行加载工具相对Copy命令所提升的倍率并不完全相同。下面以TPCC的数据导入进行性能的对比。

1000仓的数据,需要导入到表Bmsql_Stock的记录有1亿条,数据文件Stock.csv文件的大小为29GB。测试的AntDB集群有2个DN主节点。在此场景的测试中,加载效率提升了7倍左右,加载速度对比图如下所示:

图5 加载速率对比

Bmsql_Stock表结构如下:

图6 测试表的表结构

5. 总结

本文介绍了AntDB并行加载工具的实现方式和使用方法,通过多线程的方式实现并行处理文件数据,并加载到AntDB数据库,有效提升了加载的效率。

相关推荐

  1. AntDB实时数据洞察利器

    2024-01-02 03:34:01       122 阅读
  2. AntDB:全新数据库体验

    2024-01-02 03:34:01       34 阅读
  3. AntDB多维度支持

    2024-01-02 03:34:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-02 03:34:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-02 03:34:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-02 03:34:01       82 阅读
  4. Python语言-面向对象

    2024-01-02 03:34:01       91 阅读

热门阅读

  1. 编码和解码的未来之路

    2024-01-02 03:34:01       46 阅读
  2. 【无标题】

    2024-01-02 03:34:01       67 阅读
  3. 【从浅到深的算法技巧】3.数组

    2024-01-02 03:34:01       47 阅读
  4. iostat采集的IO数据来源是哪里?

    2024-01-02 03:34:01       50 阅读
  5. [NAND Flash 5.1] 闪存芯片物理结构与SLC/MLC/TLC/QLC

    2024-01-02 03:34:01       50 阅读
  6. string类

    string类

    2024-01-02 03:34:01      46 阅读
  7. 力扣题目学习笔记(OC + Swift)27.移除元素

    2024-01-02 03:34:01       56 阅读
  8. 排序笔记总结

    2024-01-02 03:34:01       37 阅读
  9. Spring Boot 配置文件

    2024-01-02 03:34:01       54 阅读
  10. Prometheus 监控docker

    2024-01-02 03:34:01       57 阅读