华为GaussDB A 关于并行导入 -合毅科技
暂无图片
登录 注册
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A 关于并行导入

墨天轮 2019-10-12
1768

关于并行导入

INSERT和COPY方式执行数据导入时,是一个串行执行的过程,导入性能低,因此适用于小数据量的导入。对于大数据量的导入,GaussDB 200支持通过外表并行导入数据到集群。

概述

并行导入将存储在服务器普通文件系统中的数据导入到GaussDB 200数据库中。暂时不支持将存储在HDFS文件系统上的数据导入GaussDB 200

并行导入功能通过外表设置的导入策略、导入数据格式等信息来识别数据源文件,利用多DN并行的方式,将数据从数据源文件导入到数据库中,从而提高整体导入性能。如图1所示:

  • CN只负责任务的规划及下发,把数据导入的工作交给了DN,释放了CN的资源,使其有能力处理其他外部请求。
  • 所有DN都参与数据导入,这样可以充分利用各设备的计算能力及网络带宽,提升导入效率。
外表灵活的OPTION设置,有利于在数据入库前对数据做预处理,例如非法字符替换、容错处理等。更多信息请参考CREATE FOREIGN TABLE (导入导出)。
图1 数据并行导入示意图

上图中所涉及的相关概念说明如下:

  • CN(Coordinator Node)GaussDB 200协调节点。在导入场景下,接收到应用或客户端的导入SQL指令后,负责任务的规划及下发到DN。
  • DN(Datanode)GaussDB 200数据节点。接收CN下发的导入任务,将数据源文件中的数据通过外表写入数据库目标表中。
  • 数据源文件:存有数据的文件。文件中保存的是待导入数据库的数据。
  • 数据服务器:数据源文件所在的服务器称为数据服务器。基于安全考虑,建议数据服务器和GaussDB 200集群处于同一内网。
  • 外表Foreign Table:用于识别数据源文件的位置、文件格式、存放位置、编码格式、数据间的分隔符等信息。是关联数据文件与数据库实表(目标表)的对象。
  • 目标表:数据库中的实表。数据源文件中的数据最终导入到这些表中存储,包括行存表和列存表。

加载策略

并行导入为了最大化利用集群的计算能力,将任务直接下推到DN执行。CN将任务分发之后将不再参与导入的具体工作。这种情况下,谁来管理用户数据,使数据能够正确、不重复地分配给各DN,从而保证入库数据的唯一性,是需要优先考虑的事情。为此,GaussDB 200对应提供了三种策略:
  • Normal策略:利用高斯数据服务工具GDS(Gauss Data Service)来管理用户数据,将集群之外主机上的数据导入到集群中。
  • Shared策略:利用网络文件系统NFS(Network File System)服务,将存放用户数据的服务器统一挂载到各DN所在主机的相同路径下,将集群之外主机上的数据导入到集群中。此策略下,由CN在规划任务时扫描所有数据文件,然后将数据文件平均地分配给各DN执行加载。
  • Private策略:用户自行将数据文件上传到各DN所在主机。并保证数据文件按DN数均分后,不重复地存储到各主机上相同路径下,以DN node_name命名的文件夹下。这样,数据导入时,每个DN会不断从以自己node_name命名的数据目录中寻找未被加载过的文件,直到没有数据文件可加载为止。

从表1中的对比看,Normal策略因其扩展性强、准备工作简单、对导入的单行数据大小无限制,是优先推荐和常用的策略。本章节也将主要介绍使用GDS的并行导入方法。关于另外两种方式可以参考示例2:Shared策略导入和示例3:Private策略导入。

表1 导入策略对比

导入策略

导入前的准备

支持导入的数据格式

Normal

在数据服务器上部署GDS。支持多个GDS服务并发导入。

CSV、TEXT、FIXED。

Shared

在数据服务器上配置NFS,并将数据服务器挂载到各DN所在的主机上。各DN主机上的挂载目录需要相同。

TEXT。

单行数据大小需<1GB。

Private

将数据文件按DN数均分后上传各DN所在主机。

数据文件需不重复地保存在各主机上相同路径下以DN node_name命名的文件夹下。

CSV、TEXT、FIXED。

单行数据大小需<1GB。

GDS并发导入

  • 数据量大,数据存储在多个服务器上时,在每个数据服务器上安装配置、启动GDS后,各服务器上的数据可以并行入库。如图2所示。
    图2 多数据服务器并行导入

    GDS进程数目不能超过DN数目。如果超过,会出现一个DN连接多个GDS进程的情形,可能会导致部分GDS异常运行。

  • 数据存储在一台数据服务器上时,如果GaussDB 200及数据服务器上的I/O资源均还有可利用空间时,可以采用GDS多线程来支持并发导入。

    GDS是根据导入事务并发数来决定服务运行线程数的。也就是说即使启动GDS时设置了多线程,也并不会加速单个导入事务。未做过人为事务处理时,一条INSERT语句就是一个导入事务。

    综上,多线程的使用场景如下:

    • 多表并发导入时,采用多线程充分利用资源及提升并发导入效率。
    • 对数据量大的某一事实表的导入进行提速。

      将该事实表对应的数据拆分为多个数据文件,通过多外表同时入库的方式实现多线程并发导入。注意需确保每个外表所能读取的数据文件不重复。

导入流程

图3 并行导入流程
表2 流程说明

流程

说明

准备源数据。

准备需要导入数据库的源数据文件,并上传至数据服务器。

详细内容请参见准备源数据。

启动GDS。

在数据服务器上安装配置并启动GDS。

详细内容请参见安装配置和启动GDS。

创建外表。

创建外表用于识别数据源文件中的数据。外表中保存了数据源文件的位置、文件格式、存放位置、编码格式、数据间的分隔符等信息。

详细内容请参见创建GDS外表。

执行导入数据。

在创建好外表后,通过INSERT语句,将数据快速、高效地导入到目标表中。详细内容请参见执行导入数据。

处理错误表。

在数据并行导入发生错误时,请根据具体的错误信息进行处理,以保证导入数据的完整性。

详细内容请参见处理错误表。

优化查询效率。

导入数据后,通过ANALYZE语句生成表统计信息。ANALYZE语句会将统计结果自动存储在系统表PG_STATISTIC中。执行计划生成器会使用这些统计数据,以生成最有效的查询执行计划。

停止GDS

待数据导入完成后,登录每台数据服务器,分别停止GDS。

GDS的停止请参见停止GDS。


查看更多:华为GaussDB 200 通过外表并行导入
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

相关内容推荐

学术不端检测官网学术辑刊是什么产品的学术推广学术利益受损指什么小姐之间的学术游走肝病学术论坛李克东学术报告学术写作的定义英语学术材料汇编怎么写山东统计2009学术专刊学术沙龙论文800字传媒学术专长简要概述发表学术的网站小说学术研究微学术黄利民妇产科学术杂志我将学术的脚步谷歌学术助手失效杨雄的学术主张学术期刊广告学术发文是什么字体鬼谷子哪个学术流派学术提升程度描述医疗学术沙龙创意方案安排学术报告长寿医学学术会学术会议认证学生学术圈靠导师赚钱学术著作怎么搜阳明心学与浙江学术学术团体范例章悦学术论文主要学术成果填写格式学术研究与探索海口学术环境差学术趋势检索知乎世界学术发展历史简约学术汇报ppt模板医学术语AS指的是现代设计的学术主张期刊出版学术讲坛学术title有哪些热烈简朴校庆 繁荣学术山东统计2009学术专刊学术小萌新魏国的学术讲坛草包族科学 学术不端学术活动统计报告2017南京学术会议历史的学术名人mpt医学术语袁隆平百度学术学术青春榜样图片大全提升学术生涯肺癌国际学术大会2022仙桃学术文章怎么写益阳在线学术翻译扬雄学术史研究嵩阳书院学术地位学术副院长聘任双层错位齿轮学术标识徽标学术英语要完善以坚守学术学术报告电子学术资料投递规则杂文家学术价值学术论文交流氛围实验过程学术不端行为丝绸之路学术会高级的学术图书学术无国界英文缩写学术软件分享推荐文案越国文化国际学术学术规范与科研道德荆楚学术编号是什么广东学术会议2022科学术语造句学术不端通报网学术讲堂了吧不是罪郑州医学学术造假学术地位造句英语学术专家工作目标摘要薛鸿雁学术论文如何防范期刊学术不端早日登顶学术顶峰更大的学术背景是巴菲特谈学术视频马坝人学术问题英语作文参加学术竞赛学术交流方面AVPF医学术语英语学术期刊编辑ppt算学术不端吗会议是学术殿堂吗学术团队类别划分仙桃学术文章复现pdf《大棋局》的学术贡献科学术语分类姚正安学术报告ARRT医学术语刘晓林学术压电学术会议学术造价事件评论经验问题学术问题王利荣学术地位医生属于学术还是技术学术论文工作要点古驿道学术专著我要学术的话fast国际学术测试系统旺盛的学术活力英文学术故事是什么航海学术语英语缩写青瓷学术传承的需求意外的学术收获穷究学术是不是成语中医传统学术论文鼻出血 医学术语国际学术会议条件乡村的学术概念谷歌学术插件失效了学术性隐性课程理密不如学术学术学位需要复试么学术志已发货商丘企业学术会议蒋益 复旦 学术研讨愿您学术长青学术调查同意书高校教材学术导向国内想看谷歌学术袁智忠学术表演学术报告英文教师学术分享课题国学大师 学术超男学术会议地点 天津害怕学术不端被发现杨小军学术混子巴菲特谈学术视频科研外包学术造假学术访谈的特点包括研究生学术生态保研学术学费课外学术路演金川区学术氛围学术出版下坡路学术英语中副词位置西方学术视频讲解教程产业的突破在于学术123学术网是不是医学术语PROS智能控制学术沙龙学术汇报的ppt模板学术出版伦理问题迷雾中的学术道路学术不端名言警句懒得跑步高端学术说法王庆学术与富贵学术研究资金申报梦见自己去学术学术比赛赛后采访隧道学术公众号党纪处理规定学术不端怎么关注学术圈的梦见研究学术理论传播学学术项目理工学术院专业新媒体学术大会河池学院学术讲座无用知识与学术泡沫学术编辑培训机构医学术语wps学术智慧的品质反对学术英语的看法瑞士的学术简称是2021学术型硕士医学术语animal黄石高校学术专著化学专业学术创新活动肩头医学术语失明的学术名称学术城邦文献综述饮食咸学术语学术会议观众领队江苏学术展厅设计报价学术高清图片资源在线台湾名嘴学术界高水平学术会议学术规范与科研道德段明辉学术视频证券方面的学术图片商丘企业学术会议环境专业学术评估排名地表最好的学术美国专业学术制度学术型博士英文缩写学术成果累累的近义词朝阳学术论坛天津学术圈乱怎么拉拢学术大牛

合作伙伴

合毅科技

idc.urkeji.com
www.kmpower.cn
www.jsfengchao.com
www.zhdaili.cn
seo.china185.com
www.clhczx.cn
www.akz.net.cn
top1.urkeji.com
seo.chaoshanxing.com
www.turkonezi.com
www.chaoshanxing.com
www.mtcddc.cn
www.xtcwl.com
www.imcrd.com
zz.urkeji.com
idc.urkeji.com
www.andmedia.cn
www.mtcddc.cn
dh.jsfengchao.com
www.bbswimming.cn