CN111966692A - 针对数据仓库的数据处理方法、介质、装置和计算设备 - Google Patents

针对数据仓库的数据处理方法、介质、装置和计算设备 Download PDF

Info

Publication number
CN111966692A
CN111966692A CN202010925457.9A CN202010925457A CN111966692A CN 111966692 A CN111966692 A CN 111966692A CN 202010925457 A CN202010925457 A CN 202010925457A CN 111966692 A CN111966692 A CN 111966692A
Authority
CN
China
Prior art keywords
data
field
application layer
storage system
task
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
CN202010925457.9A
Other languages
English (en)
Other versions
CN111966692B (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010925457.9A priority Critical patent/CN111966692B/zh
Publication of CN111966692A publication Critical patent/CN111966692A/zh
Application granted granted Critical
Publication of CN111966692B publication Critical patent/CN111966692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2246Trees, e.g. B+trees
    • 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
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

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

Abstract

本发明的实施方式提供了一种针对数据仓库的数据处理方法,包括:获取指定指标;确定数据仓库中针对指定指标的应用层表格;基于应用层表格的依赖关系,确定数据传输任务的执行规则;以及,基于上述执行规则,执行上述数据传输任务,以将应用层表格中的数据传输至数据存储系统。其中,数据存储系统用于向客户端提供数据。本发明的实施方式还提供了一种针对数据仓库的数据处理装置、介质和计算设备。

Description

针对数据仓库的数据处理方法、介质、装置和计算设备
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及针对数据仓库的数据处理方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
相关数据传输技术中,可以实现不同数据源之间的数据相互传导,能够快速的将源数据库中的数仓表(例如Hive表)导出到应用层数据库(例如目前常用的关系型数据库),但是具体应用开发者并不能直接使用上述导出的数据,还必须在获取并掌握了上述数据仓库表模型设计基础上构建出相匹配的接口或服务才能正常使用上述导出的数据。因此,相关技术中缺乏数据从导出到应用的完整自动化执行链路,数据传输效率较低;且在数据从导出到应用的中间环节对应用开发者的背景知识要求较高,不具有普适性,影响到了数据应用的灵活度及广泛度。
发明内容
在本上下文中,本发明的实施方式期望提供一种针对数据仓库的数据处理方法和装置。
在本发明实施方式的第一方面中,提供了一种针对数据仓库的数据处理方法,包括:获取指定指标;确定数据仓库中针对指定指标的应用层表格;基于应用层表格的依赖关系,确定数据传输任务的执行规则;以及,基于上述执行规则,执行上述数据传输任务,以将应用层表格中的数据传输至数据存储系统。其中,数据存储系统用于向客户端提供数据。
在本发明的一个实施例中,指定指标包括:分析维度和原子指标。上述确定数据仓库中针对指定指标的应用层表格包括:确定数据仓库中包含第一字段和第二字段的应用层表格。其中,第一字段用于表示分析维度,第二字段用于表示原子指标,第一字段的取值类型与分析维度的取值类型相同,第二字段的取值类型与原子指标的取值类型相同。上述将应用层表格中的数据传输至数据存储系统包括:将应用层表格中第一字段的取值和第二字段的取值传输至数据存储系统。
在本发明的另一实施例中,上述基于应用层表格的依赖关系,确定数据传输任务的执行规则包括:基于应用层表格的依赖关系,确定产生应用层表格的源任务;以及,确定数据传输任务的执行规则包括由该源任务的执行成功事件触发执行上述数据传输任务。
在本发明的又一实施例中,上述基于所述执行规则,执行所述数据传输任务包括:监测所述源任务所在任务流的执行情况;以及,响应于所述源任务执行成功的事件,执行所述数据传输任务。
在本发明的再一实施例中,上述方法还包括:获取所述数据仓库中的多个任务各自的执行语句;基于所述多个任务各自的执行语句,确定所述数据仓库中多个表格各自的源任务、所述多个表格之间的上下游关系、以及所述多个任务之间的调度关系,以作为所述多个表格的依赖关系;以及,将所述多个表格的依赖关系存储于图数据库。其中,所述应用层表格的依赖关系从所述图数据库获取得到。
在本发明的再一实施例中,上述方法还包括:在将应用层表格中的数据传输至数据存储系统之前,确定所述数据存储系统中是否存在预置表格;如果否,则在所述数据存储系统中创建目标表格,使得所述目标表格包含所述第一字段和所述第二字段;以及,如果是,则确定所述预置表格是否包含所述第一字段和所述第二字段;是则将所述预置表格作为目标表格;否则对所述预置表格进行修改,以使所述预置表格包含所述第一字段和所述第二字段,并将修改后的所述预置表格作为目标表格。上述将应用层表格中第一字段的取值和第二字段的取值传输至数据存储系统包括:将应用层表格中第一字段的取值作为目标表格中第一字段的取值,并将应用层表格中第二字段的取值作为目标表格中第二字段的取值。
在本发明的再一实施例中,上述确定预置表格是否包含第一字段和第二字段包括:确定所述预置表格中是否包含与所述第一字段相匹配的第三字段和与所述第二字段相匹配的第四字段;以及,如果是,则在确定第三字段的取值类型与所述第一字段的取值类型相同、且第四字段的取值类型与第二字段的取值类型相同的情况下,确定预置表格包含第一字段和第二字段。
在本发明的再一实施例中,数据存储系统包括:关系型数据库、缓存系统和消息队列。
在本发明的再一实施例中,数据存储系统包括:非消息队列类型的多个第一数据源。上述方法还包括:获取来自客户端的查询请求;在通过校验确定所述查询请求具有访问权限的情况下,基于所述查询请求,生成针对所述多个第一数据源的统一查询语句;基于所述统一查询语句对所述多个第一数据源进行联合查询,以得到联合查询结果;以及,将所述联合查询结果发送至所述客户端。
在本发明的再一实施例中,统一查询语句包括:多个第一数据源各自的目标表格、多个目标表格各自的目标区域、联合字段以及过滤条件。上述基于所述统一查询语句对所述多个第一数据源进行联合查询包括:基于所述联合字段,对所述多个第一数据源各自的目标表格进行合并,以得到合并表格;以及,从所述合并表格中的多个所述目标区域中选择符合所述过滤条件的数据,以作为所述联合查询结果。
在本发明的再一实施例中,上述基于所述统一查询语句对所述多个第一数据源进行联合查询包括:构建所述统一查询语句的抽象语法树;遍历所述抽象语法树,以生成逻辑执行计划;以及,基于所述逻辑执行计划,对所述多个第一数据源进行联合查询。
在本发明的再一实施例中,上述方法还包括:对上述逻辑执行计划进行谓词下推,以得到更新的逻辑执行计划。上述基于逻辑执行计划,对多个第一数据源进行联合查询包括:基于更新的逻辑执行计划,对多个第一数据源进行联合查询。
在本发明的再一实施例中,数据存储系统包括:消息队列类型的多个第二数据源。上述方法还包括:获取来自客户端的查询请求;从所述多个第二数据源中确定所述客户端具有访问权限的第二数据源,以作为目标数据源;以及,针对每个目标数据源,基于所述目标数据源的权限管理机制和所述查询请求,创建消息队列实例,以由所述客户端从所述消息队列实例中获取数据。
在本发明实施方式的第二方面中,提供了一种针对数据仓库的数据处理装置,包括:指标获取模块、第一确定模块、第二确定模块和数据传输模块。指标获取模块用于获取指定指标。第一确定模块用于确定所述数据仓库中针对所述指定指标的应用层表格。第二确定模块用于基于所述应用层表格的依赖关系,确定数据传输任务的执行规则。数据传输模块用于基于所述执行规则,执行所述数据传输任务,以将所述应用层表格中的数据传输至数据存储系统,其中,所述数据存储系统用于向客户端提供数据。
在本发明的一个实施例中,指定指标包括:分析维度和原子指标。第一确定模块具体用于确定所述数据仓库中包含第一字段和第二字段的应用层表格。其中,第一字段用于表示所述分析维度,述第二字段用于表示所述原子指标,第一字段的取值类型与分析维度的取值类型相同,第二字段的取值类型与所述原子指标的取值类型相同。数据传输模块具体用于将应用层表格中所述第一字段的取值和所述第二字段的取值传输至数据存储系统。
在本发明的另一实施例中,第二确定模块包括:源任务确定子模块用于基于所述应用层表格的依赖关系,确定产生所述应用层表格的源任务;以及,规则确定子模块用于确定所述数据传输任务的执行规则包括:由所述源任务的执行成功事件触发执行所述数据传输任务。
在本发明的又一实施例中,数据传输模块包括:监测子模块用于监测所述源任务所在任务流的执行情况;以及,执行子模块用于响应于所述源任务执行成功的事件,执行所述数据传输任务。
在本发明的再一实施例中,上述装置还包括依赖关系分析模块,用于获取所述数据仓库中的多个任务各自的执行语句;基于所述多个任务各自的执行语句,确定所述数据仓库中多个表格各自的源任务、所述多个表格之间的上下游关系、以及所述多个任务之间的调度关系,以作为所述多个表格的依赖关系;以及,将所述多个表格的依赖关系存储于图数据库,其中,所述应用层表格的依赖关系从所述图数据库获取得到。
在本发明的再一实施例中,上述装置还包括预处理模块,用于在数据传输模块将应用层表格中的数据传输至数据存储系统之前,确定所述数据存储系统中是否存在预置表格;如果否,则在所述数据存储系统中创建目标表格,使得所述目标表格包含所述第一字段和所述第二字段;以及,如果是,则确定所述预置表格是否包含所述第一字段和所述第二字段;是则将所述预置表格作为目标表格;否则对所述预置表格进行修改,以使所述预置表格包含所述第一字段和所述第二字段,并将修改后的所述预置表格作为目标表格。数据传输模块用于将所述应用层表格中所述第一字段的取值作为所述目标表格中所述第一字段的取值,并将所述应用层表格中所述第二字段的取值作为所述目标表格中所述第二字段的取值。
在本发明的再一实施例中,预处理模块确定预置表格是否包含所述第一字段和所述第二字段的过程包括:确定预置表格中是否包含:与所述第一字段相匹配的第三字段和与所述第二字段相匹配的第四字段;以及,如果是,则在确定所述第三字段的取值类型与所述第一字段的取值类型相同、且所述第四字段的取值类型与所述第二字段的取值类型相同的情况下,确定所述预置表格包含所述第一字段和所述第二字段。
在本发明的再一实施例中,数据存储系统包括:关系型数据库、缓存系统和消息队列。
在本发明的再一实施例中,数据存储系统包括:非消息队列类型的多个第一数据源。上述装置还包括:接收模块用于获取来自客户端的查询请求;查询语句生成模块用于在通过校验确定所述查询请求具有访问权限的情况下,基于所述查询请求,生成针对所述多个第一数据源的统一查询语句;查询模块用于基于所述统一查询语句对所述多个第一数据源进行联合查询,以得到联合查询结果;以及,数据输出模块用于将所述联合查询结果发送至所述客户端。
在本发明的再一实施例中,统一查询语句包括:所述多个第一数据源各自的目标表格、多个所述目标表格各自的目标区域、联合字段以及过滤条件。查询模块具体用于:基于所述联合字段,对所述多个第一数据源各自的目标表格进行合并,以得到合并表格;以及,从所述合并表格中的多个所述目标区域中选择符合所述过滤条件的数据,以作为所述联合查询结果。
在本发明的再一实施例中,查询模块具体用于:构建所述统一查询语句的抽象语法树;遍历所述抽象语法树,以生成逻辑执行计划;以及,基于所述逻辑执行计划,对所述多个第一数据源进行联合查询。
在本发明的再一实施例中,上述装置还包括更新模块,用于对逻辑执行计划进行谓词下推,以得到更新的逻辑执行计划。查询模块基于所述逻辑执行计划,对多个第一数据源进行联合查询的过程为:基于更新的逻辑执行计划,对多个第一数据源进行联合查询。
在本发明的再一实施例中,数据存储系统包括:消息队列类型的多个第二数据源。上述装置还包括:接收模块用于获取来自客户端的查询请求;数据源确定模块用于从所述多个第二数据源中确定所述客户端具有访问权限的第二数据源,以作为目标数据源;以及,消息队列创建模块用于针对每个目标数据源,基于所述目标数据源的权限管理机制和所述查询请求,创建消息队列实例,以由所述客户端从所述消息队列实例中获取数据。
在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,指令在被处理器执行时用于实现:上述实施例中任一项所述的针对数据仓库的数据处理方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,处理器执行指令时实现:上述实施例中任一项所述的针对数据仓库的数据处理方法。
根据本发明实施例的技术方案,实现了数仓数据从导出至应用的完整自动化链路,不仅可以兼容不同类型的数据存储系统,而且可以实现所导出的数据直接应用,对应用开发者屏蔽了源数据相关的数据仓库表模型设计,无需应用开发者了解上述数据仓库表模型设计,并省去了重新构建对应的接口或服务这一繁琐低效环节,即可直接进行灵活、高效的数据应用,广泛适用于各种互联网技术环境。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的针对数据仓库的数据处理方法及其装置的应用场景;
图2示意性地示出了根据本发明一个实施例的针对数据仓库的数据处理方法的流程图;
图3示意性地示出了根据本发明一个实施例的将数据从数据仓库导入数据存储系统的过程示例图;
图4示意性地示出了根据本发明一个实施例的监控数据的处理装置的框图;
图5示意性地示出了根据本发明一个实施例的表格之间的上下游关系的示例图;
图6示意性地示出了根据本发明一个实施例的任务的调度信息的示例图;
图7示意性地示出了根据本发明一个实施例的数据存储系统的数据应用过程的示例图;
图8示意性地示出了根据本发明一个实施例的合并数据过程的示例图;
图9示意性地示出了根据本发明另一个实施例的数据存储系统的数据应用过程的示例图;
图10示意性地示出了根据本发明一个实施例的数据服务平台的示例结构图;
图11示意性地示出了根据本发明一个实施例的针对数据仓库的数据处理装置的框图;
图12示意性地示出了根据本发明实施方式的计算机可读存储介质产品的示意图;以及
图13示意性地示出了根据本发明实施方式的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种针对数据仓库的数据处理方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语包括:数据仓库(Data Warehouse,DW)、数仓分层、数据传输、数据服务、数据存储系统、依赖关系等。
其中,数据仓库是一个支持管理决策的数据集合。数据是面向主题的、集成的、不易丢失的并且是时变的。数据仓库是所有操作环境和外部数据源的快照集合。它并不需要非常精确,因为它必须在特定的时间基础上从操作环境中提取出来。
数仓分层是指数仓建设过程中对数据模型划分的分层,用于指导数仓数据开发,一般来说可以分成:ODS(Operation Data Store,原始数据层)、DWD(Data WarehouseDetails,明细层)、DWS(Data Warehouse Service,服务层)、ADS(Application DataService,应用层)这4层。其中ODS层是导入到数仓中的原始数据,比如用户行为日志。DWD是明细层,对ODS层数据进行清洗,比如去除空值、伪值等。DWS在DWD至上进行轻度聚合。ADS层的表是各类指标模型表,指标字段和维度字段,开发根据指标定义的计算逻辑,基于DWS层表,生成ADS层表数据,ADS层的表最终要导出到数据存储系统供应用来使用。
数据传输是指在数仓设计中不同类型的数据源之间的数据传导,比如从数据存储系统导入到ODS层原始表,以及从ADS层将指标模型表导出到数据存储系统等。数据服务是指将数据仓库ADS层指标表,以某种方案提供为App、Web等在线应用访问的服务系统。数据存储系统也可称为载体,例如可以包括各种关系型数据库、非关系型数据库、消息队列等。依赖关系,也可称为任务血缘。大数据中的任务血缘是通过分析任务执行语句SQL、得到任务节点、库表字段之间的流向关系,通过任务血缘可以方便的查询某个任务关联影响了哪些表,某个表是由哪些任务、哪些上游表产出的等信息。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
在实现本公开构思的过程中,发明人发现,相关数据传输技术中,可以实现不同数据源之间的数据相互传导,能够快速的将源数据库中的数仓表(例如Hive表)导出到应用层数据库(例如目前常用的关系型数据库),但是具体应用开发者并不能直接使用上述导出的数据,还必须在获取并掌握了上述数据仓库表模型设计基础上构建出相匹配的接口或服务才能正常使用上述导出的数据。因此,相关技术中缺乏数据从导出到应用的完整自动化执行链路,数据传输效率较低;且在数据从导出到应用的中间环节对应用开发者的背景知识要求较高,不具有普适性,影响到了数据应用的灵活度及广泛度。
为此,本发明实施例提供了一种针对数据仓库的数据处理方法和装置,该方法包括:获取指定指标;确定数据仓库中针对指定指标的应用层表格;基于应用层表格的依赖关系,确定数据传输任务的执行规则;以及,基于上述执行规则,执行上述数据传输任务,以将应用层表格中的数据传输至数据存储系统。其中,数据存储系统用于向客户端提供数据。本方案实现了数仓数据从导出至应用的完整自动化链路,不仅可以兼容不同类型的数据存储系统,而且可以实现所导出的数据直接应用,对应用开发者屏蔽了源数据相关的数据仓库表模型设计,无需应用开发者了解上述数据仓库表模型设计,并省去了重新构建对应的接口或服务这一繁琐低效环节,即可直接进行灵活、高效的数据应用,广泛适用于各种互联网技术环境。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1详细阐述本发明实施例的针对数据仓库的数据处理方法及其装置的应用场景。
图1示意性地示出了根据本发明实施方式的针对数据仓库的数据处理方法及其装置的应用场景。在图1所示的应用场景100中,可以包括终端设备110、网络120和服务端130,服务端130可以包括数据服务131、数据仓库132和数据存储系统133。
终端设备110可以是各种电子设备,包括但不限于智能手机、个人计算机、平板电脑等,在此不做限制。网络120为用以在终端设备110和服务端130之间提供通信链路的介质,可以包括各种连接类型,例如有线或无线通信链路等。
终端设备110中可以安装具有各种功能的客户端,例如,客户端A在进行应用开发或执行功能时需要获得业务数据a,客户端A可以通过网络120与服务端130进行通信。数据仓库132以表格形式(例如Hive表)存储有大量数据集合。数据服务131可以将数据仓库132中的表格导入至数据存储系统133,进而可以从数据存储系统133读取业务数据a并返回至客户端A。
根据本公开实施例的针对数据仓库的数据处理方法和装置可以由上述数据服务执行,以实现数据从数据仓库至数据应用的完整链路。
应该理解,图1中的终端设备、网络、服务端的数目、类型仅仅是示意性的。根据实际需要,可以设置为任意数目和任意类型。
示例性方法
下面结合图1的应用场景,参考图2~图10来描述根据本发明示例性实施方式的针对数据仓库的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明一个实施例的针对数据仓库的数据处理方法的流程图,该方法例如可由图1所示的数据服务执行。
如图2所示,该方法包括如下操作S210~S240。
操作S210,获取指定指标。
示例性地,指定指标是指被指定的具体指标,可以包含具体的指标内容和维度内容。该指定指标可以用于反映客户端针对业务数据的具体需求。对于数据仓库来说,指标是数仓建设中的业务口径和计算逻辑,体现了具体的业务需求。例如,指标可以分为原子指标和派生指标,原子指标是基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,比如“支付金融”,派生指标可以理解为对原子指标业务统计范围的圈定,会有一些修饰描述,常见的是通过指标分析的维度来对派生指标进行描述。
操作S220,确定数据仓库中针对指定指标的应用(ADS)层表格。
操作S230,基于应用层表格的依赖关系,确定数据传输任务的执行规则。
操作S240,基于上述执行规则,执行上述数据传输任务,以将上述应用层表格中的数据传输至数据存储系统,从而由数据存储系统向客户端提供数据。
示例性地,数据存储系统可以包括一种或多种类型的数据库。例如可以包括关系型数据库(例如MySQL数据库、Oracle数据库等)、消息队列(Message Queue,MQ)(例如ActiveMQ消息队列、Kafka消息队列等)、非关系型数据库(NoSQL)(例如HBase数据库等)以及缓存系统(例如Redis缓存等)。可以直接读取数据存储系统中的数据,或者也可以基于数据存储系统构建取数API(Application Programming Interface,应用程序编程接口)或服务来实现数据读取。
本领域技术人员可以理解,根据本发明实施例的技术方案,在获取指定指标之后,确定数据仓库中针对该指定指标的ADS层表格。根据数据仓库中关于该ADS表格的依赖关系来确定数据传输任务的执行规则,从而可以按照该执行规则自动化地将该ADS表格中的数据从数据仓库导入到数据存储系统,以基于数据存储系统来向客户端应用提供数据。该过程实现了数仓数据从导出至应用的完整自动化链路,不仅可以兼容不同类型的数据存储系统,而且可以实现所导出的数据直接应用,对应用开发者屏蔽了源数据相关的数据仓库表模型设计,无需应用开发者了解上述数据仓库表模型设计,并省去了重新构建对应的接口或服务这一繁琐低效环节,即可直接进行灵活、高效的数据应用,广泛适用于各种互联网技术环境。
在本发明的一个实施例中,指定指标例如可以包括分析维度和原子指标,其中分析维度可以包括一种或多种。一种分析维度通常包括反映业务的一类属性的集合。例如,一个地理维度可以包括国家、地区、省份、城市等级别;一个时间维度可以包括年、季、月、周、日等级别。上述确定数据仓库中针对指定指标的应用层表格的过程可以包括:确定数据仓库中包含第一字段和第二字段的应用层表格。其中,第一字段用于表示指定指标中的分析维度,第二字段用于表示指定指标中的原子指标。当指定指标包括多个分析维度时,应用层表格中应当包含多个第一字段,该多个第一字段可以构成第一字段集合。每个第一字段的取值类型与其所针对的分析维度的取值类型相同,第二字段的取值类型与原子指标的取值类型相同。在此基础上,上述将应用层表格中的数据传输至数据存储系统的过程可以包括:将应用层表格中第一字段的取值和第二字段的取值传输至数据存储系统,从而将符合用户业务需求逻辑的数据导入数据存储系统。该过程无需用户手动参与,无需实施数据应用的用户了解数据仓库的模式设计,便捷且高效。
图3示意性地示出了根据本发明一个实施例的将数据从数据仓库导入数据存储系统的过程示例图。
如图3所示,数据服务301响应于用户通过客户端的登录操作,针对用户进行角色权限认证302。根据用户角色判断是否具有使用平台的权限。其中用户角色是用户登录账号的属性之一。例如,在用户角色为“数据应用架构师”时确定其具有权限。示例性地,指标系统303可以根据用户角色向用户展示指标列表,该指标列表中可以包括多种指标以供用户选择,如图4所示,指标列表可以包括例如“快递订单数”、“曝光率”、“播放次数”、“销售总量”等指标。此外,还可以向用户展示输入控件,以接收用户手动输入的指标。数据服务将用户选择或输入的指标作为上文所述的指定指标。
数据服务301根据用户选择或填写的指定指标从指标系统303获取所需信息,例如该指定指标的分析维度、原子指标、针对该指定指标的ADS层表格的表名等。其中,分析维度是指最终可以从哪些维度对该指定指标进行分析,以指定指标“西北地区过去一周内容运营”为例,该指标的分析维度包括:“地区”(省、自治区、地区等)和“时间”(年、月、周、日等),并且关联的原子指标口径是“内容运营”。例如,表示分析维度“地区”的第一字段为“region”,表示分析维度“时间”的第一字段为“day”,分析维度所构成的第一字段集合为(region、day),表示原子指标“内容运营”的第二字段是con_operate”。针对指定指标的ADS层表格,也可称为该指定指标的关联ADS层表格,是指该指定指标最终在数据仓库的哪个Hive表中体现,比如在store_day表中,那么该表中的字段集合中应当包括:“con_operate”、“region”和“day”,即包含上述第一字段和第二字段的ADS层表格。
根据从上述步骤中拿到表名、分析维度和原子指标,以及数据应用选择的数据存储系统(也可称为“载体”),比如Mysql、Oracle或者RocketMq等,在数据传输系统304中构建对应的数据传输任务。该数据传输任务用于将数据仓库305中针对指定指标的ADS层表格中的数据传输至载体306。
根据本发明的实施例,在将应用层表格中的数据传输至数据存储系统之前,可以先确定数据存储系统中是否存在预置表格,以确定是否可以直接实施数据传输任务。如果否,则在数据存储系统中创建目标表格,使得目标表格包含上述第一字段和第二字段。在目标表格创建后可以实施数据传输任务,在数据传输过程中,将ADS层表格中第一字段的取值作为目标表格中第一字段的取值,并将ADS层表格中第二字段的取值作为目标表格中第二字段的取值。
在数据存储系统中存在预置表格的情况下,进一步确定该预置表格是否包含上述第一字段和第二字段。如果是,则直接将该预置表格作为目标表格,可以直接实施数据传输任务。如果否,则对该预置表格进行修改,以使修改后的预置表格包含第一字段和第二字段,并将修改后的预置表格作为目标表格。从而可以实施数据传输任务。在数据传输过程中,将ADS层表格中第一字段的取值作为目标表格中第一字段的取值,并将ADS层表格中第二字段的取值作为目标表格中第二字段的取值。
示例性地,上述确定预置表格是否包含第一字段和第二字段的过程可以包括:确定预置表格中是否包含与各个第一字段相匹配的第三字段和与第二字段相匹配的第四字段。并且,在确定预置表格中包含上述第三字段和第四字段的情况下,确定各个第三字段的取值类型与其所对应的第一字段的取值类型是否相同,确定第四字段的取值类型与第二字段的取值类型是否相同,在上述判定结果均为是时,确定预置表格包含第一字段和第二字段。
举例进行说明,在图3所示的例子中,在构建数据传输任务之后,如果数据应用的载体是关系型数据库,则检查预置表格是否存在。如果不存在则根据ADS层表格的表示原子指标的第二字段(比如“con_operate”)、表示分析维度的第一字段集合(region、day)等,生成创建表的语句并自动建表,以得到目标表格。如果预置表格已经存在,则检查该预置表格的字段结构等是否符合预期匹配,符合预期匹配包括以下两个条件,第一条件是:字段名必须匹配。例如确定预置表格中是否包含“con_operate”、“region”和“day”这三个字段,是则确定符合第一条件。第二条件是:字段的类型必须与ADS层表格中字段的类型相匹配。例如确定预置表格中的“con_operate”字段类型是否为varchar(可变长字符串)类型、“region”字段类型是否为varchar类型、以及“day”字段类型必须是date(日期)类型,以上判定结果均为是时确定符合第二条件。在同时符合第一条件和第二条件的情况下,确定预置表格为符合预期匹配检查的目标表格,可以实施数据传输任务。如果不符合预期匹配检查,则给出修改的方案提示,以将预置表格修改为符合预期检查匹配的目标表格。
如果载体不是关系型数据库,但是该载体中存在包含有表的Schema(模式),比如Hbase数据库、Kudu数据库等,其处理方式和上述关系型数据库的处理方式类似。如果载体没有Schema,比如各种消息队列如RocketMq、Kafka等,或者缓存系统如Redis等,则需要从元数据中心307获取对应的Schema,并进行如上所述的字段映射的检查和配置。
上述过程基于针对指定指标的ADS层表格进行载体中目标表格的映射和配置,以明确数据传输任务中从数据仓库至数据存储系统的映射关系,从而使得与指定指标相关联的数据能够顺序从数据仓库导入至指定的数据存储系统中,符合数据应用需求。
根据本发明的实施例,在确定针对指定指标的ADS层表格之后,可以基于数据仓库中关于该ADS层表格的依赖关系,确定数据传输任务的执行规则。该过程可以包括:基于ADS层表格的依赖关系,确定该产生ADS层表格的源任务,该源任务用于执行针对该ADS层表格的库表自动填充过程。故可以确定数据传输任务的执行规则包括由该源任务的执行成功事件触发执行上述数据传输任务。从而可以基于该执行规则来执行数据传输任务,在针对指定指标的ADS层表格源任务填充更新后执行数据传输任务。
示例性地,上述基于执行规则,执行数据传输任务的过程可以包括:监测针对指定指标的ADS层表格的源任务所在任务流的执行情况,响应于该源任务执行成功的事件,执行所构建的数据传输任务。
在本发明的一个实施例中,数据仓库中各表格的依赖关系可以预先获取并存储在指定区域(例如图数据库中),在需要时直接从图数据库中获取得到ADS层表格的依赖关系,该过程可称为任务血缘分析。示例性地,在任务血缘分析过程中,可以预先获取数据仓库中的多个任务各自的执行语句,并基于该多个任务各自的执行语句,确定数据仓库中多个表格各自的源任务、所述多个表格之间的上下游关系、以及多个任务之间的调度关系,以作为多个表格的依赖关系。再将多个表格的依赖关系存储于图数据库以便于后续使用。
举例进行说明,继续参考图3,在获取到指定指标之后,通过指标系统进行库表定位,以确定数据仓库中针对指定指标的ADS层表格。在确定ADS层表格后,可以获知库表自动填充规则308,以及进行任务血缘309分析。例如,根据ADS层表格的表名,从血缘分析中得到产出该ADS层表格的源任务(Job),并确定该源任务所在的工作流(Flow)的调度(Schedule)信息,比如时间周期、起始执行时间点、最近执行时间点等。
任务血缘的产出流程如下:1.分析各个调度任务的执行语句(SQL),得到血缘上下游表之间的流向关系;2.记录任务及其调度信息,将该信息绑定在血缘下游表;3.将血缘流向关系、绑定信息等保存在图数据库、搜索系统中,提供对外的查询能力。例如:funclub_global工作流(Flow)中的一个任务节点“ads_funclub_consume_retain_di2”的SQL为“insert into dws_log_funclub_user_interact_sd select t.c1,m.c2 from ads_funclub_consume_retain_di t,dim_par_funclub_user_dd m where t.user_id=m.user_id”,通过SQL解析,可以确定该任务的血缘下游表为“dws_log_funclub_user_interact_sd”,以及该任务的血缘上游表是“ads_funclub_consume_retain_di”和“dim_par_funclub_user_dd”,如图5所示。此外,根据“funclub_global”的任务调度关系可以获知任务调度的周期、最近一次执行的时间等信息,如图6所示。其中,图5示意性地示出了根据本发明一个实施例的表格之间的上下游关系的示例图,图6示意性地示出了根据本发明一个实施例的任务的调度信息的示例图。
在图3所示的例子中,在创建数据传输任务并获取针对指定指标的ADS层表格的依赖关系之后,数据服务301在任务调度系统310中基于上述依赖关系配置数据传输任务的执行规则,即在任务调度系统310中创建关联数据传输任务的Flow/Job。例如,配置其跨流依赖产出ADS层表格的源Job,并配置其Schedule的时间周期信息和源Job/Flow的Schedule时间周期信息一致,比如在任务调度系统中创建一个名为easyDS_DT的抽数flow,该flow包含一个job关联数据传输任务,以实现将ADS层表格中的数据导出至载体中。任务调度系统根据配置的依赖关系,在源任务成功执行以后,触发数据传输任务,保证数据的及时抽取。
例如,针对指定指标的ADS层表格为图5所示的“dws_log_funclub_user_interact_sd”表格,则在任务调度系统中创建针对该ADS层表格的抽数任务,该抽数任务负责将“dws_log_funclub_user_interact_sd”表格导出至Mysq1。并根据该ADS层表格的依赖关系配置该抽数任务的源任务为任务“ads_funclub_consume_retain_di2”,该源任务的执行时间如图6所示。每次在源任务执行结束后,可知ADS层数据进行了变更,则执行一次数据传输任务,使得更新的与指定指标相关联的数据可以及时被导入至数据存储系统中。
此外,由于上述配置过程对ADS层表格的源任务做了跨流依赖,在数据仓库中针对ADS层表格执行补数据、数据回跑的场景下,也可以方便地实现数据抽取。补数据是指在某些情况下需要重新运行过去一段时间内的任务来纠正数据错误,比如由于业务逻辑口径的变更或者底层数据的错误,需要将“西北地区过去一周内容运营”这一指标关联的工作流重跑以重新生成针对该指标的ADS层表格。在此情况下,在任务调度系统中与上述需要重新运行的工作流具有上下游关系的抽数任务也按照执行顺序相应关联运行,由与指标相关联的工作流重新跑完以后将自动地运行抽数任务,以将修正后的ADS层表格中的数据传输至数据存储系统。
根据本发明的实施例,所提供的针对数据仓库的数据处理方法可以支持多种数据存储系统,即可以执行多数据应用载体,适用于各种数据应用场景。下面针对不同数据存储系统的数据应用过程进行示例性说明。
在本发明的一个实施例中,数据存储系统可以包括:非消息队列类型的多个第一数据源,第一数据源均存在包含有表的模式,也可称为Schema应用载体,或者称为非MQ的应用载体。在针对第一数据源的数据应用过程中,获取来自客户端的查询请求,在通过校验确定所述查询请求具有访问权限的情况下,基于上述查询请求,生成针对多个第一数据源的统一查询语句。再基于所述统一查询语句对所述多个第一数据源进行联合查询,以得到联合查询结果,并将联合查询结果发送至所述客户端。
例如,统一查询语句可以包括:多个第一数据源各自的目标表格、多个目标表格各自的目标区域、联合字段以及过滤条件。上述基于统一查询语句对多个第一数据源进行联合查询的过程可以包括:基于统一查询语句中的联合字段,对多个第一数据源各自的目标表格进行合并,以得到合并表格;以及,从合并表格中的多个目标区域中选择符合过滤条件的数据,以作为联合查询结果。更为具体地,上述基于统一查询语句对多个第一数据源进行联合查询包括:构建统一查询语句的抽象语法树;遍历抽象语法树,以生成逻辑执行计划;以及,基于逻辑执行计划,对多个第一数据源进行联合查询。
图7示意性地示出了根据本发明一个实施例的数据存储系统的数据应用过程的示例图,用以示例性地说明针对上述非MQ的应用载体的数据应用过程。
如图7所示,对于非MQ的应用载体,可以通过Restful API的方式对外提供服务。在使用之前,需要选取对应的载体数据源来创建查询逻辑模型,查询逻辑模型中会配置查询返回字段、联合字段、以及过滤条件字段,系统根据模型信息自动生成API。例如,选取了es_db1(ES类型)和mysq1_db2(Mysql类型)这2个第一数据源来生成查询逻辑模型,并指定其联合字段为“user_id”,返回字段为es_db1的“coll”以及mysql_db2的“col2”,过滤条件字段是“date”。基于该查询逻辑模型会自动生成一个查询访问URL,比如:https://ip:port/emApiPath。客户端可以通过例如https://ip:port/emApiPath?date=2020-05-09&AccessKey=xxx&token=yyy&timestamp=tttt的方式发送查询请求。其中,AccessKey为访问密钥,token的生成逻辑例如是hash_func(AccessKey,timestamp),hash_func可以是MD5算法,或者其他哈希算法,timestamp为时间戳。
由“API查询服务”负责调用访问控制,“API查询服务”可以抽象出3层。最上层是“API查询解析层”,负责解析接收到的查询请求。例如,根据传入的AccessKey、token、timestamp进行访问权限的校验,判断MD5(AccessKey+timestamp)是否等于token。如果相等则认为客户端拥有正确的AccessKey,具有访问权限。如果不相等则确定客户端不具有访问权限,并直接返回异常。在校验通过的情况下,根据emApiPath获取API的相关信息,包括API的名字、查询逻辑模型访问的数据源、返回字段、过滤字段等,并结合调用URL中的查询的参数列表等,生成统一查询SQL。例如,统一查询SQL为“select t.col1,m.col2 from es_dbl.tablel t join mysql_db2.table2 m on t.user_id and date=″2020-05-09″”,该统一查询SQL的含义为:将ES数据源中db1.table1和Mysql数据源中的db2.table2进行基于联合字段“user_id”进行合并(join),然后从中选取tablel的col1和table2的col2。
接着可以依据统一查询SQL执行联合查询。“API查询服务”的第二层是“执行计划构建层”,用于解析统一查询SQL,构建抽象语法树(Abstract Syntax Tree,AST),遍历AST生成逻辑执行计划(Operator Tree),并基于该逻辑执行计划对多个第一数据源进行联合查询。
进一步地,根据本发明的实施例可以基于多个第一数据源的相关信息对上述逻辑执行计划进行优化更新。例如,可以对上述逻辑执行计划进行谓词下推(predicatepushdown),将过滤条件下沉至具体的执行数据源从而减少返回合并的数据量。然后基于更新的逻辑执行计划,生成具体执行引擎的物理执行计划(plan)。例如在图8所示的例子中,将过滤条件“date”分别下沉至ES数据源和MySq1数据源,在ES数据源的db1.table1中选取“date”的取值为“2020-05-09”的包含字段“user_id”和“col1”的数据,在MySq1数据源的db2.table2中选取“date”的取值为“2020-05-09”的包含字段“user_id”和“col2”的数据。然后再将上述选取出的数据基于联合字段“user_id”进行合并,以得到合并结果。
继续参阅图7,“API查询服务”的第三层为“引擎插件执行层”,这一层负责基于上述逻辑执行计划,实现物理执行计划的具体执行,例如下发子查询到各个载体、子查询结果的合并/迭代处理和统一返回等。为了能够支持多种载体,执行层抽象了执行插件,并针对不用的数据载体系统进行了实现,屏蔽了底层细节,实现多种数据类型/异构数据类型的查询。通过如上三层的技术手段,“API查询服务”实现了在多种非MQ数据载体系统的查询访问。
在本发明的另一个实施例中,数据存储系统可以包括:消息队列类型的多个第二数据源,也可称为MQ应用载体。在针对第二数据源的数据应用过程中,获取来自客户端的查询请求;从多个第二数据源中确定客户端具有访问权限的第二数据源,以作为目标数据源;以及,针对每个目标数据源,基于目标数据源的权限管理机制和查询请求,创建消息队列实例,以由客户端从该消息队列实例中获取数据。
图9示意性地示出了根据本发明另一个实施例的数据存储系统的数据应用过程的示例图,用以示例性地说明针对上述MQ应用载体的数据应用过程。
如图9所示,对于消息队列类型的应用载体,客户端可以通过数据源原生的SDK(Software Development Kit,软件开发工具包)来获取数据,该过程中数据服务会进行统一的权限控制管理,具体步骤可以包括:将作为数据源的目标MQ和主题(Topic)关联具体的应用,并生成权限访问控制秘钥。例如,生成AppKey表示具体应用的密钥,生成AppSecret表示应用的调用密钥。然后在ACL(Access Control List,访问控制列表)策略构建层,根据目标MQ的类型、上述生成的访问控制秘钥以及所配置的消费组(consumer group),生成对应的权限控制策略。以RockeMq为例,例如设置该消息队列的accessKey、secretKey、topicA和groupT,其中accessKey对应于应用appKey,secretKey对应于应用的appSecret,topicA是RocketMq中的topic,groupT是允许的消费组名称。然后,抽象出权限控制插件,针对不同的MQ进行不同的实现,将构建的ACL策略更新到具体的MQ实例中。接着,将消费组、MQ访问原则等信息同步给具体的客户端进行数据访问,客户端作为消费方,从相应MQ中抽取到数据。
根据本发明的实施例,所提供的针对数据仓库的数据处理方法可以应用于各种IT设置环境。下面举例说明实施根据本发明实施例的数据服务平台的部署方式。
图10示意性地示出了根据本发明一个实施例的数据服务平台的示例结构图。如图10所示,平台整体可以分为3个大模块:API网关1010、服务资源(Resource)1020、资源发现和管理1030。
示例性地,API网关1010是访问调用的入口,根据访问调用的URL信息,自动路由到后端对应的服务资源1020之上,同时提供统一的限流、监控、失效转移(failover)等功能。其中限流功能可以避免流量过大压垮服务,监控功能可以统计API的tps(transaction persecond,每秒传输的事物处理数)分布情况,同时失效转移功能可以对多副本的服务资源进行自动地failover保证访问高可用。同时API网关还可以提供配置动态更新功能,并提供接口进行上述更新。API网关相对静态资源消耗不多,可以部署在物理机、云主机甚至是容器(例如docker容器)上,能够灵活的适用于各种IT环境。
服务资源1020是实现富IT环境支持的关键环节。这里的服务即上文所述的“API查询服务”,针对不同硬件环境,设计不同服务构建方案。例如,a)在物理机环境上采用常规的web服务部署方案;b)对于云主机环境,可以根据具体的云主机模式选择合适的部署方案,即可以是类似物理机的常规部署,也可以将服务打成一个云主机镜像来快速部署(具体镜像格式可以根据云主机厂商而定);c)对于k8s(Kube集群)环境,则可以将服务打成一个docker镜像,统一由容器编排服务部署。
服务拉起以后,需要被数据服务平台自动发现,并归于不同的资源组(资源组(group),以资源组为单位为API提供服务,平台针对不同的硬件环境,可以提供不同的资源发现机制。对于物理环境上,可以采集ZooKeeper、Eureka、Nacos等服务发现中间件实现服务资源发现;对于云主机,可以采用类似物理机的技术方案,也可以基于云厂商提供的服务发现管控接口实现资源发现;对于k8s等云原生环境,可以基于istio等云原生自带服务实现资源发现。
可以理解,本发明实施例基于数据服务,通过角色授权、指标查询关联、任务血缘分析、元数据中心、任务调度系统等,实现一键式的数据抽取功能,通过角色授权明确了“数据服务”的用户定位,避免了之前“数据开发”和“应用开发”用户角色职责不明确影响数据应用效率的问题。同时,用户无需了解数据仓库的模式设计细节,仅需指定所需指标和应用载体,即可自动化地确定针对指定指标的数仓ADS层表格,并通过指标分析维度、ADS表格结构和依赖关系等构建数据传输任务,然后发布到任务调度系统进行任务规则的配置,以实现及时稳定的数据抽取。此外本发明实施例还提供了多种数据应用载体的解决方案。对于非MQ的数据系统,通过统一查询SQL和执行引擎插件化的方案,实现了多种类型的数据源查询支持,同时也支持异构数据源的关联查询,对于MQ的数据应用场景,通过统一的ACL策略控制体系,实现数据消费权限的统一控制。进一步地,本发明实施例还提供了各种IT硬件环境下,数据服务平台的构建方案,解决之前数据服务只能在公有云环境才能使用的问题,针对物理、云主机和k8s容器环境,提供了实现服务的资源化、服务发现等的解决方案。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图11对本发明示例性实施方式的针对数据仓库的数据处理装置进行详细阐述。
图11示意性地示出了根据本发明一个实施例的针对数据仓库的数据处理装置的框图。
如图11所示,该针对数据仓库的数据处理装置1100可以包括:指标获取模块1110、第一确定模块1120、第二确定模块1130和数据传输模块1140。
指标获取模块1110用于获取指定指标。
第一确定模块1120用于确定所述数据仓库中针对所述指定指标的应用层表格。
第二确定模块1130用于基于所述应用层表格的依赖关系,确定数据传输任务的执行规则。
数据传输模块1140用于基于所述执行规则,执行所述数据传输任务,以将所述应用层表格中的数据传输至数据存储系统,其中,所述数据存储系统用于向客户端提供数据。
在本发明的一个实施例中,指定指标包括:分析维度和原子指标。第一确定模块1120具体用于确定所述数据仓库中包含第一字段和第二字段的应用层表格。其中,第一字段用于表示所述分析维度,述第二字段用于表示所述原子指标,第一字段的取值类型与分析维度的取值类型相同,第二字段的取值类型与所述原子指标的取值类型相同。数据传输模块1140具体用于将应用层表格中所述第一字段的取值和所述第二字段的取值传输至数据存储系统。
在本发明的另一实施例中,第二确定模块1130包括:源任务确定子模块用于基于所述应用层表格的依赖关系,确定产生所述应用层表格的源任务;以及,规则确定子模块用于确定所述数据传输任务的执行规则包括:由所述源任务的执行成功事件触发执行所述数据传输任务。
在本发明的又一实施例中,数据传输模块1140包括:监测子模块用于监测所述源任务所在任务流的执行情况;以及,执行子模块用于响应于所述源任务执行成功的事件,执行所述数据传输任务。
在本发明的再一实施例中,上述针对数据仓库的数据处理装置1100还可以包括依赖关系分析模块,用于获取所述数据仓库中的多个任务各自的执行语句;基于所述多个任务各自的执行语句,确定所述数据仓库中多个表格各自的源任务、所述多个表格之间的上下游关系、以及所述多个任务之间的调度关系,以作为所述多个表格的依赖关系;以及,将所述多个表格的依赖关系存储于图数据库,其中,所述应用层表格的依赖关系从所述图数据库获取得到。
在本发明的再一实施例中,上述针对数据仓库的数据处理装置1100还可以包括预处理模块,用于在数据传输模块将应用层表格中的数据传输至数据存储系统之前,确定所述数据存储系统中是否存在预置表格;如果否,则在所述数据存储系统中创建目标表格,使得所述目标表格包含所述第一字段和所述第二字段;以及,如果是,则确定所述预置表格是否包含所述第一字段和所述第二字段;是则将所述预置表格作为目标表格;否则对所述预置表格进行修改,以使所述预置表格包含所述第一字段和所述第二字段,并将修改后的所述预置表格作为目标表格。数据传输模块1140用于将所述应用层表格中所述第一字段的取值作为所述目标表格中所述第一字段的取值,并将所述应用层表格中所述第二字段的取值作为所述目标表格中所述第二字段的取值。
示例性地,预处理模块确定预置表格是否包含所述第一字段和所述第二字段的过程包括:确定预置表格中是否包含:与所述第一字段相匹配的第三字段和与所述第二字段相匹配的第四字段;以及,如果是,则在确定所述第三字段的取值类型与所述第一字段的取值类型相同、且所述第四字段的取值类型与所述第二字段的取值类型相同的情况下,确定所述预置表格包含所述第一字段和所述第二字段。
例如,数据存储系统包括:关系型数据库、缓存系统和消息队列。
在本发明的一个实施例中,数据存储系统包括:非消息队列类型的多个第一数据源。上述针对数据仓库的数据处理装置11 00还可以包括:接收模块用于获取来自客户端的查询请求;查询语句生成模块用于在通过校验确定所述查询请求具有访问权限的情况下,基于所述查询请求,生成针对所述多个第一数据源的统一查询语句;查询模块用于基于所述统一查询语句对所述多个第一数据源进行联合查询,以得到联合查询结果;以及,数据输出模块用于将所述联合查询结果发送至所述客户端。
示例性地,统一查询语句包括:所述多个第一数据源各自的目标表格、多个所述目标表格各自的目标区域、联合字段以及过滤条件。查询模块具体用于:基于所述联合字段,对所述多个第一数据源各自的目标表格进行合并,以得到合并表格;以及,从所述合并表格中的多个所述目标区域中选择符合所述过滤条件的数据,以作为所述联合查询结果。
示例性地,查询模块具体用于:构建所述统一查询语句的抽象语法树;遍历所述抽象语法树,以生成逻辑执行计划;以及,基于所述逻辑执行计划,对所述多个第一数据源进行联合查询。
在本发明的一个实施例中,上述针对数据仓库的数据处理装置1100还可以包括更新模块,用于对逻辑执行计划进行谓词下推,以得到更新的逻辑执行计划。查询模块基于所述逻辑执行计划,对多个第一数据源进行联合查询的过程为:基于更新的逻辑执行计划,对多个第一数据源进行联合查询。
在本发明的另一实施例中,数据存储系统包括:消息队列类型的多个第二数据源。上述装置还包括:接收模块用于获取来自客户端的查询请求;数据源确定模块用于从所述多个第二数据源中确定所述客户端具有访问权限的第二数据源,以作为目标数据源;以及,消息队列创建模块用于针对每个目标数据源,基于所述目标数据源的权限管理机制和所述查询请求,创建消息队列实例,以由所述客户端从所述消息队列实例中获取数据。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
示例性介质
在介绍了本发明示例性实施方式的方法和装置之后,接下来,对本发明示例性实施方式的、用于实现针对数据仓库的数据处理方法的介质进行介绍。
本发明实施例提供了一种介质,存储有计算机可执行指令,上述指令在被处理器执行时用于实现上述方法实施例中任一项所述的针对数据仓库的数据处理方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的针对数据仓库的数据处理方法中的操作步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图12示意性地示出了根据本发明实施方式的计算机可读存储介质产品的示意图,如图12所示,描述了根据本发明的实施方式的用于实现针对数据仓库的数据处理方法的程序产品120,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的、用于实现针对数据仓库的数据处理方法的计算设备。
本发明实施例还提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,所述处理器执行所述指令时实现上述方法实施例中任一项所述的针对数据仓库的数据处理方法。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的用于实现针对数据仓库的数据处理方法的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的针对数据仓库的数据处理方法中的操作步骤。
下面参照图13来描述根据本发明的这种实施方式的用于实现针对数据仓库的数据处理方法的计算设备130。如图13所示的计算设备130仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算设备130以通用计算设备的形式表现。计算设备130的组件可以包括但不限于:上述至少一个处理单元1301、上述至少一个存储单元1302、连接不同系统组件(包括存储单元1302和处理单元1301)的总线1303。
总线1303表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元1302可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)13021和/或高速缓存存储器13022,还可以进一步包括只读存储器(ROM)13023。
存储单元1302还可以包括具有一组(至少一个)程序模块13024的程序/实用工具13025,这样的程序模块13024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备130也可以与一个或多个外部设备1304(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与计算设备130交互的设备通信,和/或与使得计算设备130能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1305进行。并且,计算设备130还可以通过网络适配器1306与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1306通过总线1303与计算设备130的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了针对数据仓库的数据处理装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种针对数据仓库的数据处理方法,包括:
获取指定指标;
确定所述数据仓库中针对所述指定指标的应用层表格;
基于所述应用层表格的依赖关系,确定数据传输任务的执行规则;以及
基于所述执行规则,执行所述数据传输任务,以将所述应用层表格中的数据传输至数据存储系统,其中,所述数据存储系统用于向客户端提供数据。
2.根据权利要求1所述的方法,其中,所述指定指标包括:分析维度和原子指标;
所述确定所述数据仓库中针对所述指定指标的应用层表格包括:确定所述数据仓库中包含第一字段和第二字段的应用层表格,其中,所述第一字段用于表示所述分析维度,所述第二字段用于表示所述原子指标,所述第一字段的取值类型与所述分析维度的取值类型相同,所述第二字段的取值类型与所述原子指标的取值类型相同;
所述将所述应用层表格中的数据传输至数据存储系统包括:将所述应用层表格中所述第一字段的取值和所述第二字段的取值传输至所述数据存储系统。
3.根据权利要求1所述的方法,其中,所述基于所述应用层表格的依赖关系,确定数据传输任务的执行规则包括:
基于所述应用层表格的依赖关系,确定产生所述应用层表格的源任务;以及
确定所述数据传输任务的执行规则包括:由所述源任务的执行成功事件触发执行所述数据传输任务。
4.根据权利要求3所述的方法,其中,所述基于所述执行规则,执行所述数据传输任务包括:
监测所述源任务所在任务流的执行情况;以及
响应于所述源任务执行成功的事件,执行所述数据传输任务。
5.根据权利要求3所述的方法,还包括:
获取所述数据仓库中的多个任务各自的执行语句;
基于所述多个任务各自的执行语句,确定所述数据仓库中多个表格各自的源任务、所述多个表格之间的上下游关系、以及所述多个任务之间的调度关系,以作为所述多个表格的依赖关系;以及
将所述多个表格的依赖关系存储于图数据库,其中,所述应用层表格的依赖关系从所述图数据库获取得到。
6.根据权利要求2所述的方法,还包括:在将所述应用层表格中的数据传输至数据存储系统之前,
确定所述数据存储系统中是否存在预置表格;
如果否,则在所述数据存储系统中创建目标表格,使得所述目标表格包含所述第一字段和所述第二字段;以及
如果是,则确定所述预置表格是否包含所述第一字段和所述第二字段;是则将所述预置表格作为目标表格;否则对所述预置表格进行修改,以使所述预置表格包含所述第一字段和所述第二字段,并将修改后的所述预置表格作为目标表格;
所述将所述应用层表格中所述第一字段的取值和所述第二字段的取值传输至所述数据存储系统包括:将所述应用层表格中所述第一字段的取值作为所述目标表格中所述第一字段的取值,并将所述应用层表格中所述第二字段的取值作为所述目标表格中所述第二字段的取值。
7.根据权利要求6所述的方法,其中,所述确定所述预置表格是否包含所述第一字段和所述第二字段包括:
确定所述预置表格中是否包含:与所述第一字段相匹配的第三字段和与所述第二字段相匹配的第四字段;以及
如果是,则在确定所述第三字段的取值类型与所述第一字段的取值类型相同、且所述第四字段的取值类型与所述第二字段的取值类型相同的情况下,确定所述预置表格包含所述第一字段和所述第二字段。
8.一种针对数据仓库的数据处理装置,包括:
指标获取模块,用于获取指定指标;
第一确定模块,用于确定所述数据仓库中针对所述指定指标的应用层表格;
第二确定模块,用于基于所述应用层表格的依赖关系,确定数据传输任务的执行规则;以及
数据传输模块,用于基于所述执行规则,执行所述数据传输任务,以将所述应用层表格中的数据传输至数据存储系统,其中,所述数据存储系统用于向客户端提供数据。
9.一种介质,存储有计算机可执行指令,所述指令在被处理器执行时用于实现:
如权利要求1至7中任一项所述的针对数据仓库的数据处理方法。
10.一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,所述处理器执行所述指令时实现:
如权利要求1至7中任一项所述的针对数据仓库的数据处理方法。
CN202010925457.9A 2020-09-04 2020-09-04 针对数据仓库的数据处理方法、介质、装置和计算设备 Active CN111966692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010925457.9A CN111966692B (zh) 2020-09-04 2020-09-04 针对数据仓库的数据处理方法、介质、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010925457.9A CN111966692B (zh) 2020-09-04 2020-09-04 针对数据仓库的数据处理方法、介质、装置和计算设备

Publications (2)

Publication Number Publication Date
CN111966692A true CN111966692A (zh) 2020-11-20
CN111966692B CN111966692B (zh) 2024-11-15

Family

ID=73392342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010925457.9A Active CN111966692B (zh) 2020-09-04 2020-09-04 针对数据仓库的数据处理方法、介质、装置和计算设备

Country Status (1)

Country Link
CN (1) CN111966692B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597150A (zh) * 2020-12-04 2021-04-02 光大科技有限公司 数据采集方法、装置、可读存储介质和电子装置
CN112699118A (zh) * 2020-12-25 2021-04-23 京东方科技集团股份有限公司 数据同步方法及相应的装置、系统、存储介质
CN113157517A (zh) * 2021-02-19 2021-07-23 中国工商银行股份有限公司 批流一体化指标数据异常检测方法及装置
CN113268468A (zh) * 2021-06-09 2021-08-17 上海通联金融服务有限公司 一种设计数据仓库的方法
CN114048720A (zh) * 2021-11-10 2022-02-15 伙伴智慧(北京)信息技术有限公司 一种依托于表格的工作流引擎
CN114168287A (zh) * 2021-12-07 2022-03-11 上海软素科技有限公司 任务调度方法及装置、可读存储介质及电子设备
CN114547175A (zh) * 2022-03-01 2022-05-27 北京京东振世信息技术有限公司 一种数据处理方法、装置、存储介质及计算机系统
CN114693012A (zh) * 2020-12-25 2022-07-01 京东科技控股股份有限公司 数据处理方法及装置
CN114722126A (zh) * 2022-04-15 2022-07-08 广州方硅信息技术有限公司 分层数据校验方法及其装置、设备、介质
CN114925042A (zh) * 2022-06-21 2022-08-19 正数网络技术有限公司 一种基于图形数据库的元数据关系的构建方法
CN115098336A (zh) * 2022-07-21 2022-09-23 中国平安财产保险股份有限公司 数仓任务监控方法、系统、设备及存储介质
CN116562715A (zh) * 2023-07-07 2023-08-08 美云智数科技有限公司 指标数据监测方法、装置、计算机设备和存储介质
CN116644217A (zh) * 2023-05-18 2023-08-25 北京海致科技集团有限公司 一种基于图数据的数据自动分组报表交互装置
CN119149576A (zh) * 2024-11-19 2024-12-17 北京火山引擎科技有限公司 指标拆解的方法、装置、电子设备和计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426602A (zh) * 2010-10-28 2012-04-25 微软公司 范围化数据库连接
CN109828970A (zh) * 2019-01-16 2019-05-31 北京奇艺世纪科技有限公司 一种信息处理方法、装置及电子设备
US20190370058A1 (en) * 2018-05-29 2019-12-05 American Express Travel Related Services Company, Inc. Automated execution of batch job workflows
CN110674228A (zh) * 2019-09-23 2020-01-10 阿里巴巴集团控股有限公司 数据仓库模型构建和数据查询方法、装置及设备
CN110928903A (zh) * 2018-08-31 2020-03-27 阿里巴巴集团控股有限公司 数据提取方法及装置、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426602A (zh) * 2010-10-28 2012-04-25 微软公司 范围化数据库连接
US20190370058A1 (en) * 2018-05-29 2019-12-05 American Express Travel Related Services Company, Inc. Automated execution of batch job workflows
CN110928903A (zh) * 2018-08-31 2020-03-27 阿里巴巴集团控股有限公司 数据提取方法及装置、设备和存储介质
CN109828970A (zh) * 2019-01-16 2019-05-31 北京奇艺世纪科技有限公司 一种信息处理方法、装置及电子设备
CN110674228A (zh) * 2019-09-23 2020-01-10 阿里巴巴集团控股有限公司 数据仓库模型构建和数据查询方法、装置及设备

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597150A (zh) * 2020-12-04 2021-04-02 光大科技有限公司 数据采集方法、装置、可读存储介质和电子装置
CN112699118A (zh) * 2020-12-25 2021-04-23 京东方科技集团股份有限公司 数据同步方法及相应的装置、系统、存储介质
CN114693012A (zh) * 2020-12-25 2022-07-01 京东科技控股股份有限公司 数据处理方法及装置
CN113157517A (zh) * 2021-02-19 2021-07-23 中国工商银行股份有限公司 批流一体化指标数据异常检测方法及装置
CN113268468A (zh) * 2021-06-09 2021-08-17 上海通联金融服务有限公司 一种设计数据仓库的方法
CN114048720A (zh) * 2021-11-10 2022-02-15 伙伴智慧(北京)信息技术有限公司 一种依托于表格的工作流引擎
CN114168287A (zh) * 2021-12-07 2022-03-11 上海软素科技有限公司 任务调度方法及装置、可读存储介质及电子设备
CN114547175A (zh) * 2022-03-01 2022-05-27 北京京东振世信息技术有限公司 一种数据处理方法、装置、存储介质及计算机系统
CN114722126A (zh) * 2022-04-15 2022-07-08 广州方硅信息技术有限公司 分层数据校验方法及其装置、设备、介质
CN114722126B (zh) * 2022-04-15 2024-12-03 广州方硅信息技术有限公司 分层数据校验方法及其装置、设备、介质
CN114925042A (zh) * 2022-06-21 2022-08-19 正数网络技术有限公司 一种基于图形数据库的元数据关系的构建方法
CN115098336A (zh) * 2022-07-21 2022-09-23 中国平安财产保险股份有限公司 数仓任务监控方法、系统、设备及存储介质
CN116644217A (zh) * 2023-05-18 2023-08-25 北京海致科技集团有限公司 一种基于图数据的数据自动分组报表交互装置
CN116562715A (zh) * 2023-07-07 2023-08-08 美云智数科技有限公司 指标数据监测方法、装置、计算机设备和存储介质
CN116562715B (zh) * 2023-07-07 2024-01-23 美云智数科技有限公司 指标数据监测方法、装置、计算机设备和存储介质
CN119149576A (zh) * 2024-11-19 2024-12-17 北京火山引擎科技有限公司 指标拆解的方法、装置、电子设备和计算机程序产品
CN119149576B (zh) * 2024-11-19 2025-02-21 北京火山引擎科技有限公司 指标拆解的方法、装置、电子设备和计算机程序产品

Also Published As

Publication number Publication date
CN111966692B (zh) 2024-11-15

Similar Documents

Publication Publication Date Title
CN111966692B (zh) 针对数据仓库的数据处理方法、介质、装置和计算设备
US12287794B2 (en) Data serialization in a distributed event processing system
US10853338B2 (en) Universal data pipeline
US12118009B2 (en) Supporting query languages through distributed execution of query engines
US11328003B2 (en) Data relationships storage platform
US11989194B2 (en) Addressing memory limits for partition tracking among worker nodes
JP6617117B2 (ja) 半構造データのためのスケーラブルな分析プラットフォーム
US10007698B2 (en) Table parameterized functions in database
US11055352B1 (en) Engine independent query plan optimization
JP6416194B2 (ja) 半構造データのためのスケーラブルな分析プラットフォーム
US11615076B2 (en) Monolith database to distributed database transformation
EP3740880A1 (en) Pick and applicator for use with a stringed instrument
US20240320231A1 (en) Addressing memory limits for partition tracking among worker nodes
US9489423B1 (en) Query data acquisition and analysis
US11567957B2 (en) Incremental addition of data to partitions in database tables
US11947537B1 (en) Automatic index management for a non-relational database
US11803568B1 (en) Replicating changes from a database to a destination and modifying replication capacity
US11188228B1 (en) Graphing transaction operations for transaction compliance analysis
US11663216B2 (en) Delta database data provisioning
US12271376B1 (en) Generating metadata from a scan of a data object in an object store for performing subsequent queries to the data object

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