CN103748578A - 数据分布的方法、装置及*** - Google Patents

数据分布的方法、装置及*** Download PDF

Info

Publication number
CN103748578A
CN103748578A CN201280002465.XA CN201280002465A CN103748578A CN 103748578 A CN103748578 A CN 103748578A CN 201280002465 A CN201280002465 A CN 201280002465A CN 103748578 A CN103748578 A CN 103748578A
Authority
CN
China
Prior art keywords
distribution
sequence
logical data
data table
control node
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.)
Granted
Application number
CN201280002465.XA
Other languages
English (en)
Other versions
CN103748578B (zh
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103748578A publication Critical patent/CN103748578A/zh
Application granted granted Critical
Publication of CN103748578B publication Critical patent/CN103748578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据分布的方法、装置及***,涉及信息技术领域,为节省查询时间,提高查询效率而发明。所述方法包括:在数据查询前,控制节点根据创建规则设置分布表创建指示,所述分布表创建指示中携带逻辑数据表的标识ID以及选定分布列的分布列标识,其中所述选定分布列为所述逻辑数据表中的分布列,所述逻辑数据表为所述控制节点中已创建的逻辑数据表;所述控制节点向数据节点发送所述分布表创建指示,以便所述数据节点根据所述分布表创建指示创建所述逻辑数据表的分布表。本发明主要应用于并行数据库***中的数据分布过程中。

Description

数据分布的方法、 装置及*** 技术领域
本发明涉及信息技术领域, 尤其涉及一种数据分布的方法、 装置及***。 背景技术
并行数据库***是一种将数据内容分布存储在多个数据节点上的数据存 储技术, 可以根据哈希(Hash )、 范围 ( Range )、 轮转(Round-bin )等算法, 将一个逻辑数据表分布在各个数据节点上。 并行数据库***在各个数据节点 上并行查询用户需要的数据内容, 相对非并行数据库***而言查询速度快, 并且易于管理数据内容。
通常,逻辑数据表中会包含多个字段, 并行数据库***以其中的一个(或 多个 ) 字段内容作为上述算法的自变量对该逻辑数据表在数据节点上进行分 布存储, 作为自变量的字段称为该逻辑数据表的分布列。
现有技术中, 并行数据库***对多个逻辑数据表的分布表进行分布列联 合(Join ) 查询时, 如果具有查询关系的多个分布表的分布列不相同, 则需 要根据多个分布表共有的分布列对多个逻辑数据表重新进行分布, 从而影响 查询效率。 发明内容
本发明的实施例提供一种数据分布的方法、 装置及***, 能够节省查询 时间, 提高查询效率。
一方面, 本发明实施例提供了一种数据分布的方法, 包括:
在数据查询前, 控制节点根据创建规则设置分布表创建指示, 所述分布 表创建指示中携带逻辑数据表的标识 ID以及选定分布列的分布列标识, 其中 所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为所述控制 节点中已创建的逻辑数据表;
所述控制节点向数据节点发送所述分布表创建指示, 以便所述数据节点 根据所述分布表创建指示创建所述逻辑数据表的分布表。
另一方面, 本发明实施例还提供了一种控制节点, 包括:
处理单元, 用于在数据查询前, 根据创建规则设置分布表创建指示, 所 述分布表创建指示中携带逻辑数据表的标识 ID 以及选定分布列的分布列标 识, 其中所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为 所述控制节点中已创建的逻辑数据表;
发送单元, 用于向数据节点发送所述处理单元设置的所述分布表创建指 示, 以便所述数据节点根据所述分布表创建指示创建所述逻辑数据表的分布 表。
最后, 本发明实施例还提供了一种数据分布的***, 包括:
控制节点, 用于在数据查询前, 根据创建规则设置分布表创建指示, 所 述分布表创建指示中携带逻辑数据表的标识 ID 以及选定分布列的分布列标 识, 其中所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为 所述控制节点中已创建的逻辑数据表, 向数据节点发送所述分布表创建指示; 所述数据节点, 用于在数据查询前, 接收所述控制节点发送的所述分布 表创建指示, 根据所述分布表创建指示创建所述逻辑数据表的分布表。
本发明实施例提供的数据分布的方法、 装置及***, 能够在数据查询前, 根据创建规则按照相同的分布列将多个逻辑数据表分布存储在各个数据节点 上, 分布存储后各个数据节点上建立的分布表用于后续的数据查询。 可以避 免在分布列联合查询的过程中, 当具有查询关系的多个分布表的分布列不相 同时, 需要将多个逻辑数据表重新分布存储在各个数据节点上的问题, 可以 避免在分布列联合查询的过程中大量数据迁移带来的查询时延, 能够提高查 询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为并行数据库***的架构的示意图;
图 2为并行数据库***中逻辑数据表的示意图;
图 3为数据节点创建分布表的示意图;
图 4为另一个数据节点创建分布表的示意图;
图 5为本发明实施例中数据分布的方法的流程图;
图 6为本发明实施例中另一个数据分布的方法的流程图;
图 7为本发明实施例中应用场景的示意图;
图 8为本发明实施例中控制节点的结构示意图;
图 9为本发明实施例中数据分布的***示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例 , 都属于本发明保护的范围。
图 1 为并行数据库***的一种架构, 控制节点连接了三个数据节点, 控 制节点和每个数据节点都有独立的中央处理器(Centra l Proces s ing Uni t , 简称 CPU )、 存储器(内存、 硬盘)、 节点与节点之间通过高速网络(例如以太 网、 光纤交换网) 实现数据通信。 其中, 控制节点主要用于: 1、 根据逻辑数 据表的字段以及预设算法将待管理数据分布存储到各个数据节点上, 所述逻 辑数据表为存储在控制节点中的具有数据结构属性的数据表, 所述逻辑数据 表为数据节点创建分布表的逻辑依据; 2、 为客户端提供查询接口, 例如结构 化查询语言( Structured Query Language ,简称 SQL )、 Java数据库连接( Java Data Base Connect ivi ty, f¾ JDBC )、 开放数据库互连 ( Open Database Connect ivi ty, ODBC )等; 3、 根据客户端的查询请求处理各个数据节点反馈 的查询结果。 数据节点主要用于: 受控制节点控制根据分布列建立逻辑数据 表的分布表、 与其他数据节点进行数据迁移、 作为独立数据库节点实现分布 表的存储和查询。
以存储教学数据信息为例: 图 2中有三个逻辑数据表, 逻辑数据表 A (后 续简称为表 A )存储学号与姓名的数据, 逻辑数据表 B (后续简称为表 B)存 储学号、 课程标识以及成绩的数据, 逻辑数据表 C (后续简称为表 C)存储课 程标识与课程名称的数据。 其中, 逻辑数据表中的任意一列 (或称为字段或 属性) 均可作为该逻辑数据表分布存储的分布列, 例如表 B 中的学号、 课程 标识和成绩为表 B 的三个字段。 控制节点将学号字段作为分布列, 通过哈希 (Hash)模 3算法将表 A的数据分布存储到三个数据节点上。 如图 3所示, 学号 1除 3余 1, 则学号 1以及学号 1对应的姓名 (即表 A中的第一行数据) 存储到数据节点 1上, 学号 2除 3余 2, 则表 A中的第二行数据存储到数据节 点 2上, 学号 3除 3余 0, 则表 A中的第三行数据存储到数据节点 0上, 其中 哈希模 3算法中的除数 3为并行数据库***中数据节点的个数。 同理, 控制 节点分别以学号字段和课程标识字段作为分布列, 将表 B和表 C的数据分布 存储到三个数据节点上。 其中, 控制节点将学号字段作为表 B的分布列 (j ) 通过哈希模 3算法对表 B进行分布, 将课程标识字段作为表 C的分布列 (k) 通过哈希模 3算法对表 C进行分布。 逻辑数据表分布后, 每个数据节点上建 立的数据表称为该逻辑数据表的分布表, 分布表的名称可以由逻辑数据表标 识 +数据节点标识 +分布列标识来表示, 例如数据节点 1 中的 B+mdtl+j, 表示 数据节点 1以学号字段 ( j )作为分布列创建表 B的分布表。 当客户端执行查 询语句 select stu.name, course. id from A, B where A: stu_id=B: stu.id 时, 该查询语句表示通过表 A和表 B的分布列联合查询 ( from A, B ), 查询姓 名、 课程标识和成绩的数据, 以及三者之间的对应关系 (select stu.name, course-id ), 其中表 A和表 B均以学号字段作为分布列分布存储在各个数据 节点上( A: stu_id=B: stu_id)。 查询结果为数据节点 1查询到学号 1对应的 三个课程标识以及对应的三门成绩, 数据节点 2查询到学号 2对应的三个课 程标识以及对应的三门成绩, 数据节点 0查询到学号 3对应的三个课程标识 以及对应的三门成绩。 三个数据节点分别将查询结果上报给控制节点, 控制 节点将接收的查询结果汇总上报给客户端, 从而完成查询。
当客户端执行查询语句 Selec t s tu_ id, course_name from B, C where B: cour se_ id=C: course_ id时, 由于表 B的分布列为学号字段, 而表 C的分布 列为课程标识字段, 两表的分布列不同, 所以数据节点 1 只能查询到学号 1 对应的课程标识 1的课程名称, 学号 1对应的课程标识 2和 3的课程名称则 无法查询, 并且数据节点 2和数据节点 0上也无法查询学号 1对应的课程标 识 2和 3的课程名称, 类似的, 数据节点 2和数据节点 0也存在相同的问题。 此时控制节点需要以课程标识字段作为分布列对表 B重新进行分布 (由于表 C 没有学号字段, 为使表 B和表 C按照相同的分布列进行分布, 需要以课程标 识字段作为分布列对表 B按照哈希模 3算法重新进行分布, 重新创建表 B的 分布表)。 三个数据节点上为表 B重新创建的分布表如图 4所示, 其中分布表 名称中的 k为代表课程标识字段作为分布列的分布列标识。
在重新创建完成表 B 的分布表后, 控制节点控制三个数据节点进行数据 迁移, 以便数据节点从其他数据节点处获取自身重建的分布表中新增表项所 对应的数据。 例如, 在数据节点 1中的分布表 B+mdt l+k中, 新增了学号 2和 学号 3分别对应的课程 1及课程 1成绩两行表项, 而数据节点 1在创建分布 表 B+mdt l+j 时不涉及这两行表项, 所以数据节点 1在创建分布表 B+mdt l+j 时未获取这两行表项的数据。 数据节点 1从数据节点 2处获取学号 2对应的 课程 1及课程 1成绩的数据(即 B+mdt2+j 中第一行表项对应的数据), 从数 据节点 0处获取学号 3对应的课程 1及课程 1成绩的数据 (即 B+mdt O+j中第 一行表项对应的数据)。 数据节点 2和数据节点 0重建表 B的分布表后, 同样 按照自身表项特征执行相应步骤, 此处不进行——贅述。
数据节点获取到重建表 B分布表需要的数据后, 将该数据添加到重建的 表 B分布表中对应的表项里, 从而完成重建表 B的分布表。 此时, 控制节点 就可以控制数据节点根据表 C的分布表以及重建后表 B的分布表查询到每个 学号对应的三门课程的课程名称了。
各个数据节点上对应同一个逻辑数据表的分布表的加和可以完整反映该 逻辑数据表的内容。
本发明实施例提供了一种数据分布的方法, 如图 5 所示, 所述方法包括 如下步骤:
501、 在数据查询前, 控制节点根据创建规则设置分布表创建指示。
所述分布表创建指示中携带逻辑数据表的标识(Ident i ty, 简称 ID ) 以 及选定分布列的分布列标识, 其中所述选定分布列为所述逻辑数据表中的分 布列, 所述逻辑数据表为所述控制节点中已创建的逻辑数据表。
所述逻辑数据表的 ID用于唯一标识逻辑数据表, 所述分布列标识用于唯 一标识选定的分布列。 所述分布表创建指示中可以携带一个或多个逻辑数据 表 ID以及一个或多个分布列标识, 当携带多个分布列标识时, 所述多个分布 列标识可以是一个逻辑数据表中的多个分布列标识, 也可以是多个逻辑数据 表中的多个分布列标识。
以图 4中数据节点 1上的分布表 B+mdt l + j为例, B为表 B的 ID, j为以 学号字段作为分布列的分布列标识, mdt l为数据节点的标识。
502、 控制节点向数据节点发送分布表创建指示。
数据节点根据所述分布表创建指示中的逻辑数据表 ID以及分布列标识创 建该逻辑数据表的分布表, 并完成数据节点间的数据迁移。
现有技术中, 在客户端输入查询语句后 (即开始查询后), 如果参与分布 列联合查询的多个分布表不是按同一分布列分布存储的, 则需要在各个数据 节点上根据相同分布列对相应的逻辑数据表重新进行分布, 并且在数据节点 间进行数据迁移, 查询过程中的数据迁移会占用大量的查询时间, 降低查询 效率。 本发明实施例提供的数据分布的方法, 能够在数据存储阶段, 按照创 建规则选定分布列, 数据节点基于选定分布列创建的分布表用于后续的分布 列联合查询。 当客户端输入查询语句时, 数据节点直接根据按照预定分布列 创建的多个分布表进行分布列联合查询, 可以节省查询时间, 提高查询效率。
进一步的, 作为对图 5 所示实施例的进一步扩展, 本发明实施例还提供 了一种数据分布的方法, 如图 6所示, 所述方法包括如下步骤: 601、 在数据查询前, 控制节点根据在预设周期内对逻辑数据表的统计结 果创建规则设置分布表创建指示。
控制节点根据对逻辑数据表的数据的统计结果将逻辑数据表的至少一个 字段作为选定分布列, 将选定分布列的分布列标识以及逻辑数据表的 ID添加 到所述分布表创建指示中。
控制节点的统计对象为并行数据库***中所有已创建的逻辑数据表, 即 图 2中表 A、 表 B和表 C。 所述统计结果包括: 在一个预设周期内, 逻辑数据 表被查询的次数、 逻辑数据表被查询的表项数据占该逻辑数据表总表项数据 的比例以及逻辑数据表中分布列被查询的次数。 其中, 逻辑数据表被调用的 次数为在一个预设周期内该逻辑数据表参与分布列联合查询的次数; 逻辑数 据表被调用的表项数据占该逻辑数据表总表项数据的比例为在一个预设周期 内, 逻辑数据表中任意一行表项数据的累计被访问量占该逻辑数据表总表项 数据的比例, 例如, 某逻辑数据表一共有三行表项数据, 第二阈值为 120%。 在 5分钟内该逻辑数据表中第一行表项数据被查询了 4次, 则该行表项数据 的查询量为 4行(累计值), 该行表项数据的查询量占该逻辑数据表总表项数 据的 133% ( 4/ 3=1. 33 ), 超过 120%的第二阈值。 其中, 任意一行表项数据被 查询不限于被分布列联合查询。 逻辑数据表中分布列被查询的次数为在一个 预设周期内, 逻辑数据表中任意一个字段被作为分布列查询的次数, 所述查 询不限于分布列联合查询。
具体的:
A )在一个预设周期内, 当逻辑数据表被查询的次数超过第一阈值时, 控 制节点将逻辑数据表的 ID以及该逻辑数据表中所有字段(作为分布列)的分 布列标识添加到分布表创建指示中。
B )在一个预设周期内, 当逻辑数据表中被查询的表项数据占该逻辑数据 表总表项数据的比例超过第二阈值时, 控制节点将该逻辑数据表的 ID以及该 逻辑数据表中所有字段(作为分布列) 的分布列标识添加到分布表创建指示 中。 C )在一个预设周期内, 当逻辑数据表中分布列被查询的次数超过第三阈 值时, 控制节点将该逻辑数据表的 ID以及该逻辑数据表中被查询次数超过第 三阈值的分布列的分布列标识添加到分布表创建指示中。
在本发明实施例中, 控制节点可以根据上述三个统计结果中的任意一个 统计结果设置分布表创建指示, 例如:
当逻辑数据表被查询的次数和逻辑数据表被查询的表项数据占该逻辑数 据表总表项数据的比例均未达到各自阈值时, 控制节点不将逻辑数据表的 ID 添加到分布表创建指示中。 当逻辑数据表被查询的次数或逻辑数据表被查询 的表项数据占该逻辑数据表总表项数据的比例这两个条件中任意一项达到其 相应阈值时,控制节点将逻辑数据表的 ID以及该逻辑数据表中所有的字段 (作 为分布列) 的分布列标识添加到分布表创建指示中。 当逻辑数据表中分布列 被查询的次数达到第三阈值时, 控制节点将查询次数达到第三阈值的分布列 的分布列标识以及该逻辑数据表的 ID添加到分布表创建指示中。
可选的, 控制节点还可以将上述三种统计结果进行组合, 作为添加逻辑 数据表 ID及分布列标识的依据。 例如, 在 5分钟的预设周期内, 若某逻辑数 据表满足還辑表达式 (Join Times>6) and (Pacces sed Lines Percent >180%) and (CFrenqence>8) , 则将该逻辑数据表的 ID及相应分布列标识添加 到分布表创建指示中。 其中, (Join Times>6)表示该逻辑数据表被查询的次 数大于 6次, (Pacces sed Lines Percent 〉180%)表示该逻辑数据表中某一表 项数据的查询量占该逻辑数据表总表项数据的比例大于 180%, (CFrenqence>8) 表示该逻辑数据表中某一分布列被查询的次数大于 8次, and表示三个判决条 件之间为与的关系, 即同时满足上述三个判决条件。 或者, 某逻辑数据表的 還辑表达式还可以为 ( Pacces sed L ines Percent>5/ Join Times>50% ) and ( CFrenqence>6 ),其中, "/" 表示或关系, 两个判决条件择一即可。
控制节点控制数据节点创建分布表的语句为:
CREATE [TEMP] TABLE table.name (create—def ini t ion . ) [Distribution on KEY column..name [, column_name, ···] -用来定义分 布列
[INHERITS (table-name)]
[TABLESPACE tablespace] al lowMult ipleDistr ibution -指出允许分布 其中加重字体为在当前标准 SQL语言中新增的定义, 解译如下:
控制节点控制数据节点创建分布表的语句为: [Distribution on KEY column-name [, column_name, ···] … a llowMult ipleDistr ibution , 其中, column-name为分布歹1 J标识, column—name [, column—name,…]表示可以以多个 分布列作为分布算法的自变量, allowMultipleDistribution表示允许创建分 布表。
此外, 控制节点还可以根据客户端的创建指示将逻辑数据表的 ID以及逻 辑数据表的选定分布列的分布列标识添加到分布表创建指示中。 例如控制节 点接收的创建指示中包含查询者或数据库管理员选定的逻辑数据表 ID和该逻 辑数据表中的至少一个分布列的分布列标识。 控制节点将创建指示中的逻辑 数据表 ID和选定分布列的分布列标识添加到分布表创建指示中。
进一步的, 为节省数据节点的存储空间, 控制节点还可以定期删除数据 节点中未被查询或很少被查询的分布表。 具体的, 控制节点统计数据节点中 各个分布表被查询的次数, 如果在一个预设周期内存在被查询次数小于第四 阈值的分布表, 则控制节点向该分布表所属的数据节点发送分布表删除指示, 所述分布表删除指示携带被查询次数小于第四阈值的分布表对应分布列的分 布列标识, 以及所述分布列所属的逻辑数据表的 ID。 数据节点接收到所述分 布表删除指示后, 根据其中携带的逻辑数据表 I D以及分布列标识删除对应的 分布表。
再进一步的, 为避免数据节点重复创建分布表, 控制节点在设置分布表 创建指示时, 还可以判断数据节点是否已根据所述逻辑数据表的 ID以及选定 分布列的分布列标识创建所述逻辑数据表的分布表, 所述逻辑数据表的 ID为 控制节点添加到分布表创建指示中的逻辑数据表的 ID, 所述选定分布列的分 布列标识为控制节点添加到分布表创建指示中的分布列标识。 如果数据节点 已经按照该逻辑数据表 ID以及选定分布列的分布列标识创建该逻辑数据表的 分布表, 则控制节点不将所述逻辑数据表的 ID以及选定分布列的分布列标识 添加到分布表创建指示中。
602、 控制节点向数据节点发送分布表创建指示。
控制节点向数据节点发送分布表创建指示 , 以便数据节点根据分布表创 建指示中逻辑数据表的 ID、 分布列标识以及预设的分布算法为该逻辑数据表 创建分布表。
具体的, 为表 B创建的分布表如图 4中 B+mdt l+k、 B+mdt 2+k和 B+mdt O+k 表格所示。 数据节点可以将逻辑数据表的一个字段作为分布列创建一个分布 表(如图 3所示), 也可以将逻辑数据表的两个或多个字段作为分布列创建一 个分布表。 例如将学号字段和成绩字段加和作为模 3 算法的自变量。 当数据 节点根据逻辑数据表的一个字段(例如学号字段)创建一个分布表时, 数据 节点可创建分布表的最大数量为该逻辑数据表的字段数量。 当根据逻辑数据 表的两个或多个字段创建一个分布表时, 数据节点可创建分布表的最大数量 为该逻辑数据表至少两个字段的排列组合, 可创建的分布表数量大于该逻辑 数据表中字段的数量。
在本发明实施例中, 数据节点进行分布或者创建分布表时使用的分布算 法包括但不限于为哈希算法、 范围算法和轮转算法。
数据节点根据分布表创建指示创建完分布表后, 还需要从其他数据节点 处获取新建分布表中包括的、 但本数据节点中未存储的数据, 由此完成数据 节点间的数据迁移。
例如, 在图 4中, 数据节点 1在创建完分布表 B+mdt l+k后, 获取数据节 点 2和数据节点 0发送的 B+mdt 2+j表和 B+mdt O+j表中的所有表项数据。 进一步的, 为减少数据迁移量, 数据节点 1还可以只获取数据节点 2发 送的 B+mdt2+j 中第一行表项的数据, 以及数据节点 0发送的 B+mdt O+j 中第 一行表项的数据。
在数据节点创建完分布表并进行数据迁移后, 当客户端发起查询请求时 控制节点向数据节点发送查询指示, 以便数据节点进行分布列联合查询。
当进行分布列联合查询时, 可以选择查询代价较小的分布表进行查询, 所述查询代价包括但不仅限于数据迁移量。 例如, 当客户端执行查询语句 Select s tu- id, course_name f rom B, C where B: cour se. id=C: course. id时, 数据节点 1上参与分布列联合查询的数据表为 B+mdt l+k和 C+mdt l+k,两表按 照相同分布列(课程标识 k )进行分布。 数据节点 1能够查找并向控制节点上 报三个学号对应的课程 1的成绩。 同样数据节点 2和数据节点 0能够查找并 向控制节点上报三个学号对应的课程 2和课程 3的成绩。 控制节点将三个数 据节点上报的查询结果汇总反馈给客户端, 完成查询。
本发明实施例以两个数据表参与分布列联合查询为例进行说明, 实际应 用中参与分布列联合查询的数据表也可以为三个以上。
现有技术中, 在客户端输入查询语句后 (即开始查询后) 才开始根据查 询条件建立分布表并进行数据迁移, 查询过程中的数据迁移会占用大量的查 询时间, 降低查询效率。 本发明实施例提供的数据分布的方法, 能够在数据 存储阶段, 按照对预设数据的统计结果或客户端的指示选定分布列, 数据节 点基于选定分布列创建的分布表用于后续的分布列联合查询。 当客户端输入 查询语句时, 数据节点直接根据按照预定分布列创建的多个分布表进行分布 列联合查询, 可以节省查询时间, 提高查询效率。
在本发明实施例的一个应用场景中, 如图 7 所示, 控制节点可以根据客 户端指示或者统计结果指示数据节点再次创建表 B的分布表。 具体的, 701、 客户端向控制节点发送分布表创建指示, 指示在并行数据库***中为表 B创 建分布表。 702、 控制节点向三个数据节点分别发送分布表创建指示, 所述分 布表创建指示中携带表 B的 ID和分布列 (课程标识字段) 的标识。 703、 三 个数据节点根据分布表创建指示创建表 B的分布表。 704、 控制节点分别向三 个数据节点发送数据迁移指示。 705、 数据节点根据数据迁移指示进行数据迁 移。 706、 数据节点向控制节点发送创建成功消息。 707、 控制节点接收到数 据节点发送的创建成功消息后, 向客户端发送创建成功消息。
图 7 所示的应用场景, 可以在客户端查询前在各个数据节点上创建分布 表并完数据节点之间的数据迁移。 由于分布表是在客户端查询前创建的, 无 法根据查询语句中的关键字确定创建分布表的分布列, 所以在图 7 所示的应 用场景中根据对用户查询数据的统计结果或者客户端事先设置的逻辑数据表 ID和分布列创建分布表, 创建的分布表用于后续的分布列联合查询。 将创建 分布表和数据迁移的步骤转移到客户端查询前进行, 由此节省了查询过程中 创建分布表及数据迁移对查询造成的时延, 可以提高查询效率。
在本发明实施例及图 7 所示的应用场景中, 所述数据迁移具体为, 源数 据节点复制自身存储的数据, 将复制的数据传输到目的数据节点中。 数据迁 移后源数据节点中存储的数据依然存在, 实际应用中, 所述数据迁移为本领 域技术人员的公知技术手段, 本发明实施例对此不做过多介绍。
参考图 6所示方法实施例的实现, 本发明实施例还提供了一种控制节点, 用于实现图 6所示的方法实施例。 如图 8所示, 所述控制节点包括: 处理单 元 81、 发送单元 82以及接收单元 83 , 其中,
所述处理单元 81 , 用于在数据查询前, 根据创建规则设置分布表创建指 示, 所述分布表创建指示中携带逻辑数据表的 ID以及选定分布列的分布列标 识, 其中所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为 所述控制节点中已创建的逻辑数据表;
所述发送单元 82 ,用于向数据节点发送所述处理单元 81设置的所述分布 表创建指示, 以便所述数据节点根据所述分布表创建指示创建所述逻辑数据 表的分布表。
进一步的, 所述处理单元 81具体用于: 统计在预设周期内所述逻辑数据 表的数据, 得出统计结果, 根据所述统计结果将所述逻辑数据表的 ID以及所 述选定分布列的分布列标识添加到所述分布表创建指示中。
进一步的, 所述接收单元 83 , 用于接收客户端的创建指示, 所述创建指 示中携带所述逻辑数据表的 ID以及所述选定分布列的分布列标识;
所述处理单元 81还具体用于:
将所述接收单元 83接收的所述创建指示中携带的所述逻辑数据表的 ID 以及所述选定分布列的分布列标识添加到所述分布表创建指示中。
进一步的, 所述处理单元 81进一步具体用于: 在一个预设周期内, 统计 下述数据中的至少一项: 所述逻辑数据表被查询的次数、 所述逻辑数据表中 被查询的表项数据占所述逻辑数据表总表项数据的比例以及所述逻辑数据表 中分布列被查询的次数;
当所述逻辑数据表被查询的次数超过第一阈值时, 将所述逻辑数据表的 I D以及所述逻辑数据表中所有分布列的分布列标识添加到所述分布表创建指 示中;
当所述逻辑数据表中被查询的表项数据占所述逻辑数据表总表项数据的 比例超过第二阈值时, 将所述逻辑数据表的 ID以及所述逻辑数据表中所有分 布列的分布列标识添加到所述分布表创建指示中;
当所述逻辑数据表中分布列被查询的次数超过第三阈值时, 将所述逻辑 数据表的 ID以及所述逻辑数据表中被查询次数超过所述第三阈值的分布列的 分布列标识添加到所述分布表创建指示中。
进一步的, 所述发送单元 82还用于: 当所述处理单元 81统计所述逻辑 数据表中分布列对应的分布表被查询的次数小于第四阈值时, 向所述数据节 点发送分布表删除指示, 所述分布表删除指示携带被查询次数小于所述第四 阈值的分布表对应的分布列的分布列标识以及所述逻辑数据表的 ID, 所述分 布表删除指示用于指示所述数据节点删除所述被查询次数小于所述第四阈值 的分布表。
进一步的, 所述处理单元 81还用于: 在所述控制节点将所述逻辑数据表 的 I D以及所述选定分布列的分布列标识添加到所述分布表创建指示中之前, 判断所述数据节点是否已根据所述逻辑数据表的 ID以及所述选定分布列的分 布列标识创建所述逻辑数据表的分布表;
当所述数据节点未根据所述逻辑数据表的 ID以及所述选定分布列的分布 列标识创建所述逻辑数据表的分布表时, 将所述逻辑数据表的 ID以及所述选 定分布列的分布列标识添加到所述分布表创建指示中;
当所述数据节点已根据所述逻辑数据表的 ID以及所述选定分布列的分布 列标识创建所述逻辑数据表的分布表时, 不将所述逻辑数据表的 ID以及所述 选定分布列的分布列标识添加到所述分布表创建指示中。
本发明实施例提供的控制节点, 能够在数据存储阶段, 按照对预设数据 的统计结果或客户端的指示选定分布列, 数据节点基于选定分布列创建的分 布表用于后续的分布列联合查询。 当客户端输入查询语句时, 数据节点直接 根据按照预定分布列创建的多个分布表进行分布列联合查询, 可以节省查询 时间, 提高查询效率。
进一步的, 本发明实施例还提供了一种数据分布的***, 如图 9 所示, 所述***包括控制节点 91和至三个数据节点 92 , 其中,
所述控制节点 91 , 用于在数据查询前, 根据创建规则设置分布表创建指 示, 所述分布表创建指示中携带逻辑数据表的标识 ID以及选定分布列的分布 列标识, 其中所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据 表为所述控制节点中已创建的逻辑数据表, 向所述数据节点 92发送所述分布 表创建指示。
所述数据节点 92 , 用于在数据查询前,接收所述控制节点 91发送的所述 分布表创建指示, 根据所述分布表创建指示创建所述逻辑数据表的分布表。
本发明实施例提供的数据分布的***以包含三个数据节点 92为例进行说 明, 实际应用中对数据节点 92的数量不做限制。
本发明实施例提供的数据分布的***, 能够在数据存储阶段, 控制节点 按照对预设数据的统计结果或客户端的指示选定分布列, 数据节点基于选定 分布列创建的分布表用于后续的分布列联合查询。 当客户端输入查询语句时, 数据节点直接根据按照预定分布列创建的多个分布表进行分布列联合查询, 可以节省查询时间, 提高查询效率。
所属领域的技术人员可以清楚地了解到, 为描述的方便和简洁, 仅以上 述各功能模块的划分进行举例说明, 实际应用中, 可以根据需要而将上述功 能分配由不同的功能模块完成, 即将装置的内部结构划分成不同的功能模块, 以完成以上描述的全部或者部分功能。 上述描述的***, 装置和单元的具体 工作过程, 可以参考前述方法实施例中的对应过程, 在此不再贅述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的***, 装置和 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示 意性的, 例如, 所述模块或单元的划分, 仅仅为一种逻辑功能划分, 实际实 现时可以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到 另一个***, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相 互之间的耦合或直接耦合或通信连接可以是通过一些接口, 装置或单元的间 接耦合或通信连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作 为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中 , 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单 元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能单 元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本 发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个 存储介质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)或处理器(proces sor )执行本发明各个实施例所 述方法的全部或部分步骤。 而前述的存储介质包括: U盘、 移动硬盘、 只读存 储器( ROM, Read-Only Memory )、随机存取存储器( RAM, Random Acces s Memory )、 磁碟或者光盘等各种可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。

Claims (11)

  1. 权利 要求 书
    1、 一种数据分布的方法, 其特征在于, 包括:
    在数据查询前, 控制节点根据创建规则设置分布表创建指示, 所述分布表 创建指示中携带逻辑数据表的标识 ID以及选定分布列的分布列标识, 其中所述 选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为所述控制节点中 已创建的逻辑数据表;
    所述控制节点向数据节点发送所述分布表创建指示, 以便所述数据节点根 据所述分布表创建指示创建所述逻辑数据表的分布表。
  2. 2、 根据权利要求 1所述的方法, 其特征在于, 所述控制节点根据创建规则 设置分布表创建指示, 具体包括:
    所述控制节点统计在预设周期内所述逻辑数据表的数据, 得出统计结果, 根据所述统计结果将所述逻辑数据表的 ID以及所述选定分布列的分布列标识添 加到所述分布表创建指示中; 或者,
    所述控制节点接收客户端的创建指示, 所述创建指示中携带所述逻辑数据 表的 ID以及所述选定分布列的分布列标识, 所述控制节点将所述创建指示中携 带的所述逻辑数据表的 ID以及所述选定分布列的分布列标识添加到所述分布表 创建指示中。
  3. 3、 根据权利要求 2所述的方法, 其特征在于, 所述控制节点统计在预设周 期内所述逻辑数据表的数据, 具体包括:
    在一个预设周期内, 所述控制节点统计下述数据中的至少一项: 所述逻辑 数据表被查询的次数、 所述逻辑数据表中被查询的表项数据占所述逻辑数据表 总表项数据的比例以及所述逻辑数据表中分布列被查询的次数;
    所述根据所述统计结果将所述逻辑数据表的 I D以及所述选定分布列的分布 列标识添加到所述分布表创建指示中, 具体包括:
    当所述逻辑数据表被查询的次数超过第一阈值时, 所述控制节点将所述逻 辑数据表的 I D以及所述逻辑数据表中所有分布列的分布列标识添加到所述分布 表创建指示中; 和 /或, 当所述逻辑数据表中被查询的表项数据占所述逻辑数据表总表项数据的比 例超过第二阈值时, 所述控制节点将所述逻辑数据表的 ID以及所述逻辑数据表 中所有分布列的分布列标识添加到所述分布表创建指示中; 和 /或,
    当所述逻辑数据表中分布列被查询的次数超过第三阈值时, 所述控制节点 将所述逻辑数据表的 ID以及所述逻辑数据表中被查询次数超过所述第三阈值的 分布列的分布列标识添加到所述分布表创建指示中。
  4. 4、 根据权利要求 3所述的方法, 其特征在于, 当所述逻辑数据表中分布列 对应的分布表被查询的次数小于第四阈值时, 所述方法进一步包括:
    所述控制节点向所述数据节点发送分布表删除指示, 所述分布表删除指示 携带被查询次数小于所述第四阈值的分布表对应的分布列的分布列标识以及所 述逻辑数据表的 I D, 所述分布表删除指示用于指示所述数据节点删除所述被查 询次数小于所述第四阈值的分布表。
  5. 5、 根据权利要求 2至 4中任意一项所述的方法, 其特征在于, 在所述控制 节点将所述逻辑数据表的 ID以及所述选定分布列的分布列标识添加到所述分布 表创建指示中之前, 所述方法进一步包括:
    所述控制节点判断所述数据节点是否已根据所述逻辑数据表的 ID以及所述 选定分布列的分布列标识创建所述逻辑数据表的分布表;
    当所述数据节点未根据所述逻辑数据表的 I D以及所述选定分布列的分布列 标识创建所述逻辑数据表的分布表时, 所述控制节点将所述逻辑数据表的 I D以 及所述选定分布列的分布列标识添加到所述分布表创建指示中;
    当所述数据节点已根据所述逻辑数据表的 I D以及所述选定分布列的分布列 标识创建所述逻辑数据表的分布表时, 所述控制节点不将所述逻辑数据表的 I D 以及所述选定分布列的分布列标识添加到所述分布表创建指示中。
  6. 6、 一种控制节点, 其特征在于, 包括:
    处理单元, 用于在数据查询前, 根据创建规则设置分布表创建指示, 所述 分布表创建指示中携带逻辑数据表的标识 ID以及选定分布列的分布列标识, 其 中所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为所述控制 节点中已创建的逻辑数据表;
    发送单元, 用于向数据节点发送所述处理单元设置的所述分布表创建指示, 以便所述数据节点根据所述分布表创建指示创建所述逻辑数据表的分布表。
  7. 7、根据权利要求 6所述的控制节点, 其特征在于, 所述处理单元具体用于: 统计在预设周期内所述逻辑数据表的数据, 得出统计结果, 根据所述统计 结果将所述逻辑数据表的 ID以及所述选定分布列的分布列标识添加到所述分布 表创建指示中。
  8. 8、 根据权利要求 6所述的控制节点, 其特征在于, 所述控制节点还包括接 收单元, 所述接收单元, 用于接收客户端的创建指示, 所述创建指示中携带所 述逻辑数据表的 I D以及所述选定分布列的分布列标识;
    所述处理单元还具体用于:
    将所述接收单元接收的所述创建指示中携带的所述逻辑数据表的 I D以及所 述选定分布列的分布列标识添加到所述分布表创建指示中。
  9. 9、 根据权利要求 7所述的控制节点, 其特征在于, 所述处理单元进一步具 体用于:
    在一个预设周期内, 统计下述数据中的至少一项: 所述逻辑数据表被查询 的次数、 所述逻辑数据表中被查询的表项数据占所述逻辑数据表总表项数据的 比例以及所述逻辑数据表中分布列被查询的次数;
    当所述逻辑数据表被查询的次数超过第一阈值时, 将所述逻辑数据表的 I D 以及所述逻辑数据表中所有分布列的分布列标识添加到所述分布表创建指示 中;
    当所述逻辑数据表中被查询的表项数据占所述逻辑数据表总表项数据的比 例超过第二阈值时, 将所述逻辑数据表的 I D以及所述逻辑数据表中所有分布列 的分布列标识添加到所述分布表创建指示中;
    当所述逻辑数据表中分布列被查询的次数超过第三阈值时, 将所述逻辑数 据表的 ID以及所述逻辑数据表中被查询次数超过所述第三阈值的分布列的分布 列标识添加到所述分布表创建指示中。 10、 根据权利要求 9所述的控制节点, 其特征在于, 所述发送单元还用于: 当所述处理单元统计所述逻辑数据表中分布列对应的分布表被查询的次数小于 第四阈值时, 向所述数据节点发送分布表删除指示, 所述分布表删除指示携带 被查询次数小于所述第四阈值的分布表对应的分布列的分布列标识以及所述逻 辑数据表的 ID, 所述分布表删除指示用于指示所述数据节点删除所述被查询次 数小于所述第四阈值的分布表。
  10. 11、 根据权利要求 7至 1 0中任意一项所述的控制节点, 其特征在于, 所述 处理单元还用于:
    在将所述逻辑数据表的 ID以及所述选定分布列的分布列标识添加到所述分 布表创建指示中之前, 判断所述数据节点是否已根据所述逻辑数据表的 ID以及 所述选定分布列的分布列标识创建所述逻辑数据表的分布表;
    当所述数据节点未根据所述逻辑数据表的 I D以及所述选定分布列的分布列 标识创建所述逻辑数据表的分布表时, 将所述逻辑数据表的 ID以及所述选定分 布列的分布列标识添加到所述分布表创建指示中;
    当所述数据节点已根据所述逻辑数据表的 I D以及所述选定分布列的分布列 标识创建所述逻辑数据表的分布表时, 不将所述逻辑数据表的 ID以及所述选定 分布列的分布列标识添加到所述分布表创建指示中。
  11. 12、 一种数据分布的***, 所述***包括控制节点和数据节点, 其特征在 于, 包括:
    所述控制节点, 用于在数据查询前, 根据创建规则设置分布表创建指示, 所述分布表创建指示中携带逻辑数据表的标识 ID 以及选定分布列的分布列标 识, 其中所述选定分布列为所述逻辑数据表中的分布列, 所述逻辑数据表为所 述控制节点中已创建的逻辑数据表, 向所述数据节点发送所述分布表创建指示; 所述数据节点, 用于在数据查询前, 接收所述控制节点发送的所述分布表 创建指示, 根据所述分布表创建指示创建所述逻辑数据表的分布表。
CN201280002465.XA 2012-07-26 2012-07-26 数据分布的方法、装置及*** Active CN103748578B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/079173 WO2014015492A1 (zh) 2012-07-26 2012-07-26 数据分布的方法、装置及***

Publications (2)

Publication Number Publication Date
CN103748578A true CN103748578A (zh) 2014-04-23
CN103748578B CN103748578B (zh) 2017-10-10

Family

ID=49996501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280002465.XA Active CN103748578B (zh) 2012-07-26 2012-07-26 数据分布的方法、装置及***

Country Status (2)

Country Link
CN (1) CN103748578B (zh)
WO (1) WO2014015492A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022240906A1 (en) * 2021-05-11 2022-11-17 Strong Force Vcn Portfolio 2019, Llc Systems, methods, kits, and apparatuses for edge-distributed storage and querying in value chain networks
US20220261389A1 (en) * 2021-02-18 2022-08-18 International Business Machines Corporation Distributing rows of a table in a distributed database system
US12039559B2 (en) 2021-04-16 2024-07-16 Strong Force Vcn Portfolio 2019, Llc Control tower encoding of cross-product data structure

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120340A (zh) * 2004-02-21 2008-02-06 数据迅捷股份有限公司 超无共享并行数据库
US20080263001A1 (en) * 2002-12-19 2008-10-23 International Business Machines Corporation System and method for automating data partitioning in a parallel database
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库***的数据分区方法
CN102323946A (zh) * 2011-09-05 2012-01-18 天津神舟通用数据技术有限公司 并行数据库中算子复用的实现方法
CN102375853A (zh) * 2010-08-24 2012-03-14 ***通信集团公司 分布式数据库***、在其中建立索引的方法和查询方法
US20120117065A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation Automated partitioning in parallel database systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033889B (zh) * 2009-09-29 2012-08-22 熊凡凡 分布式数据库并行处理***
CN102122306A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 一种数据处理方法及应用该方法的分布式文件***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263001A1 (en) * 2002-12-19 2008-10-23 International Business Machines Corporation System and method for automating data partitioning in a parallel database
CN101120340A (zh) * 2004-02-21 2008-02-06 数据迅捷股份有限公司 超无共享并行数据库
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库***的数据分区方法
CN102375853A (zh) * 2010-08-24 2012-03-14 ***通信集团公司 分布式数据库***、在其中建立索引的方法和查询方法
US20120117065A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation Automated partitioning in parallel database systems
CN102323946A (zh) * 2011-09-05 2012-01-18 天津神舟通用数据技术有限公司 并行数据库中算子复用的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
文明波,丁治明: "适用于云计算的面向查询数据库数据分布策略", 《计算机科学》 *

Also Published As

Publication number Publication date
CN103748578B (zh) 2017-10-10
WO2014015492A1 (zh) 2014-01-30

Similar Documents

Publication Publication Date Title
JP6338817B2 (ja) データベースミドルウェアを用いたデータ管理システム及びその方法
CN100586112C (zh) 即时通讯中建立联系人列表、管理联系人信息的方法
CN110555012B (zh) 数据迁移方法及装置
CN110399373A (zh) 一种区块链账本存储***、存储查询方法及删除方法
CN102375837B (zh) 数据采集***和方法
CN107491510A (zh) 一种混合异构数据源统一查询***及分布式查询方法
CN109299157B (zh) 一种分布式大单表的数据导出方法及装置
CN111008521B (zh) 生成宽表的方法、装置及计算机存储介质
CN102201010A (zh) 无共享架构的分布式数据库***及其实现方法
CN109656688B (zh) 一种实现分布式业务规则的方法、***和服务器
CN102270225A (zh) 数据变更日志监控方法和数据变更日志监控装置
CN104239417A (zh) 一种分布式数据库数据分片后动态调整方法及装置
CN103823846A (zh) 一种基于图论的大数据存储及查询方法
CN104268295A (zh) 一种数据查询方法及装置
CN111258978A (zh) 一种数据存储的方法
CN106471501A (zh) 数据查询的方法、数据对象的存储方法和数据***
CN111090674A (zh) 一种基于热词和缓存的搜索引擎***
CN104301233A (zh) 路由访问方法、路由访问***及用户终端
CN104268298A (zh) 一种创建数据库索引及其查询的方法
CN102750368B (zh) 一种数据库集群数据高速导入方法
CN105550332A (zh) 一种基于双层索引结构的起源图查询方法
CN101916281B (zh) 并行计算***及去重计数方法
CN103856462A (zh) 一种会话的管理方法及***
CN102737061B (zh) 分布式话单查询管理***及方法
WO2017000592A1 (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220216

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.