CN106383846A - 一种分布式数据库系统数据的加载方法及装置 - Google Patents

一种分布式数据库系统数据的加载方法及装置 Download PDF

Info

Publication number
CN106383846A
CN106383846A CN201610777795.6A CN201610777795A CN106383846A CN 106383846 A CN106383846 A CN 106383846A CN 201610777795 A CN201610777795 A CN 201610777795A CN 106383846 A CN106383846 A CN 106383846A
Authority
CN
China
Prior art keywords
data
loading
instruction
node
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610777795.6A
Other languages
English (en)
Inventor
崔维力
武新
张绍勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Original Assignee
TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd filed Critical TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Priority to CN201610777795.6A priority Critical patent/CN106383846A/zh
Publication of CN106383846A publication Critical patent/CN106383846A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式数据库系统数据的加载方法及装置,其中,所述分发方法包括:管理节点接收用户加载数据的指令,所述指令包括加载参数;管理节点根据所述指令确定加载的数据量,并确定加载数据的节点数量;根据加载的数据量和所述加载数据的节点数量对加载数据进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令。完成数据的加载。可以将加载任务发送至计算节点,以使得计算节点加载数据。解决了文件服务器成为加载瓶颈的问题。

Description

一种分布式数据库系统数据的加载方法及装置
技术领域
本发明属于分布式数据库技术领域,尤其是涉及一种分布式数据库系统数据的加载方法及装置。
背景技术
分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式架构发展,基于关系型的分布式数据库在保留了传统数据库的数据模型和基本特征下,从集中式存储走向分布式存储,从集中式计算走向分布式计算。
分布式数据库集群的数据加载面对的是海量数据,原有的加载方式是部署多个数据源的文件服务器,加载程序也部署在文件服务器上,加载程序读取本地文件进行解析,hash运算后进行数据分发到各个计算节点,各个计算节点接收数据进行加载,同时对副本也需要加载一次,带来的问题是加载服务器需要进行数据的解析和hash运算,成为系统的瓶颈,例外副本数据需要加载两次,带来网络带宽的消耗。
发明内容
本发明实施例提供了一种分布式数据库系统数据的加载方法及装置,以解决加载节点运算量大的技术问题。
一方面,本发明实施例提供了一种分布式数据库系统数据的加载方法,包括:
管理节点接收用户加载数据的指令,所述指令包括加载参数;
管理节点根据所述指令确定加载的数据量,并确定加载数据的节点数量;
根据加载的数据量和所述加载数据的节点数量对加载数据的指令进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令完成数据的加载。
进一步的,所述加载数据的指令,包括:SQL指令。
进一步的,所述方法还包括:计算节点接收管理节点发送的分配指令,并解析所述分配指令;
根据解析结果获取行数据和列数据,并按照所述行数据和列数据进行数据加载。
进一步的,在进行数据加载之后,还包括:
向副本节点转发所述加载的数据。
更进一步的,所述根据解析结果获取行数据和列数据,包括:
获取行数据和列数据,对列数据进行哈希运算。
另一方面,本发明实施例还提供了一种分布式数据库系统数据的加载装置,包括:
一种分布式数据库系统数据的分发装置;
一种分布式数据库系统数据的加载装置。
进一步的,所述分发装置还包括:
指令接收单元,用于接收用户加载数据的指令,所述指令包括加载参数;
确定单元,用于根据所述指令确定加载的数据量,并确定加载数据的节点数量;
分配单元,用于根据加载的数据量和所述加载数据的节点数量对加载数据进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令。完成数据的加载。
进一步的,所述的分发装置所加载数据的指令,包括:SQL指令。
进一步的,所述加载装置,还包括:
解析单元,用于接收管理节点发送的分配指令,并解析所述分配指令;
加载单元,用于根据解析结果获取行数据和列数据,并按照所述行数据和列数据进行数据加载。
转发单元,用于向副本节点转发所述加载的数据。
进一步的所述加载单元,还包括:获取行数据和列数据,对列数据进行哈希运算。
本发明实施例提供的分布式数据库系统数据的加载方法及装置,通过管理节点根据所述指令确定加载的数据量,并确定加载数据的节点数量;
根据加载的数据量和所述加载数据的节点数量对加载数据的指令进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令,完成数据的加载。可以将加载任务发送至计算节点,以使得计算节点加载数据。解决了文件服务器成为加载瓶颈的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的分布式数据库系统数据的分发方法的流程示意图;
图2是本发明实施例二提供的分布式数据库系统数据的加载方法的流程示意图;
图3是本发明实施例三提供的分布式数据库系统数据的分发装置的结构示意图;
图4是本发明实施例四提供的分布式数据库系统数据的加载装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的分布式数据库系统数据的加载方法的流程图,本实施例可适用于分布式数据库系统数据加载的情况,该方法可以由布式数据库系统数据的加载装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统的管理节点中。
参见图1,所述分布式数据库系统数据的分发方法,包括:
S110,管理节点接收用户加载数据的指令,所述指令包括加载参数。
分布式数据库系统通常包括管理节点集群和运算节点集群,通过管理集群的任何一个节点作为入口,用户可以输入加载数据的指令,管理节点负责接收用户的加载数据指令,示例性的,加载数据的指令包括SQL,SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。SQL需要配置加载参数,例如数据源的url(数据源支持ftp,http,hdfs),行分割符,列分割符,包围符,转义符等加载参数。
S120,管理节点根据所述指令确定加载的数据量,并确定加载数据的节点数量。
管理节点根据SQL中配置的数据源上需要加载文件个数和数据大小根据计算节点数进行加载任务的分配。
S130,根据加载的数据量和所述加载数据的节点数量对加载数据的指令进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令。完成数据的加载。
各个计算节点从数据源获得分配给自己的加载数据后,按照该SQL中配置的行分割符,列分割符,包围符,转义符对数据进行解析,获得行数据和各个列数据,然后按照hash列数据进行hash运算,完成数据的加载。
本实施例提供的分布式数据库系统数据的分发方法,通过管理节点根据所述指令确定加载的数据量,并确定加载数据的节点数量;根据加载的数据量和所述加载数据的节点数量对加载数据的指令进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令。完成数据的加载。可以将加载任务发送至计算节点,以使得计算节点加载数据。解决了文件服务器成为加载瓶颈的问题。
实施例二
图2为本发明实施例二提供的分布式数据库系统数据的加载方法的流程图,本实施例可适用于分布式数据库系统数据加载的情况,该方法可以由布式数据库系统数据的加载装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统的计算节点中。
参见图2,所述分布式数据库系统数据的加载方法,包括:
S210,计算节点接收管理节点发送的分配指令,并解析所述分配指令。
计算节点集群中的节点接收到管理节点下发的SQL后,负责解析SQL,并从下发SQL中设置的数据源上按照ftp,http,hdfs协议从数据源获得数据。
S220,根据解析结果获取行数据和列数据,并按照所述行数据和列数据进行数据加载。
获取行数据和列数据,对列数据进行哈希运算。在对数据进行解析,获得行数据和各个列数据,然后按照hash列数据进行hash运算。
本实施例提供的分布式数据库系统数据的加载方法,通过对分配命令的解析,并根据解析结果获取加载的数据进行加载,通过计算节点进行运算和加载,可以解决了文件服务器成为加载瓶颈的问题。
在本实施例的一个优选实施方式中,在进行数据加载之后,还包括:向副本节点转发所述加载的数据。通过对列数据进行哈希运算。获取同一个计算集群中的副本点对应的数据,并将加载的数据转发至副本节点。转发的数据是入库后的压缩数据,属于其他节点的数据将分发给其他节点进行加载,同时接收来自其他节点分发给属于该节点的数据。转发的数据是入库后的压缩数据,属于其他节点的数据将分发给其他节点进行加载。
实施例三
图3是本发明实施例三提供的分布式数据库系统数据的分发装置的结构示意图,如图3所示,所述装置包括:
指令接收单元310,用于接收用户加载数据的指令,所述指令包括加载参数;
确定单元320,用于根据所述指令确定加载的数据量,并确定加载数据的节点数量;
分配单元330,用于根据加载的数据量和所述加载数据的节点数量对加载数据进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令,完成数据的加载。
本发明实施例提供的分布式数据库系统数据的分发装置,通过接收用户加载数据的指令,确定加载的数据量及加载数据的节点数量,对加载数据进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令,完成数据的加载。
进一步的,所述的分发装置所加载数据的指令,还包括:
SQL指令。
实施例四
图4是本发明实施例四提供的分布式数据库系统数据的加载装置的结构示意图,如图4所示,所述装置包括:
解析单元410,用于接收管理节点发送的分配指令,并解析所述分配指令;
加载单元420,用于根据解析结果获取行数据和列数据,并按照所述行数据和列数据进行数据加载。
转发单元430,用于向副本节点转发所述加载的数据。
本发明实施例提供的分布式数据库系统数据的加载装置,通过接收管理节点发送的分配指令,解析所述分配指令,并根据解析结果进行数据加载,向副本节点转发所加载的数据。解决了文件服务器成为加载瓶颈的问题。
进一步的,所述加载单元用于:
获取行数据和列数据,对列数据进行哈希运算。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种分布式数据库系统数据的分发方法,其特征在于,包括:
管理节点接收用户加载数据的指令,所述指令包括加载参数;
管理节点根据所述指令确定加载的数据量,并确定加载数据的节点数量;
根据加载的数据量和所述加载数据的节点数量对加载数据进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令。完成数据的加载。
2.根据权利要求1所述的方法,其特征在于,所述加载数据的指令,包括:SQL指令。
3.一种分布式数据库系统数据的加载方法,其特征在于,包括:
计算节点接收管理节点发送的分配指令,并解析所述分配指令;
根据解析结果获取行数据和列数据,并按照所述行数据和列数据进行数据加载。
4.根据权利要求3所述的方法,其特征在于:在进行数据加载之后,还包括:
向副本节点转发所述加载的数据。
5.根据权利要求3所述的方法,其特征在于,所述根据解析结果获取行数据和列数据,包括:
获取行数据和列数据,对列数据进行哈希运算。
6.一种分布式数据库系统数据的分发装置,其特征在于,包括:
指令接收单元,用于接收用户加载数据的指令,所述指令包括加载参数;
确定单元,用于根据所述指令确定加载的数据量,并确定加载数据的节点数量;
分配单元,用于根据加载的数据量和所述加载数据的节点数量对加载数据进行分配,并将分配指令下发给运算节点,以使得运算节点根据所述分配指令。完成数据的加载。
7.根据权利要求6所述的装置,其特征在于,所述加载数据的指令,包括:SQL指令。
8.一种分布式数据库系统数据的加载装置,其特征在于,包括:
解析单元,用于接收管理节点发送的分配指令,并解析所述分配指令;
加载单元,用于根据解析结果获取行数据和列数据,并按照所述行数据和列数据进行数据加载。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
转发单元,用于向副本节点转发所述加载的数据。
10.根据权利要求8所述的装置,其特征在于,所述加载单元用于:
获取行数据和列数据,对列数据进行哈希运算。
CN201610777795.6A 2016-08-31 2016-08-31 一种分布式数据库系统数据的加载方法及装置 Pending CN106383846A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610777795.6A CN106383846A (zh) 2016-08-31 2016-08-31 一种分布式数据库系统数据的加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610777795.6A CN106383846A (zh) 2016-08-31 2016-08-31 一种分布式数据库系统数据的加载方法及装置

Publications (1)

Publication Number Publication Date
CN106383846A true CN106383846A (zh) 2017-02-08

Family

ID=57939280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610777795.6A Pending CN106383846A (zh) 2016-08-31 2016-08-31 一种分布式数据库系统数据的加载方法及装置

Country Status (1)

Country Link
CN (1) CN106383846A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860349A (zh) * 2022-07-06 2022-08-05 深圳华锐分布式技术股份有限公司 数据加载方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741844A (zh) * 2009-12-11 2010-06-16 北京工业大学 一种基于中心索引的p2p文件共享网络的对等节点发现方法
CN101741911A (zh) * 2009-12-18 2010-06-16 中兴通讯股份有限公司 基于多副本协同的写操作方法、系统及节点
CN103544285A (zh) * 2013-10-28 2014-01-29 华为技术有限公司 一种数据加载方法及装置
CN104407879A (zh) * 2014-10-22 2015-03-11 江苏瑞中数据股份有限公司 一种电网时序大数据并行加载方法
CN105474177A (zh) * 2013-05-31 2016-04-06 日本电气株式会社 分布式处理系统、分布式处理设备、分布式处理方法和分布式处理程序

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741844A (zh) * 2009-12-11 2010-06-16 北京工业大学 一种基于中心索引的p2p文件共享网络的对等节点发现方法
CN101741911A (zh) * 2009-12-18 2010-06-16 中兴通讯股份有限公司 基于多副本协同的写操作方法、系统及节点
CN105474177A (zh) * 2013-05-31 2016-04-06 日本电气株式会社 分布式处理系统、分布式处理设备、分布式处理方法和分布式处理程序
CN103544285A (zh) * 2013-10-28 2014-01-29 华为技术有限公司 一种数据加载方法及装置
CN104407879A (zh) * 2014-10-22 2015-03-11 江苏瑞中数据股份有限公司 一种电网时序大数据并行加载方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860349A (zh) * 2022-07-06 2022-08-05 深圳华锐分布式技术股份有限公司 数据加载方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
TWI698108B (zh) 基於區塊鏈的資料處理方法和裝置
CN105049268B (zh) 分布式计算资源分配系统和任务处理方法
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
CN104160381B (zh) 多租户环境中租户特定数据集的管理方法及其系统
CN103338135B (zh) 一种集群存储容量的实时监控方法
CN104050042B (zh) Etl作业的资源分配方法及装置
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法
CN111708641B (zh) 一种内存管理方法、装置、设备及计算机可读存储介质
CN108351900A (zh) 用于分片的关系数据库组织
CN110134516A (zh) 金融数据处理方法、装置、设备及计算机可读存储介质
CN106843745A (zh) 容量扩展方法及装置
CN103957270B (zh) 一种云原子单元投递与部署的方法及装置
JPH04299414A (ja) コンピュータシステムの性能を動的にモデル化するインタフェース
CN105468619B (zh) 用于数据库连接池的资源分配方法和装置
US9477535B2 (en) Connection pool for accessing a backend processing system
CN108196787A (zh) 集群存储系统的配额管理方法以及集群存储系统
CN107368583A (zh) 一种多集群信息查询的方法及系统
CN107370796A (zh) 一种基于Hyper TF的智能学习系统
CN107402926A (zh) 一种查询方法以及查询设备
Doğan A study on performance of dynamic file replication algorithms for real-time file access in data grids
CN113590576A (zh) 数据库参数调整方法、装置、存储介质以及电子设备
CN103631931A (zh) 一种数据分级存储方法及系统
CN102779160B (zh) 海量数据信息索引系统和索引构建方法
CN107766378A (zh) 请求信息的发送方法及装置、分布式数据库系统
CN112148689A (zh) 一种用于城市级数据中台的数据共享交换系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170208