CN111611245B - 处理数据表的方法和*** - Google Patents

处理数据表的方法和*** Download PDF

Info

Publication number
CN111611245B
CN111611245B CN202010436543.3A CN202010436543A CN111611245B CN 111611245 B CN111611245 B CN 111611245B CN 202010436543 A CN202010436543 A CN 202010436543A CN 111611245 B CN111611245 B CN 111611245B
Authority
CN
China
Prior art keywords
data
data table
row
slave
master
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.)
Active
Application number
CN202010436543.3A
Other languages
English (en)
Other versions
CN111611245A (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.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing Technology 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 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN202010436543.3A priority Critical patent/CN111611245B/zh
Publication of CN111611245A publication Critical patent/CN111611245A/zh
Application granted granted Critical
Publication of CN111611245B publication Critical patent/CN111611245B/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2435Active constructs
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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/248Presentation of query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

提供了一种处理数据表的方法和***。所述方法包括:获取约束条件;获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;根据所述约束条件,处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。

Description

处理数据表的方法和***
技术领域
本公开总体说来涉及数据管理和维护领域,更具体地讲,涉及一种处理数据表的方法和***。
背景技术
在进行大数据处理的过程中,涉及人工智能的使用。在使用人工智能的过程中,涉及特征工程。表连接操作是在特征工程中经常被使用的操作。表连接操作用于将存储业务信息的多个数据表进行连接,以便通过对不同数据表进行聚合,从而利用数据表所表达的各种业务信息来进行特征构造。
在表连接操作的过程中,需要考虑数据表中存储的时间信息。例如,可获取购买记录数据表和浏览记录数据表。购买记录数据表包括用户标识符(Identity,简称为ID)字段、交易时间字段、以及交易金额,浏览记录数据表包括用户ID字段、浏览时间字段、以及商品ID字段。可使用结构化查询语言(Structured Query Language,简称为SQL)来进行表连接,并利用连接的表进行诸如“用户某次购买前浏览商品次数”等的查询操作。
然而,利用现有的结构化查询语言进行的以上查询操作是获得多条查询结果的操作,而非获得一条查询结果的操作。换言之,利用现有的结构化查询语言难以处理仅需要一条查询结果的查询操作。例如,不能实现获取“用户某次购买前最近一次浏览的商品”、“时间早于第一预定时间的第一条数据”、“时间不早于第二预定时间的最后一条数据”等的查询操作,或者,即使能够实现获取“用户某次购买前最近一次浏览的商品”等的查询操作,这样的查询操作也需要手动配置,从而产生查询效率低的问题。因此,如何基于数据表自动执行获得一条查询结果的操作已经成为一个非常重要的问题。
发明内容
本公开的示例性实施例提供了一种处理数据表的方法和***,旨在提高处理效率和操作便利。
根据本公开的示例性实施例,提供了一种处理数据表的方法,其中,所述方法包括:获取约束条件;获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;根据所述约束条件,处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。
可选的,所述一个主数据表和所述至少一个从数据表存储于离线数据库,处理所述一个主数据表和所述至少一个从数据表的步骤包括:基于索引字段,将所述一个主数据表中的每行数据与所述至少一个从数据表的一行数据合并,以获得多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合所述约束条件的一行数据;对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
可选的,所述一个主数据表和所述至少一个从数据表存储于在线数据库,处理所述一个主数据表和所述至少一个从数据表的步骤包括:查找与所述一个主数据表中的每行数据对应的所述至少一个从数据表的一行数据,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表的一行数据是与所述一个主数据表中的所述任意一行数据对应的所述至少一个从数据表的符合所述约束条件的各行数据之中的具有最大时间字段值的一行数据;将所述一个主数据表中的每行数据与查找到的所述至少一个从数据表的一行数据进行合并,其中,所述一个主数据表中的任意一行数据与查找到的所述至少一个从数据表的一行数据合并后获得的一行数据是所述一个输出数据表的一行数据。
可选的,所述一个主数据表和所述至少一个从数据表存储于作为在线数据库的内存数据库,内存数据库中存储有分片组,所述分片组中的每个分片对应至少一个第一级跳表和至少一个第二级跳表,索引字段值存储于第一级跳表中,时间字段值存储于第二级跳表中,所述一个主数据表和所述至少一个从数据表中的除了索引字段和时间字段之外的字段的值存储于共享存储空间中。
可选的,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表中的各行数据基于第一级跳表来查找,所述各行数据中的具有最大时间字段值的一行数据基于第二级跳表来确定。
可选的,合并后产生的输出数据表的每行数据的索引字段值和时间字段值分别存储于第一级跳表和第二级跳表中,合并后的输出数据表的每行数据的除了索引字段和时间字段之外的字段的值存储于所述共享存储空间中。
可选的,所述方法适用于金融反欺诈场景和/或商品推荐场景,所述业务信息包括用户行为信息,所述索引字段存储用户标识符,所述输出数据表存储与每个用户标识符对应、符合所述约束条件且时间最近的一行数据。
根据本公开的另一示例性实施例,提供了一种处理数据表的***,其中,所述***包括:约束条件获取单元,被配置为获取约束条件;数据表获取单元,被配置为获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;数据表处理单元,被配置为处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。
可选的,所述一个主数据表和所述至少一个从数据表存储于离线数据库,数据表处理单元被配置为:基于索引字段,将所述一个主数据表中的每行数据与所述至少一个从数据表的一行数据合并,以获得多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合所述约束条件的一行数据;对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
可选的,所述一个主数据表和所述至少一个从数据表存储于在线数据库,数据表处理单元被配置为:查找与所述一个主数据表中的每行数据对应的所述至少一个从数据表的一行数据,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表的一行数据是与所述一个主数据表中的所述任意一行数据对应的所述至少一个从数据表的符合所述约束条件的各行数据之中的具有最大时间字段值的一行数据;将所述一个主数据表中的每行数据与查找到的所述至少一个从数据表的一行数据进行合并,其中,所述一个主数据表中的任意一行数据与查找到的所述至少一个从数据表的一行数据合并后获得的一行数据是所述一个输出数据表的一行数据。
可选的,所述一个主数据表和所述至少一个从数据表存储于作为在线数据库的内存数据库,内存数据库中存储有分片组,所述分片组中的每个分片对应至少一个第一级跳表和至少一个第二级跳表,索引字段值存储于第一级跳表中,时间字段值存储于第二级跳表中,所述一个主数据表和所述至少一个从数据表中的除了索引字段和时间字段之外的字段的值存储于共享存储空间中。
可选的,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表中的各行数据基于第一级跳表来查找,所述各行数据中的具有最大时间字段值的一行数据基于第二级跳表来确定。
可选的,合并后产生的输出数据表的每行数据的索引字段值和时间字段值分别存储于第一级跳表和第二级跳表中,合并后的输出数据表的每行数据的除了索引字段和时间字段之外的字段的值存储于所述共享存储空间中。
根据本公开的另一示例性实施例,提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的方法。
根据本公开的另一示例性实施例,提供了一种包括至少一个计算装置和至少一个存储指令的存储装置的***,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的方法。
可选的,所述***适用于金融反欺诈场景和/或商品推荐场景,所述业务信息包括用户行为信息,所述索引字段存储用户标识符,所述输出数据表存储与每个用户标识符对应、符合所述约束条件且时间最近的一行数据。
有益效果
根据本公开的处理数据表的方法和***,可自动执行获得一条查询结果的操作,从而可提高处理效率和操作便利。优选的方法和***可针对离线数据库和在线数据库进行操作,提高了兼容性;在基于在线数据库进行操作时,可引入通过跳表和分片组形成的内存数据库,从而可进一步提高处理效率。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本公开示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本公开的示例性实施例的处理数据表的方法的流程图;
图2示出根据本公开的示例性实施例的分片的示意图;以及
图3示出根据本公开的示例性实施例的处理数据表的***的框图。
具体实施方式
现将详细参照本公开的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。
本公开实现基于索引字段和时间字段的表连接操作。这种表连接操作可被整合为的特征查询语言的功能。例如,在特征查询语言中构造last_join命令以实现表连接操作。通过本公开的表连接操作,可实现传统的结构化查询语言(简称为SQL)无法实现的操作(例如,在基于时序约束和基数约束进行特征抽取时涉及的表连接操作),还可提高处理效率。
在本公开的示例性实施例中,通过last_join命令实现一种特殊的表连接操作,可使主数据表中的每行数据对应于连接后获得的输出数据表中的一行数据,并且可建立主数据表与多行从数据表中的最大时间字段值(对应于以上“时序约束”)且符合约束条件(对应于以上“基数约束”)的一行数据之间的连接关系。
在本公开的示例性实施例中,即使考虑时序约束和基数约束(CardinalityConstraint),也可以以较高的效率和更方便的方式来实现操作;可实现离线场景下的表连接操作和在线场景下的表连接操作;还可保证在线场景下的表连接操作结果与离线场景下的表连接操作结果之间的一致性。
图1示出根据本公开的示例性实施例的处理数据表的方法的流程图。如图1中所示,根据本公开的示例性实施例的管理内存数据的方法可包括步骤101、步骤102和步骤103。
在步骤101,获取约束条件;在步骤102,获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;在步骤103,根据所述约束条件,处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。
在以上方法中,约束条件可以是针对主数据表和从数据表中的任意一个数据表的多个字段中的一个或更多个字段的约束。索引字段可用于在主数据表和从数据表之间建立关联。通过以上的步骤101、步骤102和步骤103实现的本公开的示例性实施例的表连接操作。通过以上步骤获得的输出数据表可以满足获取的约束条件和与最大时间字段有关的约束条件,实现了针对多个约束条件的表连接操作。当输入了主数据表和从数据表并且设置了约束条件之后,可自动实现这样的表连接操作,从而可保证处理效率和操作的便利性。
这样的表连接操作可借助于last_join命令来实现。当使用last_join命令时,可输入一个主数据表和一个从数据表。主数据表的索引字段与从数据表的索引字段对应。通过last_join命令获得的输出数据表中的每行数据对应主数据表中的一行数据,换言之,输出数据表中存在与主数据表中的一行数据对应的唯一的一行数据。另外,输出数据表中的列(即字段)选自主数据表和从数据表。在另一种情况下,主数据表可能存在一行数据,但是从数据表中不存在与这一行数据对应的一行数据,此时,可将输出数据表中的对应行中的与从数据表对应的字段的值记为空值。
本公开的示例性实施例中的约束条件可包括主键约束和时间约束。以下详细描述主键约束和时间约束。
通过索引字段相互对应的主数据表和从数据表之间可形成主键约束,主键约束可保证与输出数据表中任意一行数据所对应的主数据表和从数据表具有相同的索引字段值。
主数据表和从数据表还可满足时间约束,主数据表中可存在两个与时间有关的字段,分别表示为t1和t2;从数据表中可存在一个与时间有关的字段,表示为t3。可通过如下的表达式来表示与时间有关的字段之间的大小关系:
(1)t3≥t1
(2)t3>t1
(3)t3≤t2
(4)t3<t2
(5)t3==t2
(6)t1≤t3≤t2
(7)t1≤t3<t2
(8)t1<t3≤t2
(9)t1<t3<t2
基于以上的主键约束和时间约束,可先根据主键约束进行数据筛选。具体而言,对于主数据表中的任意一行数据,可根据索引字段找出对应从数据表的一行或多行数据,找出的一行或多行数据与主数据表中的所述任意一行数据具有相同的索引字段值。
随后,可根据时间约束对找出的一行或多行数据进行筛选。例如,可将找出的一行或多行数据之中满足以上表达式(1)至表达式(9)中的至少一个表达式的各行数据作为候选行。
最后,可进行唯一性选择,即从候选行中选择一行数据与对应的主数据表的一行数据进行拼接,以形成一行数据,作为输出数据表中的一行数据。从候选行中选择的一行数据可以是具有最大时间字段值的一行数据。当没有找出符合主键约束和/或时间约束的从数据表的一行数据时,可输出空数据行。
本公开的示例性实施例适用于金融反欺诈场景和/或商品推荐场景,所述业务信息包括用户行为信息,所述索引字段存储用户ID,所述输出数据表存储与每个用户ID对应、符合所述约束条件且时间最近的一行数据。
结合上文提到的last_join命令,可将特征“用户某次购买前最近一次浏览的商品ID”表达如下:
select商品ID from
购买记录表last_join浏览记录表on
购买记录表.用户ID==浏览记录表.用户ID and购买记录表.交易时间>浏览记录表.浏览时间
在上述表达中,购买记录表和浏览记录表分别为主数据表和从数据表,用户ID是索引字段,商品ID是购买记录表的字段,交易时间是购买记录表的字段,浏览时间是浏览记录表的字段,“购买记录表.交易时间>浏览记录表.浏览时间”作为约束条件。以上命令对购买记录表和浏览记录表进行连接,使得连接后获得的输出数据表符合以上约束条件。
根据一个示例性实施例,可通过离线的方式来实现本发明中涉及的表连接操作。具体的,所述一个主数据表和所述至少一个从数据表存储于离线数据库,处理所述一个主数据表和所述至少一个从数据表的步骤包括:基于索引字段,将所述一个主数据表中的每行数据与所述至少一个从数据表的一行数据合并,以获得多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合所述约束条件的一行数据;对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
上文提到的last_join命令可在Spark DataFrame(Spark是阿帕奇公司的一种用于数据计算的引擎,Spark DataFrame是一种数据框架)的基础之上实现对于离线存储的数据表的表连接操作。在实现这种表连接操作时,可借助Spark SQL计算框架来进行基础原语的实现和执行计划的调度,以产生优化的物理执行计划。这种优化的物理执行计划可包括如下步骤:
步骤111:执行输入操作,其中,可输入主数据表和从数据表并且确定主数据表和从数据表中分别包括的索引字段和时间字段。
步骤112:执行连接操作,其中,可使用“左连接”将主数据表和从数据表连接在一起,在连接的过程中可采用与时间有关的约束条件,从而产生多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合该约束条件的一行数据,并且被连接的任意一行中间数据的主数据表的一行数据和从数据表的一行数据满足该约束条件。
步骤113:对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
以上描述的步骤2至步骤3可通过多个命令来实现,以下进行详细说明:
首先,使用左连接(last_join)命令,last_join可将主数据表与从数据表连接,连接的过程中应用索引字段和以上描述的约束条件,从而实现以上的步骤2。通过左连接命令,可产生以上描述的多行中间数据。
其次,依次通过OrderBy命令、GroupBy命令以及Spark中的first命令,实现以上描述的步骤3。OrderBy命令可将多行中间数据按照时间字段进行排序。GroupBy命令可对按照时间字段排序的多行中间数据进行聚合,从而将具有相同索引字段值得中间数据聚为一类。first命令可将每类中间数据之中的最大时间字段值的一行中间数据筛选出来,以便将筛选出来的中间数据作为输出数据表中的数据。
以上描述了对于离线存储的数据表的表连接操作,接下来将描述对于在线存储(也称为实时存储)的数据表的表连接操作,以下将在线存储的数据表的表连接操作简称为在线表连接操作。在线表连接操作是在线特征抽取过程的一部分操作,可将本公开的示例性实施例的在线表连接操作封装为一种服务,并将封装后的服务(可简称为特征服务)提供给用户使用。与对于离线存储的数据表的表连接操作不同,在线表连接操作主要针对主数据表进行计算,计算总量与针对主数据表的请求(Query)次数有关。针对每次请求,可将主数据表的一行数据发送给特征服务,特征服务针对所述一行数据和与所述一行数据通过索引字段对应的从数据表中的数据进行连接等处理,从而获得输出数据表。
根据一个示例性实施例,可通过在线数据库来在线存储主数据表和从数据表,存储的主数据表和从数据表均具有索引字段和时间字段。在进行在线表连接操作之前,可将主数据表和从数据表导入在线数据库。
可基于线上请求来启动在线表连接操作。例如,基于线上请求,构造约束条件,构造的约束条件包括主键约束条件、时间约束条件、唯一性约束条件(也称为last_join约束),其中,主键约束条件限定了线上请求所需要的输出数据表的索引字段值,时间约束条件限定了主数据表的时间字段和从数据表的时间字段所需要落入的时间范围,唯一性约束条件限定了如何从满足主键约束条件和时间约束条件的多行数据中筛选出一行数据。
结合以上描述,通过在线表连接操作来获得一个输出数据表具体包括如下步骤:
步骤121:查找与所述一个主数据表中的每行数据对应的所述至少一个从数据表的一行数据,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表的一行数据是与所述一个主数据表中的所述任意一行数据对应的所述至少一个从数据表的符合所述约束条件的各行数据之中的具有最大时间字段值的一行数据;
步骤122:将所述一个主数据表中的每行数据与查找到的所述至少一个从数据表的一行数据进行合并,其中,所述一个主数据表中的任意一行数据与查找到的所述至少一个从数据表的一行数据合并后获得的一行数据是所述一个输出数据表的一行数据。
以上描述的在线表连接操作可在包括多个分片组的在线数据库的基础之上实现。每个分片组包括至少一个分片,每个分片组中的所有分片对应统一的索引字段和排序字段,不同分片组的索引字段不同,并且,不同分片组的排序字段相同或不同。可为每个分片分别构建对应的第一级跳表和第二级跳表,其中,与每个分片对应的第一级跳表被设置为用于存储以数据记录中关于所述每个分片的索引字段的取值为关键字且以指示第二级跳表的指针或对象为与该关键字对应的值的节点,与所述每个分片对应的第二级跳表被设置为用于存储以所述数据记录中关于所述每个分片的排序字段的取值为关键字且以指示用于存储所述数据记录的至少一个属性字段的取值的存储空间的指针为与该关键字对应的值的节点。作为示例,每个分片组的索引字段和排序字段不同。每个分片中存储有指示对应的第一级跳表的指针或对象。
作为示例,与所有分片组对应的第二级跳表共享所述存储空间且所述存储空间存储所述数据记录的全部属性字段的取值,这可对应于不同分片组的排序字段相同的情况。作为示例,与同一分片组对应的第二级跳表共享同一存储空间且所述同一存储空间存储所述数据记录的除了与所述同一分片组对应的索引字段和排序字段之外的所有属性字段的取值,这可对应于不同分片组的排序字段不同的情况。
在本公开的示例性实施例中,分片组可以是分片的集合,一个分片组可包括一个或更多个分片;分片组的索引字段指的是与分片组对应的索引字段,分片组的排序字段指的是与分片组对应的排序字段;数据记录可具有一个或更多个属性字段,索引字段可以是数据记录的一个属性字段,排序字段也可以是数据记录的一个属性字段。例如,索引字段是***或商户类别码(Merchant Category Code,简称为MCC)等,排序字段是时间戳等。
在本公开的示例性实施例中,第一级跳表和第二级跳表为skiplist,也被称为跳跃表。可通过指针或对象将分片与第一级跳表进行关联。相应地,通过分片中存储的指针或对象,可定位与该分片对应的第一级跳表。可通过指针或对象将第一级跳表与第二级跳表进行关联。相应地,通过第一级跳表中存储的指针或对象,可定位与第一级跳表对应的第二级跳表。这里的对象与面向对象编程(Object Oriented,简称为OO)技术中定义的对象类似。
作为示例,在创建数据表时,可定义分片组的索引字段和/或排序字段,例如,定义哪个字段为索引字段,哪个字段为排序字段。可选地,可定义索引字段和/或排序字段的排列顺序。例如,定义第一个索引字段为***且第二个索引字段为商户类别码。
作为示例,在创建数据表时,可指定不同分片组的排序字段相同还是不同。例如,可指定不同分片组的排序字段同为时间戳。
图2示出根据本公开的示例性实施例的分片的示意图。如图2所示,分片0至分片n为n+1个分片,其中,n为大于2的自然数。这些分片中的每个分片对应一个第一级跳表。与分片0对应的第一级跳表包括节点11至节点1m,其中,m为自然数。每个分片中可存储指示对应的第一级跳表的指针或对象,以便于定位到与分片对应的第一级跳表。第一级跳中的每个节点可对应一个第二级跳表。与节点11对应的第二级跳表包括节点41至节点4k,与节点12对应的第二级跳表包括节点31至节点3j,与节点1m对应的第二级跳表包括节点21至节点2i,其中,i、j、k为自然数。第一级跳表的每个节点中可存储指示对应的第二级跳表的指针或对象,以便于定位到与第一级跳表的节点对应的第二级跳表。
可在跳表的节点中设置键值(key-value)对。具体地,对于第一级跳表的节点,可将数据记录的索引字段的取值设置为关键字(key),并将指示第二级跳表的指针或对象设置为与关键字对应的值(value)。对于第二级跳表中的节点,可将数据记录的排序字段的取值设置为关键字,并且与关键字对应的值为指针,该指针指示存储数据记录的至少一个属性字段的取值的存储空间。
作为示例,所述至少一个属性字段的取值包括数据记录的索引字段的取值和/或排序字段的取值,或者所述至少一个属性字段的取值既不包括数据记录的索引字段的取值也不包括数据记录的排序字段的取值。
另外,在第一级跳表的节点中可存储有指示该第一级跳表中的另一节点的指针或对象。在第二级跳表的节点中也可存储有指示该第二级跳表中的另一节点的指针或对象。对于第一级跳表或第二级跳表,当跳表中已经存在节点时,除了尾部节点之外的每个节点中存储有一个指示与该节点同属于一个跳表的节点的对象或指针,以便使跳表形成链状结构。当向第一节点和第二节点之间***第三节点时,需要将第一节点中指示第二节点的指针或对象改变为指示第三节点,并在第三节点中利用指针或对象指示第二节点。
根据本公开的示例性实施例,可将主数据表和至少一个从数据表存储于在线数据库的内存数据库,内存数据库中存储有分片组,所述分片组中的每个分片对应至少一个第一级跳表和至少一个第二级跳表,索引字段值存储于第一级跳表中,时间字段值存储于第二级跳表中,所述一个主数据表和所述至少一个从数据表中的除了索引字段和时间字段之外的字段的值存储于共享存储空间中。
在本公开的示例性实施例中,分片组的索引字段不同于主数据表的索引字段,也不同于从数据表的索引字段。分片组的索引字段存储与分片组中,用于对分片组进行标识,主数据表的索引字段和从数据表的索引字段可分别存储于不同的第一级跳表中,分别用于对主数据表和从数据表进行标识。
在此基础上,合并后产生的输出数据表的每行数据的索引字段值和时间字段值分别存储于第一级跳表和第二级跳表中,合并后的输出数据表的每行数据的除了索引字段和时间字段之外的字段的值存储于所述共享存储空间中。另外,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表中的各行数据基于第一级跳表来查找,所述各行数据中的具有最大时间字段值的一行数据基于第二级跳表来确定。通过以上描述的分片组和跳表进行数据存储,可提高提高查询效率,从而提高请求的执行效率。
图3示出根据本公开的示例性实施例的处理数据表的***的结构示意图。如图3中所示,所述***包括:约束条件获取单元201,被配置为获取约束条件;数据表获取单元202,被配置为获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;数据表处理单元203,被配置为处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。
作为示例,所述一个主数据表和所述至少一个从数据表存储于离线数据库,数据表处理单元203被配置为:基于索引字段,将所述一个主数据表中的每行数据与所述至少一个从数据表的一行数据合并,以获得多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合所述约束条件的一行数据;对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
作为示例,所述一个主数据表和所述至少一个从数据表存储于在线数据库,数据表处理单元203被配置为:查找与所述一个主数据表中的每行数据对应的所述至少一个从数据表的一行数据,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表的一行数据是与所述一个主数据表中的所述任意一行数据对应的所述至少一个从数据表的符合所述约束条件的各行数据之中的具有最大时间字段值的一行数据;将所述一个主数据表中的每行数据与查找到的所述至少一个从数据表的一行数据进行合并,其中,所述一个主数据表中的任意一行数据与查找到的所述至少一个从数据表的一行数据合并后获得的一行数据是所述一个输出数据表的一行数据。
作为示例,所述一个主数据表和所述至少一个从数据表存储于作为在线数据库的内存数据库,内存数据库中存储有分片组,所述分片组中的每个分片对应至少一个第一级跳表和至少一个第二级跳表,索引字段值存储于第一级跳表中,时间字段值存储于第二级跳表中,所述一个主数据表和所述至少一个从数据表中的除了索引字段和时间字段之外的字段的值存储于共享存储空间中。
作为示例,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表中的各行数据基于第一级跳表来查找,所述各行数据中的具有最大时间字段值的一行数据基于第二级跳表来确定。
作为示例,合并后产生的输出数据表的每行数据的索引字段值和时间字段值分别存储于第一级跳表和第二级跳表中,合并后的输出数据表的每行数据的除了索引字段和时间字段之外的字段的值存储于所述共享存储空间中。
以上参照附图描述了根据本公开示例性实施例的处理数据表的方法和***。应理解,上述方法可通过记录在计算可读介质上的程序来实现,例如,根据本公开的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如下步骤:获取约束条件;获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;根据所述约束条件,处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。
上述计算机可读存储介质中的计算机程序可在诸如处理器、客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,例如,由位于单机环境或分布式集群环境的至少一个计算装置来运行,作为示例,这里的计算装置可作为计算机、处理器、计算单元(或模块)、客户端、主机、代理装置、服务器等。应注意,所述计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经参照附图进行了描述,这里为了避免重复将不再进行赘述。
应注意,根据本公开示例性实施例的***可完全依赖计算机程序的运行来实现相应的功能,即,各个模块或单元与计算机程序的功能架构中与各步骤相应,使得整个***通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,附图所示的各个模块或单元也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,根据本公开示例性实施例,可提供一种包括至少一个计算装置和至少一个存储指令的存储装置的***,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行处理数据表的以下步骤:获取约束条件;获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;根据所述约束条件,处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据。
这里,所述***可构成单机计算环境或分布式计算环境,其包括至少一个计算装置和至少一个存储装置,这里,作为示例,计算装置可以是通用或专用的计算机、处理器等,可以是单纯利用软件来执行处理的单元,还可以是软硬件相结合的实体。也就是说,计算装置可实现为计算机、处理器、计算单元(或模块)、客户端、主机、代理装置、服务器等。此外,存储装置可以是物理上的存储设备或逻辑上划分出的存储单元,其可与计算装置在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信。
此外,例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行处理数据表的方法。
具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制***或***管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器***、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
根据本公开示例性实施例的处理数据表的方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库***可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
根据本公开示例性实施例的处理数据表的方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。

Claims (16)

1.一种处理数据表的方法,其中,所述方法包括:
获取约束条件;
获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;
根据所述约束条件,处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,
其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据;
其中,所述约束条件包括主键约束和时间约束;所述时间约束用于限定所述一个主数据表中的与时间有关的字段,与所述至少一个从数据表中的与时间有关的字段之间的大小关系。
2.根据权利要求1所述的方法,其中,所述一个主数据表和所述至少一个从数据表存储于离线数据库,处理所述一个主数据表和所述至少一个从数据表的步骤包括:
基于索引字段,将所述一个主数据表中的每行数据与所述至少一个从数据表的一行数据合并,以获得多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合所述约束条件的一行数据;
对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
3.根据权利要求1所述的方法,其中,所述一个主数据表和所述至少一个从数据表存储于在线数据库,处理所述一个主数据表和所述至少一个从数据表的步骤包括:
查找与所述一个主数据表中的每行数据对应的所述至少一个从数据表的一行数据,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表的一行数据是与所述一个主数据表中的所述任意一行数据对应的所述至少一个从数据表的符合所述约束条件的各行数据之中的具有最大时间字段值的一行数据;
将所述一个主数据表中的每行数据与查找到的所述至少一个从数据表的一行数据进行合并,其中,所述一个主数据表中的任意一行数据与查找到的所述至少一个从数据表的一行数据合并后获得的一行数据是所述一个输出数据表的一行数据。
4.根据权利要求3所述的方法,其中,所述一个主数据表和所述至少一个从数据表存储于作为在线数据库的内存数据库,内存数据库中存储有分片组,所述分片组中的每个分片对应至少一个第一级跳表和至少一个第二级跳表,索引字段值存储于第一级跳表中,时间字段值存储于第二级跳表中,所述一个主数据表和所述至少一个从数据表中的除了索引字段和时间字段之外的字段的值存储于共享存储空间中。
5.根据权利要求4所述的方法,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表中的各行数据基于第一级跳表来查找,所述各行数据中的具有最大时间字段值的一行数据基于第二级跳表来确定。
6.根据权利要求4所述的方法,其中,合并后产生的输出数据表的每行数据的索引字段值和时间字段值分别存储于第一级跳表和第二级跳表中,合并后的输出数据表的每行数据的除了索引字段和时间字段之外的字段的值存储于所述共享存储空间中。
7.根据权利要求4所述的方法,其中,所述方法适用于金融反欺诈场景和/或商品推荐场景,所述业务信息包括用户行为信息,所述索引字段存储用户标识符,所述输出数据表存储与每个用户标识符对应、符合所述约束条件且时间最近的一行数据。
8.一种处理数据表的***,其中,所述***包括:
约束条件获取单元,被配置为获取约束条件;
数据表获取单元,被配置为获取存储业务信息的一个主数据表和至少一个从数据表,其中,所述一个主数据表的索引字段与所述至少一个从数据表的索引字段对应;
数据表处理单元,被配置为处理所述一个主数据表和所述至少一个从数据表,以获得一个输出数据表,
其中,所述一个输出数据表中的每行数据对应于所述一个主数据表中的一行数据并且对应于所述至少一个从数据表的多行数据中的符合所述约束条件并且具有最大时间字段值的一行数据;
其中,所述约束条件包括主键约束和时间约束;所述时间约束用于限定所述一个主数据表中的与时间有关的字段,与所述至少一个从数据表中的与时间有关的字段之间的大小关系。
9.根据权利要求8所述的***,其中,所述一个主数据表和所述至少一个从数据表存储于离线数据库,数据表处理单元被配置为:
基于索引字段,将所述一个主数据表中的每行数据与所述至少一个从数据表的一行数据合并,以获得多行中间数据,其中,与所述一个主数据表中的任意一行数据合并的所述至少一个从数据表的一行数据是与所述任意一行数据通过索引字段对应并且符合所述约束条件的一行数据;
对所述多行中间数据进行筛选,以获得所述一个输出数据表,其中,在所述多行中间数据中的具有相同索引字段值的多行中间数据之中,将具有最大时间字段值的一行中间数据作为所述一个输出数据表的一行数据。
10.根据权利要求8所述的***,其中,所述一个主数据表和所述至少一个从数据表存储于在线数据库,数据表处理单元被配置为:
查找与所述一个主数据表中的每行数据对应的所述至少一个从数据表的一行数据,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表的一行数据是与所述一个主数据表中的所述任意一行数据对应的所述至少一个从数据表的符合所述约束条件的各行数据之中的具有最大时间字段值的一行数据;
将所述一个主数据表中的每行数据与查找到的所述至少一个从数据表的一行数据进行合并,其中,所述一个主数据表中的任意一行数据与查找到的所述至少一个从数据表的一行数据合并后获得的一行数据是所述一个输出数据表的一行数据。
11.根据权利要求10所述的***,其中,所述一个主数据表和所述至少一个从数据表存储于作为在线数据库的内存数据库,内存数据库中存储有分片组,所述分片组中的每个分片对应至少一个第一级跳表和至少一个第二级跳表,索引字段值存储于第一级跳表中,时间字段值存储于第二级跳表中,所述一个主数据表和所述至少一个从数据表中的除了索引字段和时间字段之外的字段的值存储于共享存储空间中。
12.根据权利要求11所述的***,其中,与所述一个主数据表中的任意一行数据对应的所述至少一个从数据表中的各行数据基于第一级跳表来查找,所述各行数据中的具有最大时间字段值的一行数据基于第二级跳表来确定。
13.根据权利要求11所述的***,其中,合并后产生的输出数据表的每行数据的索引字段值和时间字段值分别存储于第一级跳表和第二级跳表中,合并后的输出数据表的每行数据的除了索引字段和时间字段之外的字段的值存储于所述共享存储空间中。
14.根据权利要求8所述的***,其中,所述***适用于金融反欺诈场景和/或商品推荐场景,所述业务信息包括用户行为信息,所述索引字段存储用户标识符,所述输出数据表存储与每个用户标识符对应、符合所述约束条件且时间最近的一行数据。
15.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到7中的任一权利要求所述的方法。
16.一种包括至少一个计算装置和至少一个存储指令的存储装置的***,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到7中的任一权利要求所述的方法。
CN202010436543.3A 2020-05-21 2020-05-21 处理数据表的方法和*** Active CN111611245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010436543.3A CN111611245B (zh) 2020-05-21 2020-05-21 处理数据表的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010436543.3A CN111611245B (zh) 2020-05-21 2020-05-21 处理数据表的方法和***

Publications (2)

Publication Number Publication Date
CN111611245A CN111611245A (zh) 2020-09-01
CN111611245B true CN111611245B (zh) 2023-09-05

Family

ID=72195755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010436543.3A Active CN111611245B (zh) 2020-05-21 2020-05-21 处理数据表的方法和***

Country Status (1)

Country Link
CN (1) CN111611245B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446063B1 (en) * 1999-06-25 2002-09-03 International Business Machines Corporation Method, system, and program for performing a join operation on a multi column table and satellite tables
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN108292315A (zh) * 2015-11-23 2018-07-17 起元技术有限责任公司 储存和检索数据立方体中的数据
CN109299100A (zh) * 2018-10-12 2019-02-01 第四范式(北京)技术有限公司 管理内存数据及在内存中维护数据的方法和***
CN111008521A (zh) * 2019-12-06 2020-04-14 北京三快在线科技有限公司 生成宽表的方法、装置及计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702619B2 (en) * 2005-09-23 2010-04-20 Alan El-Sabbagh Methods and systems for joining database tables using indexing data structures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446063B1 (en) * 1999-06-25 2002-09-03 International Business Machines Corporation Method, system, and program for performing a join operation on a multi column table and satellite tables
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN108292315A (zh) * 2015-11-23 2018-07-17 起元技术有限责任公司 储存和检索数据立方体中的数据
CN109299100A (zh) * 2018-10-12 2019-02-01 第四范式(北京)技术有限公司 管理内存数据及在内存中维护数据的方法和***
CN111008521A (zh) * 2019-12-06 2020-04-14 北京三快在线科技有限公司 生成宽表的方法、装置及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
连接查询的分片传输算法;邹先霞 等;《计算机工程与应用》;第45卷(第35期);全文 *

Also Published As

Publication number Publication date
CN111611245A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN108536761B (zh) 报表数据查询方法及服务器
CN111046034B (zh) 管理内存数据及在内存中维护数据的方法和***
CN105144080A (zh) 用于元数据管理的***
CN111339073A (zh) 实时数据处理方法、装置、电子设备及可读存储介质
US10417058B1 (en) Method and system for executing application programming interface (API) requests based on parent-child object relationships
CN113010542B (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN112199443B (zh) 数据同步方法、装置、计算机设备和存储介质
CN112559525A (zh) 数据检查***、方法、装置和服务器
CN111611245B (zh) 处理数据表的方法和***
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
CN113312410B (zh) 数据图谱的构建方法、数据查询方法及终端设备
CN112035471B (zh) 一种事务处理方法及计算机设备
CN112699149B (zh) 目标数据获取方法、装置和存储介质及电子装置
CN114860851A (zh) 数据处理方法、装置、设备及存储介质
CN116628042A (zh) 数据处理方法、装置、设备及介质
CN113568892A (zh) 一种基于内存计算对数据源进行数据查询的方法和设备
CN112817938A (zh) 一种基于数据产品化的通用数据服务构建方法及***
CN113868267A (zh) 注入时序数据的方法、查询时序数据的方法及数据库***
CN115952200B (zh) 一种基于mpp架构的多源异构数据聚合查询方法及装置
CN115840786B (zh) 一种数据湖数据同步方法及装置
Dory Study and Comparison of Elastic Cloud Databases: Myth or Reality?
CN118261703A (zh) 全链路交易视图构建方法、装置、电子设备及存储介质
CN114201175A (zh) 错误码管理方法、装置、计算机可读存储介质及服务器
CN115048393A (zh) 资源管理方法、装置、***、设备、介质和程序产品
CN114443667A (zh) 一种跨平台商品信息存储方法、装置、设备、产品及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant