CN114238318A - 数据存储结构的处理方法、处理装置与数据存储系统 - Google Patents
数据存储结构的处理方法、处理装置与数据存储系统 Download PDFInfo
- Publication number
- CN114238318A CN114238318A CN202111471251.4A CN202111471251A CN114238318A CN 114238318 A CN114238318 A CN 114238318A CN 202111471251 A CN202111471251 A CN 202111471251A CN 114238318 A CN114238318 A CN 114238318A
- Authority
- CN
- China
- Prior art keywords
- sub
- data
- storage
- time period
- row
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据存储结构的处理方法、处理装置与数据存储系统,该方法包括:创建数据父表,数据父表包括索引信息,索引信息用于表征数据父表与行存储子表和列存储子表的映射关系,行存储子表用于存储第一目标时间段的数据,列存储子表用于存储第一目标时间段前的数据;根据分裂周期,确定是否对行存储子表进行分裂;在确定对行存储子表分裂的情况下,将行存储子表分裂为一个行存储二级子表和一个列存储二级子表,行存储二级子表用于存储第二目标时间段的数据,列存储二级子表用于存储第一目标时间段的数据,第二目标时间段为在第一目标时间段之后的时间段,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
Description
技术领域
本申请涉及数据存储领域,具体而言,涉及一种数据存储结构的处理方法、处理装置、计算机可读存储介质、处理器与数据存储系统。
背景技术
分布式数据库是近年来因数据增长、业务复杂度提升、用户访问量变大而衍生出来的有着高性能、高可靠、易扩展的数据库。分布式数据库通过将数据以一定的规则进行分片,使用化整为零的方式优化处理因数据量和并发量过大导致的性能问题。它具备一定数量的自主式处理单元,这些单元通过网络互连,并协同处理它们各自分配到的任务,最终统一提交给用户接口。
分布式数据库处理的业务场景分为三大类,一种是面向交易型业务的OLTP(联机事物处理过程,On-Line Transaction Processing,简称OLTP)场景,例如淘宝的购物系统、银行的存汇款系统、12306的购票系统等;一种是面向分析型业务的OLAP(联机分析处理过程,On-Line Analytical Processing,简称OLAP)场景,例如国家统计局公示的各类行业数据报告、商业智能报表等;一种是面向混合型业务的HTAP(混合事务分析处理,HybridTransaction Analytical Processing,简称HTAP)场景,例如今日头条新闻推荐、银行手机APP交易查询收支分析等。
对于HTAP场景,传统的关系型数据库,通常会采用类似分表的解决方案,例如在Oracle中,将一部分表创建为行存表,另一部分表创建为列存表。在查询时,通过视图的方式创建多表合并的结果集,并对外统一提供查询对象,而在需要插入或更新时需要通过修改应用,将数据写入对应的表中。
虽然使用分表的方式也可以解决HTAP场景的功能性问题,但也带来了各种其它的负面影响,例如,对于数据量较大的表进行合并时,会消耗大量的IO资源和内存;在使用合并后的表进行条件过滤时,通常无法使用表上已有的索引,导致检索效率非常低;合并的视图是无法创建可更新视图的;由于每次增加或修改一条数据都需要调用一次判断逻辑,对于处理大量并发、大量数据的应用系统,可能带来成倍的性能降低。
因此,亟需一种能够优化HTAP场景中插入数据和查询数据的性能的方法。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种数据存储结构的处理方法、处理装置、计算机可读存储介质、处理器与数据存储系统,以解决现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
根据本发明实施例的一个方面,提供了一种数据存储结构的处理方法,包括:创建数据父表,所述数据父表包括索引信息,所述索引信息用于表征所述数据父表与行存储子表和列存储子表的映射关系,所述行存储子表用于存储第一目标时间段的数据,所述列存储子表用于存储所述第一目标时间段前的数据;根据分裂周期,确定是否对所述行存储子表进行分裂;在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,所述行存储二级子表用于存储第二目标时间段的数据,所述列存储二级子表用于存储所述第一目标时间段的数据,所述第二目标时间段为在所述第一目标时间段之后的时间段。
可选地,在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表之后,所述方法还包括:根据所述分裂周期,确定是否对所述行存储二级子表进行分裂;在确定对所述行存储二级子表分裂的情况下,将所述行存储二级子表分裂为一个行存储三级子表和一个列存储三级子表,所述行存储三级子表用于存储第三目标时间段的数据,所述列存储三级子表用于存储所述第二目标时间段的数据,所述第三目标时间段为在所述第二目标时间段之后的时间段。
可选地,所述行存储二级子表用于处理OLTP场景下的数据。
可选地,所述列存储二级子表用于处理OLAP场景下的数据。
可选地,所述数据父表还包括多个字段信息,所述行存储子表和所述列存储子表继承所述数据父表的多个所述字段信息,所述行存储二级子表和所述列存储二级子表继承所述行存储子表的多个所述字段信息。
可选地,所述方法还包括:控制所述数据父表接收目标请求信息,所述目标请求信息为插入、删除、更改或者查询数据的请求信息;根据所述索引信息,控制所述数据父表将所述目标请求信息发送给对应的存储子表,并控制所述数据父表将所述存储子表对所述目标请求信息的响应信息发送至应用程序。
根据本发明实施例的另一方面,还提供了一种数据存储结构的处理装置,包括:创建单元,用于创建数据父表,所述数据父表包括索引信息,所述索引信息用于表征所述数据父表与行存储子表和列存储子表的映射关系,所述行存储子表用于存储第一目标时间段的数据,所述列存储子表用于存储所述第一目标时间段前的数据;第一确定单元,用于根据分裂周期,确定是否对所述行存储子表进行分裂;第一分裂单元,用于在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,所述行存储二级子表用于存储第二目标时间段的数据,所述列存储二级子表用于存储所述第一目标时间段的数据,所述第二目标时间段为在所述第一目标时间段之后的时间段。
根据本发明实施例的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的再一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的一方面,还提供了一种数据存储系统,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
在本发明实施例中,数据存储结构的处理方法中,首先创建数据父表,所述数据父表包括用于表征所述数据父表与行存储子表和列存储子表的映射关系的索引信息,其中,所述行存储子表用于存储第一目标时间段的数据,所述列存储子表用于存储所述第一目标时间段前的数据;其次,根据分裂周期,确定是否对所述行存储子表进行分裂;最后,在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,所述行存储二级子表用于存储第二目标时间段的数据,所述列存储二级子表用于存储所述第一目标时间段的数据,所述第二目标时间段为在所述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种实施例的数据存储结构的处理方法的示意图;
图2示出了根据本申请的一种实施例的数据存储结构的处理装置的示意图;
图3示出了根据本申请的一种实施例的数据父表的存储关系图;
图4示出了根据本申请的一种实施例的创建数据父表的示意图;
图5示出了根据本申请的一种实施例的行存储子表自动分裂的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
OLAP:On-Line Analytical Processing,联机分析处理过程,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的;
OLTP:On-Line Transaction Processing,联机事务处理过程,是面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一;
HTAP:Hybrid Transaction Analytical Processing,是联机事务处理过程和联机分析处理过程合称的简写;
数据库:按照预定结构组织成的数据集合;
分布式数据库:逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上的数据库集群。
正如背景技术中所说的,现有技术中的HTAP场景中插入数据和查询数据的性能较差,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种数据存储结构的处理方法、处理装置、计算机可读存储介质、处理器与数据存储系统。
根据本申请的实施例,提供了一种数据存储结构的处理方法。
图1是根据本申请实施例的数据存储结构的处理方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,创建数据父表,上述数据父表包括索引信息,上述索引信息用于表征上述数据父表与行存储子表和列存储子表的映射关系,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;
步骤S102,根据分裂周期,确定是否对上述行存储子表进行分裂;
步骤S103,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。
上述数据存储结构的处理方法中,首先创建数据父表,上述数据父表包括用于表征上述数据父表与行存储子表和列存储子表的映射关系的索引信息,其中,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;其次,根据分裂周期,确定是否对上述行存储子表进行分裂;最后,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
具体地,上述的数据父表为所有数据的出入口,该数据父表向下继承了多个子表,所有的子表都有数据父表的表结构,但存储模式却不一样,一部分子表使用行存储模式,一部分子表使用列存储模式。数据父表不存储数据,只记录与行存储子表和列存储子表的映射关系,而数据父表是可以通过应用程序来访问操作的,应用程序只需要向数据父表发送目标请求信息,通过数据父表对应子表的分片规则来访问和修改相关的数据,而且在数据父表上创建索引信息后,所有的子表也会创建相应的索引信息。例如基于数据父表T1创建索引信息,可以分别对其子表T1_P1,T1_P2直至T1_Pn创建索引信息,只有子表中有具体的索引数据,而数据父表T1只有索引的索引信息。
在实际的应用过程中,上述分裂周期可以为一天,当然,并不限于一天,还可以根据实际的应用场景来确定上述的分裂周期。
具体地,如图3所示,上述在创建上述数据父表时,上述数据父表至少包括一个行存储子表和一个列存储子表。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表之后,上述方法还包括:根据上述分裂周期,确定是否对上述行存储二级子表进行分裂;在确定对上述行存储二级子表分裂的情况下,将上述行存储二级子表分裂为一个行存储三级子表和一个列存储三级子表,上述行存储三级子表用于存储第三目标时间段的数据,上述列存储三级子表用于存储上述第二目标时间段的数据,上述第三目标时间段为在上述第二目标时间段之后的时间段。在该实施例中,根据分裂周期,来确定是否对行存储二级子表进行分裂,确定分裂的情况下,将行存储二级子表分裂为一个行存储三级子表和一个列存储三级子表,其中,行存储三级子表用于存储第三目标时间段的数据,而列存储三级子表用于存储第二目标时间段的数据,这样保证了通过分裂得到的行存储三级子表可以一直适用OLTP场景、最新的数据,而不断增加的列存储三级子表也不会对硬件资源产生影响。
需要说明的是,随着时间的推移,本申请中的行存储三级子表还可以会不断的进行分裂,得到一个行存储四级子表和一个列存储四级子表,而行存储四级子表一般用于存储当天的数据,即是最新的、实时的数据,适用于OLTP数据,列存储四级子表一般用于存储当前之前的数据,即可以理解为历史数据,用于适应OLAP场景。
具体地,存储子表(即行存储子表、列存储子表以及后续不断分裂得到的子表)为所有数据实际存储的物理表,数据子表只储存整张表的一部分数据,这一部分数据可以通过不同的时间周期来确定,数据的存储结构可以相应的选择行存储或列存储,和当前时间点较接近的数据分片通常使用行存储,处理OLTP场景业务;和当前时间点较远的数据分片通常使用列存储,处理OLAP场景业务。当一个具体的操作通过应用程序传给数据父表后,数据父表根据分片规则将操作自动路由到相应的存储子表中,并进行分步处理,最后数据父表汇总后返回给应用程序。例如,基于数据父表T1更新一条数据,这时通过数据规则,找到这条数据所在的T1_P1子表中,并进行更新,因此无需再去扫描T1_P2直至T1_Pn中的数据;又例如,基于数据父表T1通过非分片键进行索引扫描,这时可分别对T1_P1、T1_P2直到T1_Pn进行索引扫描,并对获取后的数据进行合并,最终通过数据父表将数据返回给应用程序,这些操作都大大减少了扫描所占用的I/O资源。
本申请的又一种实施例中,上述行存储二级子表用于处理OLTP场景下的数据。在该方案中,行存储二级子表是按照行数据为基础逻辑单元来存储,每一行的数据在存储介质中以连续存储形式存在,其优势在于对于随机的增删改查操作,在操作过程中使用行存储模式能很快的定位数据并执行相应操作,由于OLTP场景下的数据量较少,但数据查询和更新较为频繁,因此,使用行存储二级子表处理OLTP场景下的数据,这样不仅一步地保证了占用的I/O资源较少,还保证了对数据的处理性能较好。
本申请的另一种实施例中,上述列存储二级子表用于处理OLAP场景下的数据。在该方案中,列存储二级子表是按照列为基础的逻辑单元来存储,每一列的数据存储在存储介质中以连续存储形式存在,其优势在于对于少量列的访问查询操作,在操作过程中只需要访问相关列的数据,由于OLAP场景下数据一般用于分析和支持管理决策,因此,本方案中使用列存储二级子表处理OLAP场景下的数据,这样不仅进一步地降低了I/O资源,还可以通过压缩算法减少数据的存储空间。
为了进一步地保证插入和查询数据的效率较高,本申请的再一种实施例中,上述数据父表还包括多个字段信息,上述行存储子表和上述列存储子表继承上述数据父表的多个上述字段信息,上述行存储二级子表和上述列存储二级子表继承上述行存储子表的多个上述字段信息。
具体地,上述数据父表还包括多个字段信息,上述多个字段信息可以理解为上述数据父表中多个属性的属性信息,例如,上述字段信息可以为年龄、性别、出生日期等等,但并不限于所举例的这些字段信息,而行存储子表和列存储子表继承上述数据父表的多个字段信息,行存储二级子表和列存储二级子表继承上述行存储子表的多个字段信息,这样保证了后续分裂得到的存储子表都具有与数据父表一样字段信息,这样保证了能够较为方便地插入和查询数据,进一步地保证了在查询和插入数据的效率较高。
本申请的一种实施例中,上述方法还包括:控制上述数据父表接收目标请求信息,上述目标请求信息为插入、删除、更改或者查询数据的请求信息;根据上述索引信息,控制上述数据父表将上述目标请求信息发送给对应的存储子表,并控制上述数据父表将上述存储子表对上述目标请求信息的响应信息发送至应用程序。在该实施例中,根据索引信息,控制数据父表将目标请求信息发送给对应的存储子表,即根据索引信息来扫描查找对应的存储子表,无需再查询其他的存储子表,这样保证了扫描查找存储子表的效率较高,再控制数据父表将存储子表对目标请求信息的响应信息发送至应用程序,进一步地保证了占用的I/O资源较少。
需要说明的是,上述存储子表可以包括行存储子表、列存储子表、行存储二级子表、列存储二级子表、行存储三级子表、列存储三级子表以及后续不断分裂的存储子表。
本申请实施例还提供了一种数据存储结构的处理装置,需要说明的是,本申请实施例的数据存储结构的处理装置可以用于执行本申请实施例所提供的用于数据存储结构的处理方法。以下对本申请实施例提供的数据存储结构的处理装置进行介绍。
图2是根据本申请实施例的数据存储结构的处理装置的示意图。如图2所示,该装置包括:
创建单元10,用于创建数据父表,上述数据父表包括索引信息,上述索引信息用于表征上述数据父表与行存储子表和列存储子表的映射关系,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;
第一确定单元20,用于根据分裂周期,确定是否对上述行存储子表进行分裂;
第一分裂单元30,用于在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。
上述数据存储结构的处理装置中,创建单元用于创建数据父表,上述数据父表包括索引信息,上述索引信息用于表征上述数据父表与行存储子表和列存储子表的映射关系,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;第一确定单元用于根据分裂周期,确定是否对上述行存储子表进行分裂;第一分裂单元用于在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
具体地,上述的数据父表为所有数据的出入口,该数据父表向下继承了多个子表,所有的子表都有数据父表的表结构,但存储模式却不一样,一部分子表使用行存储模式,一部分子表使用列存储模式。数据父表不存储数据,只记录与行存储子表和列存储子表的映射关系,而数据父表是可以通过应用程序来访问操作的,应用程序只需要向数据父表发送目标请求信息,通过数据父表对应子表的分片规则来访问和修改相关的数据,而且在数据父表上创建索引信息后,所有的子表也会创建相应的索引信息。例如基于数据父表T1创建索引信息,可以分别对其子表T1_P1,T1_P2直至T1_Pn创建索引信息,只有子表中有具体的索引数据,而数据父表T1只有索引的索引信息。
在实际的应用过程中,上述分裂周期可以为一天,当然,并不限于一天,还可以根据实际的应用场景来确定上述的分裂周期。
具体地,如图3所示,上述在创建上述数据父表时,上述数据父表至少包括一个行存储子表和一个列存储子表。
本申请的一种实施例中,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表之后,上述装置还包括第二确定单元和第二分裂单元,其中,上述第二确定单元用于根据上述分裂周期,确定是否对上述行存储二级子表进行分裂;上述第二分裂单元用于在确定对上述行存储二级子表分裂的情况下,将上述行存储二级子表分裂为一个行存储三级子表和一个列存储三级子表,上述行存储三级子表用于存储第三目标时间段的数据,上述列存储三级子表用于存储上述第二目标时间段的数据,上述第三目标时间段为在上述第二目标时间段之后的时间段。在该实施例中,根据分裂周期,来确定是否对行存储二级子表进行分裂,确定分裂的情况下,将行存储二级子表分裂为一个行存储三级子表和一个列存储三级子表,其中,行存储三级子表用于存储第三目标时间段的数据,而列存储三级子表用于存储第二目标时间段的数据,这样保证了通过分裂得到的行存储三级子表可以一直适用OLTP场景、最新的数据,而不断增加的列存储三级子表也不会对硬件资源产生影响。
需要说明的是,随着时间的推移,本申请中的行存储三级子表还会不断的进行分裂,得到一个行存储四级子表和一个列存储四级子表,而行存储四级子表一般用于存储当天的数据,即是最新的、实时的数据,适用于OLTP数据,列存储四级子表一般用于存储当前之前的数据,即可以理解为历史数据,用于适应OLAP场景。
具体地,存储子表(即行存储子表、列存储子表以及后续不断分裂得到的子表)为所有数据实际存储的物理表,存储子表只储存整张表的一部分数据,这一部分数据可以通过不同的时间周期来确定,数据的存储结构可以相应的选择行存储或列存储,和当前时间点较接近的数据分片通常使用行存储,处理OLTP场景业务;和当前时间点较远的数据分片通常使用列存储,处理OLAP场景业务。当一个具体的操作通过应用程序传给数据父表后,数据父表根据分片规则将操作自动路由到相应的存储子表中,并进行分步处理,最后数据父表汇总后返回给应用程序。例如,基于数据父表T1更新一条数据,这时通过数据规则,找到这条数据所在的T1_P1子表中,并进行更新,因此无需再去扫描T1_P2直至T1_Pn中的数据;又例如,基于数据父表T1通过非分片键进行索引扫描,这时可分别对T1_P1、T1_P2直到T1_Pn进行索引扫描,并对获取后的数据进行合并,最终通过数据父表将数据返回给应用程序,这些操作都大大减少了扫描所占用的I/O资源。
本申请的又一种实施例中,上述行存储二级子表用于处理OLTP场景下的数据。在该方案中,行存储二级子表是按照行数据为基础逻辑单元来存储,每一行的数据在存储介质中以连续存储形式存在,其优势在于对于随机的增删改查操作,在操作过程中使用行存储模式能很快的定位数据并执行相应操作,由于OLTP场景下的数据量较少,但数据查询和更新较为频繁,因此,使用行存储二级子表处理OLTP场景下的数据,这样不仅一步地保证了占用的I/O资源较少,还保证了对数据的处理性能较好。
本申请的另一种实施例中,上述列存储二级子表用于处理OLAP场景下的数据。在该方案中,列存储二级子表是按照列为基础的逻辑单元来存储,每一列的数据存储在存储介质中以连续存储形式存在,其优势在于对于少量列的访问查询操作,在操作过程中只需要访问相关列的数据,由于OLAP场景下数据一般用于分析和支持管理决策,因此,本方案中使用列存储二级子表处理OLAP场景下的数据,这样不仅进一步地降低了I/O资源,还可以通过压缩算法减少数据的存储空间。
为了进一步地保证插入和查询数据的效率较高,本申请的再一种实施例中,上述数据父表还包括多个字段信息,上述行存储子表和上述列存储子表继承上述数据父表的多个上述字段信息,上述行存储二级子表和上述列存储二级子表继承上述行存储子表的多个上述字段信息。
具体地,上述数据父表还包括多个字段信息,上述多个字段信息可以理解为上述数据父表中多个属性的属性信息,例如,上述字段信息可以为年龄、性别、出生日期等等,但并不限于所举例的这些字段信息,而行存储子表和列存储子表继承上述数据父表的多个字段信息,行存储二级子表和列存储二级子表继承上述行存储子表的多个字段信息,这样保证了后续分裂得到的存储子表都具有与数据父表一样字段信息,这样保证了能够较为方便地插入和查询数据,进一步地保证了在查询和插入数据的效率较高。
本申请的一种实施例中,上述装置还包括第一控制单元和第二控制单元,其中,上述第一控制单元用于控制上述数据父表接收目标请求信息,上述目标请求信息为插入、删除、更改或者查询数据的请求信息;上述第二控制单元用于根据上述索引信息,控制上述数据父表将上述目标请求信息发送给对应的存储子表,并控制上述数据父表将上述存储子表对上述目标请求信息的响应信息发送至应用程序。在该实施例中,根据索引信息,控制数据父表将目标请求信息发送给对应的存储子表,即根据索引信息来扫描查找对应的存储子表,无需再查询其他的存储子表,这样保证了扫描查找存储子表的效率较高,再控制数据父表将存储子表对目标请求信息的响应信息发送至应用程序,进一步地保证了占用的I/O资源较少。
需要说明的是,上述存储子表可以包括行存储子表、列存储子表、行存储二级子表、列存储二级子表、行存储三级子表、列存储三级子表以及后续不断分裂的存储子表。
为了使得本领域的技术人员更加清楚明确地了解本申请的技术方案,下面将结合具体的实施例进行说明:
实施例
如图4和图5所示,创建数据父表T1,创建基于数据父表的行存储子表T1_P1,并使用大于当前时间段进行分片;创建基于数据父表的列存储子表T1_P2,使用小于等于当前时间段进行分片;在数据库中设定行存储子表的分裂周期,在达到分裂周期后,行存储子表T1_P1自动分裂为一个行存储子表T1P1和一个列存储子表T1P3,因此数据父表T1中包含了三张子表,行存储子表T1P1,列存储子表T1P2,列存储子表T1P3。
上述数据存储结构的处理装置包括处理器和存储器,上述创建单元、第一确定单元和第一分裂单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述数据存储结构的处理方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述数据存储结构的处理方法。
本申请的一种典型的实施例中,还提供了一种数据存储系统,该数据存储系统包括:一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。
上述数据存储系统可以执行上述任意一种上述的方法,上述的方法中,首先创建数据父表,上述数据父表包括用于表征上述数据父表与行存储子表和列存储子表的映射关系的索引信息,其中,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;其次,根据分裂周期,确定是否对上述行存储子表进行分裂;最后,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,创建数据父表,上述数据父表包括索引信息,上述索引信息用于表征上述数据父表与行存储子表和列存储子表的映射关系,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;
步骤S102,根据分裂周期,确定是否对上述行存储子表进行分裂;
步骤S103,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,创建数据父表,上述数据父表包括索引信息,上述索引信息用于表征上述数据父表与行存储子表和列存储子表的映射关系,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;
步骤S102,根据分裂周期,确定是否对上述行存储子表进行分裂;
步骤S103,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的数据存储结构的处理方法中,首先创建数据父表,上述数据父表包括用于表征上述数据父表与行存储子表和列存储子表的映射关系的索引信息,其中,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;其次,根据分裂周期,确定是否对上述行存储子表进行分裂;最后,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
2)、本申请的数据存储结构的处理装置中,创建单元用于创建数据父表,上述数据父表包括索引信息,上述索引信息用于表征上述数据父表与行存储子表和列存储子表的映射关系,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;第一确定单元用于根据分裂周期,确定是否对上述行存储子表进行分裂;第一分裂单元用于在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
3)、本申请的数据存储系统可以执行上述任意一种上述的方法,上述的方法中,首先创建数据父表,上述数据父表包括用于表征上述数据父表与行存储子表和列存储子表的映射关系的索引信息,其中,上述行存储子表用于存储第一目标时间段的数据,上述列存储子表用于存储上述第一目标时间段前的数据;其次,根据分裂周期,确定是否对上述行存储子表进行分裂;最后,在确定对上述行存储子表分裂的情况下,将上述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,上述行存储二级子表用于存储第二目标时间段的数据,上述列存储二级子表用于存储上述第一目标时间段的数据,上述第二目标时间段为在上述第一目标时间段之后的时间段。在该方案中,将行存储子表分裂为行存储二级子表和列存储二级子表,通过行存储二级子表存储第二目标时间段的数据,即使用行存储二级子表存储与当前时间较近的数据,通过列存储二级子表存储与当前时间较远的数据,这样保证了得到的行存储二级子表用于存储最新的数据,而增加的列存储二级子表也不会对系统的硬件资源产生影响,且本方案实现了在一张表中既存在行存储结构又存在列存储结构,与现有技术中通过使用多表合并的方式来处理HTAP场景下的查询数据相比,本方案是在一张表中进行查询,且无需再进行多表合并,这样不仅保证了占用的硬件资源较少,以及消耗的I/O资源较少,而且根据索引信息进行查询,还保证了查询的效率较高,另外在插入或者更新数据的时候,本方案无需通过应用程序来编写逻辑过程,这样保证了插入和更新数据的效率较高,还避免了编写逻辑过程的难度较高和耦合度较高的问题,从而解决了现有技术中HTAP场景中插入数据和查询数据的性能较差的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据存储结构的处理方法,其特征在于,包括:
创建数据父表,所述数据父表包括索引信息,所述索引信息用于表征所述数据父表与行存储子表和列存储子表的映射关系,所述行存储子表用于存储第一目标时间段的数据,所述列存储子表用于存储所述第一目标时间段前的数据;
根据分裂周期,确定是否对所述行存储子表进行分裂;
在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,所述行存储二级子表用于存储第二目标时间段的数据,所述列存储二级子表用于存储所述第一目标时间段的数据,所述第二目标时间段为在所述第一目标时间段之后的时间段。
2.根据权利要求1所述的方法,其特征在于,在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表之后,所述方法还包括:
根据所述分裂周期,确定是否对所述行存储二级子表进行分裂;
在确定对所述行存储二级子表分裂的情况下,将所述行存储二级子表分裂为一个行存储三级子表和一个列存储三级子表,所述行存储三级子表用于存储第三目标时间段的数据,所述列存储三级子表用于存储所述第二目标时间段的数据,所述第三目标时间段为在所述第二目标时间段之后的时间段。
3.根据权利要求1所述的方法,其特征在于,所述行存储二级子表用于处理OLTP场景下的数据。
4.根据权利要求1所述的方法,其特征在于,所述列存储二级子表用于处理OLAP场景下的数据。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述数据父表还包括多个字段信息,所述行存储子表和所述列存储子表继承所述数据父表的多个所述字段信息,所述行存储二级子表和所述列存储二级子表继承所述行存储子表的多个所述字段信息。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
控制所述数据父表接收目标请求信息,所述目标请求信息为插入、删除、更改或者查询数据的请求信息;
根据所述索引信息,控制所述数据父表将所述目标请求信息发送给对应的存储子表,并控制所述数据父表将所述存储子表对所述目标请求信息的响应信息发送至应用程序。
7.一种数据存储结构的处理装置,其特征在于,包括:
创建单元,用于创建数据父表,所述数据父表包括索引信息,所述索引信息用于表征所述数据父表与行存储子表和列存储子表的映射关系,所述行存储子表用于存储第一目标时间段的数据,所述列存储子表用于存储所述第一目标时间段前的数据;
第一确定单元,用于根据分裂周期,确定是否对所述行存储子表进行分裂;
第一分裂单元,用于在确定对所述行存储子表分裂的情况下,将所述行存储子表分裂为一个行存储二级子表和一个列存储二级子表,所述行存储二级子表用于存储第二目标时间段的数据,所述列存储二级子表用于存储所述第一目标时间段的数据,所述第二目标时间段为在所述第一目标时间段之后的时间段。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至6中任意一项所述的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的方法。
10.一种数据存储系统,其特征在于,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111471251.4A CN114238318A (zh) | 2021-12-03 | 2021-12-03 | 数据存储结构的处理方法、处理装置与数据存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111471251.4A CN114238318A (zh) | 2021-12-03 | 2021-12-03 | 数据存储结构的处理方法、处理装置与数据存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238318A true CN114238318A (zh) | 2022-03-25 |
Family
ID=80753207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111471251.4A Pending CN114238318A (zh) | 2021-12-03 | 2021-12-03 | 数据存储结构的处理方法、处理装置与数据存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238318A (zh) |
-
2021
- 2021-12-03 CN CN202111471251.4A patent/CN114238318A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019218B (zh) | 数据存储与查询方法及设备 | |
EP2924594B1 (en) | Data encoding and corresponding data structure in a column-store database | |
CN111506559B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
JP6928677B2 (ja) | オンライン分析処理を行うためのデータ処理方法及び装置 | |
CN109241159B (zh) | 一种数据立方体的分区查询方法、系统及终端设备 | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
CN109947804B (zh) | 数据集合查询的优化方法、装置、服务器和存储介质 | |
CN114297173B (zh) | 一种面向大规模海量数据的知识图谱构建方法和系统 | |
CN112084270A (zh) | 一种数据血缘处理方法、装置、存储介质及设备 | |
CN110795478A (zh) | 一种应用于金融业务的数据仓库更新方法、装置和电子设备 | |
CN111382182A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114329096A (zh) | 一种原生图数据库处理方法及系统 | |
CN114461644A (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN105095436A (zh) | 数据源数据自动建模方法 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN111666344A (zh) | 异构数据同步方法及装置 | |
CN110134698A (zh) | 数据管理方法及相关产品 | |
Kvet et al. | Relational pre-indexing layer supervised by the DB_index_consolidator Background Process | |
US8229946B1 (en) | Business rules application parallel processing system | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
CN114238318A (zh) | 数据存储结构的处理方法、处理装置与数据存储系统 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN110858199A (zh) | 一种单据数据分布式计算的方法和装置 | |
Zaniewicz et al. | Comparison of MongoDB, Neo4j and ArangoDB databases using the developed data generator for NoSQL databases | |
CN113868138A (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 |