CN117980892A - 与数据分析环境一起使用的用于查询加速的系统和方法 - Google Patents

与数据分析环境一起使用的用于查询加速的系统和方法 Download PDF

Info

Publication number
CN117980892A
CN117980892A CN202280062864.9A CN202280062864A CN117980892A CN 117980892 A CN117980892 A CN 117980892A CN 202280062864 A CN202280062864 A CN 202280062864A CN 117980892 A CN117980892 A CN 117980892A
Authority
CN
China
Prior art keywords
data
query
dataset
environment
accelerated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280062864.9A
Other languages
English (en)
Inventor
A·米塔尔
K·恩格
A·玛斯卡恩哈斯
D·王
P·赫巴尔
Y·葛
M·拉贾戈帕兰
R·博尔西斯
V·兰甘纳坦
S·洛蒂亚
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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
Priority claimed from US17/895,665 external-priority patent/US20230081067A1/en
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN117980892A publication Critical patent/CN117980892A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

根据实施例,本文中描述了用于为计算环境(诸如,例如支持数据分析的商业智能环境、数据库、数据仓库、或其他类型的环境)提供查询加速的系统和方法。提供中间层作为长期表格数据存储格式;并且可以从中间层周期性地再生一种或多种加速格式或者加速表格,其中可以确定被加速表格对于数据集表格是否存在,如果是,则使用被加速表格来处理查询。

Description

与数据分析环境一起使用的用于查询加速的系统和方法
版权声明
本专利文档的公开内容的一部分包含受到版权保护的资料。版权所有者不反对任何人按照本专利文档或专利公开在专利商标局专利文件或记录中呈现的那样传真复制本专利文档或专利公开,但在其他方面保留所有版权权利。
优先权要求
本申请要求以下专利申请的优先权:2021年8月27日提交的、标题为“SYSTEM ANDMETHOD FOR BIQUERY ACCELERATION FOR USE WITH DATA ANALYTICS ENVIRONMENTS”的、申请号为No.63/237,963的美国临时专利申请;以及2022年8月25日提交的、标题为“SYSTEMAND METHOD FOR QUERY ACCELERATION FOR USE WITH DATA ANALYTICS ENVIRONMENTS”的、申请号为17/895,665的美国专利申请;以上每个申请及其内容通过引用并入本文。
技术领域
本文中描述的实施例总体上涉及计算机数据分析和提供商业智能或其他数据的基于计算机的方法,具体涉及与这样的环境一起使用的用于提供查询加速的系统和方法。
背景技术
数据分析使得能够实现大量数据的基于计算机的检查,例如用以从数据得出结论或其他信息。例如,商业智能工具可以用于以使得用户能够做出战略商业决策的格式向用户提供描述他们的企业数据的商业智能。
发明内容
根据实施例,本文中描述了一种用于为计算环境(诸如,例如支持数据分析的商业智能环境、数据库、数据仓库、或其他类型的环境)提供查询加速的系统和方法。提供中间层作为长期表格数据存储格式;并且可以从中间层周期性地再生一个或多个加速格式或加速表格,其中可以确定被加速表格对于数据集表格是否存在,如果是,则使用被加速表格来处理查询。
附图说明
图1例示了根据实施例的示例数据分析环境。
图2进一步例示了根据实施例的示例数据分析环境。
图3进一步例示了根据实施例的示例数据分析环境。
图4进一步例示了根据实施例的示例数据分析环境。
图5进一步例示了根据实施例的示例数据分析环境。
图6例示了根据实施例的使用系统来变换、分析或可视化数据。
图7例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图8例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图9例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图10例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图11例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图12例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图13例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图14例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图15例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图16例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图17例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图18例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图19例示了根据实施例的查询加速与数据分析环境的使用。
图20进一步例示了根据实施例的查询加速的使用。
图21进一步例示了根据实施例的查询加速的使用。
图22例示了根据实施例的用于在提供查询加速时使用的数据集生命周期或状态图。
图23例示了根据实施例的包括查询加速的使用的查询处理。
图24进一步例示了根据实施例的用于各种类型的数据集的包括查询加速的使用的查询处理。
图25进一步例示了根据实施例的用于各种类型的数据集的包括查询加速的使用的查询处理。
图26进一步例示了根据实施例的用于各种类型的数据集的包括查询加速的使用的查询处理。
图27例示了根据实施例的用于为数据分析环境提供查询加速的方法。
图28进一步例示了根据实施例的用于为数据分析环境提供查询加速的方法。
具体实施方式
通常来说,在组织内,数据分析使得能够实现大量数据的基于计算机的检查,例如用以从数据得出结论或其他信息。例如,商业智能(BI)工具可以用于以使得用户能够做出战略商业决策的格式向用户提供描述他们的企业数据的商业智能。
这样的商业智能工具/服务器的例子包括Oracle商业智能应用(OBIA)、Oracle商业智能企业版(OBIEE)或Oracle商业智能服务器(OBIS),它们提供可以与数据库一起操作来支持诸如数据挖掘或分析以及分析应用之类的特征的查询、报告与分析服务器。
越来越多地,可以在企业软件应用环境(诸如,例如Oracle融合应用环境)的上下文内、或者在软件即服务(SaaS)或云环境(诸如,例如Oracle分析云或Oracle云基础设施环境、或其他类型的分析应用或云环境)的上下文内提供数据分析。
引言
根据实施例,数据仓库环境或组件(诸如,例如Oracle自主数据仓库(ADW)、Oracle自主数据仓库云(ADWC)、或适于存储大量数据的其他类型的数据仓库环境或组件)可以提供用于存储一个或多个商业应用收集的数据的中央存储库。
例如,根据实施例,数据仓库环境或组件可以被提供作为利用在线分析处理(OLAP)或其他技术来从多个不同的数据源产生商业相关数据的多维数据库。组织可以从一个或多个垂直和/或水平商业应用提取这样的商业相关数据,并且将提取的数据添加到与该组织相关联的数据仓库实例中。
水平商业应用的例子可以包括如上所述的ERP、HCM、CX、SCM和EPM,并提供跨各种企业组织的广泛的功能范围。
垂直商业应用在范围上一般窄于水平商业应用,但是提供在限定的范围或行业内的数据链中更往上或更往下的数据的访问。垂直商业应用的例子可以包括用在特定组织内的医疗软件或银行业务软件。
尽管软件供应商越来越多地将企业软件产品或组件提供为SaaS或面向云的出售物(诸如,例如Oracle融合应用);而其他企业软件产品或组件(诸如,例如Oracle ADWC)可以被提供为SaaS、平台即服务(PaaS)或混合订阅中的一个或多个;常规的商业智能应用和处理的企业用户一般面临着从他们的水平和垂直商业应用提取数据、并且将提取的数据引入到数据仓库中的任务——可以是时间和资源二者都密集的处理。
根据实施例,分析应用环境允许客户(租户)开发用于与BI组件(诸如,例如OBIS环境,或适于检查要么由客户(租户)自己提供来源、要么来自多个第三方实体的大量数据的其他类型的BI组件)一起使用的计算机可执行的软件分析应用。
作为另一个例子,根据实施例,分析应用环境可以用于在各种商业生产力软件应用的上下文下用描述商业相关数据对象的相关元数据预填充数据仓库实例的报告界面,例如,用以包括预定义的仪表盘、关键性能指标(KPI)或其他类型的报告。
数据分析
通常来说,数据分析使得能够对大量数据进行基于计算机的检查或分析,以便从该数据得出结论或其他信息;而商业智能工具(BI)以使得组织的商业用户能够做出战略商业决策的格式向这些商业用户提供描述他们的企业数据的信息。
数据分析环境和商业智能工具/服务器的例子包括支持诸如数据挖掘或分析和分析应用的特征的Oracle商业智能服务器(OBIS)、Oracle分析云(OAC)和融合分析仓库(FAW)。
图1例示了根据实施例的示例数据分析环境。
图1中所示的示例实施例是出于例示可以与本文中描述的各种实施例相关联地使用的数据分析环境的例子的目的而提供的。根据其他实施例和例子,本文中描述的方法可以与其他类型的数据分析、数据库或数据仓库环境一起使用。图1中例示的并且如本文中关于各种其他实施例进一步描述的组件和处理可以被提供为例如云计算系统或其他适当编程的计算机系统可执行的软件或程序代码。
如图1所示,根据实施例,数据分析环境100可以由如下的计算机系统提供或者以其他方式在如下的计算机系统处操作,所述计算机系统具有计算机硬件(例如,处理器、存储器)101,包括作为控制平面102和数据平面104操作的一个或多个软件组件,并且提供对于数据仓库、数据仓库实例160(数据库161或其他类型的数据源)的访问。
根据实施例,控制平面操作为提供对于在SaaS或云环境(诸如,例如Oracle分析云环境或其他类型的云环境)的上下文内提供的云或其他软件产品的控制。例如,根据实施例,控制平面可以包括控制台界面111,控制台界面111使得客户(租户)和/或具有调配组件111的云环境能够进行访问。
根据实施例,控制台界面可以使得操作图形用户界面(GUI)和/或命令行界面(CLI)或其他界面的客户(租户)能够进行访问;和/或可以包括用于供SaaS或云环境的提供商及其客户(租户)使用的界面。例如,根据实施例,控制台界面可以提供允许客户调配用于在他们的SaaS环境内使用的服务以及配置已调配的这些服务的界面。
根据实施例,客户(租户)可以请求在数据仓库内调配客户模式(customerschema)。客户还可以经由控制台界面供应与数据仓库实例相关联的若干属性,包括所需属性(例如,登录证书)和可选属性(例如,尺寸或速度)。调配组件然后可以调配请求的数据仓库实例,包括数据仓库的客户模式;并且用客户供应的适当的信息填充数据仓库实例。
根据实施例,针对特定客户(租户),调配组件还可以用于更新或编辑数据仓库实例和/或在数据平面处操作的ETL处理,例如,通过改变或更新ETL处理运行的请求频率。
根据实施例,数据平面可以包括数据管线或处理层120和数据变换层134,数据管线或处理层120和数据变换层134一起处理来自组织的企业软件应用或数据环境(诸如,例如在客户(租户)的SaaS环境中调配的商业生产力软件应用)的操作或事务数据。数据管线或处理可以包括从在SaaS环境中调配的商业应用和数据提取事务数据、然后将变换的数据加载到数据仓库中的各种功能。
根据实施例,数据变换层可以包括数据模型,诸如,例如知识模型(KM)或其他类型的数据模型,系统使用该数据模型来将从在SaaS环境中调配的商业应用和对应的事务数据库接收的事务数据变换为数据分析应用理解的模型格式。模型格式可以以适合存储在数据仓库中的任何数据格式提供。根据实施例,数据平面还可以包括数据和配置用户界面以及映射和配置数据库。
根据实施例,数据平面负责执行提取、变换和加载(ETL)操作,包括从组织的企业软件应用或数据环境(诸如,例如在SaaS环境中提供的商业生产力软件应用和对应的事务数据库)提取事务数据、将提取的数据变换为模型格式、并且将变换的数据加载到数据仓库的客户模式中。
例如,根据实施例,环境的每个客户(租户)可以在数据仓库内与他们自己的客户租赁相关联,客户租赁与他们自己的客户模式相关联;并且可以另外被提供对于数据分析模式的只读访问,数据分析模式可以在定期或其他基础上通过数据管线或处理(例如,ETL处理)进行更新。
根据实施例,可以调度数据管线或处理按间隔(例如,每小时/每日/每周)执行以从企业软件应用或数据环境(诸如,例如在SaaS环境中调配的商业生产力软件应用和对应的事务数据库106)提取事务数据。
根据实施例,提取处理108可以提取事务数据,之后数据管线或处理可以将提取的数据插入到数据分级(data staging)区中,数据分级区可以充当提取的数据的临时分级区。数据质量组件和数据保护组件可以用于确保提取的数据的完整性。例如,根据实施例,数据质量组件可以在数据被暂时保存在数据分级区中的同时对提取的数据执行证实。
根据实施例,当提取处理已经完成其提取时,可以使用数据变换层来开始变换处理、将提取的数据变换为要加载到数据仓库的客户模式中的模型格式。
根据实施例,数据管线或处理可以与数据变换层组合操作以将数据变换为模型格式。映射和配置数据库可以存储定义数据变换所使用的数据模型的元数据和数据映射。数据和配置用户界面(UI)可以促进对于映射和配置数据库的访问和改变。
根据实施例,例如根据数据模型,数据变换层可以将提取的数据变换为适合加载到数据仓库的客户模式中的格式。在变换期间,数据变换可以视情况执行维度产生、事实产生和聚合(aggregate)产生。维度产生可以包括产生用于加载到数据仓库实例中的维度或字段。
根据实施例,在提取的数据的变换之后,数据管线或处理可以执行仓库加载过程150,以将变换的数据加载到数据仓库实例的客户模式中。在变换的数据加载到客户模式中之后,可以在各种附加的商业智能处理中分析并使用变换的数据。
出于提供数据分析或商业智能数据、或者开发软件分析应用的目的,数据分析环境的不同客户对他们的数据如何被分类、聚合或变换,可能有不同的要求。根据实施例,为了支持这样的不同要求,语义层180可以包括定义客户数据的语义模型的数据;这对于帮助用户使用通常理解的商业术语来理解和访问该数据是有用的;并且将自定义内容提供给表示层190。
根据实施例,语义模型可以例如在Oracle环境中被定义为具有元数据的BI存储库(RPD)文件,元数据定义逻辑模式、物理模式、物理对逻辑映射、聚合表导航、和/或实现各种物理层、商业模型和映射层的其他构造、以及语义模型的表示层方面。
根据实施例,客户可以对他们的数据源模型执行修改,以支持他们特定要求,例如,通过添加与存储在他们的数据仓库实例中的数据相关联的自定义事实或维度。
根据实施例,表示层可以使得能够使用例如软件分析应用、用户界面、仪表盘、关键性能指标(KPI)、或诸如例如Oracle分析云或Oracle应用分析之类的产品可以提供的其他类型的报告或界面来访问数据内容。
商业智能服务器
根据实施例,查询引擎18(例如,OBIS实例)以联合查询引擎的方式操作以服务来自例如Oracle分析云环境内的客户端的针对存储在数据库处的数据的分析查询或请求。
根据实施例,OBIS实例可以根据查询执行计划56来将操作下推到支持的数据库,其中逻辑查询可以包括从客户端接收的结构化查询语言(SQL)语句;而物理查询包括查询引擎在处理逻辑查询时发送给数据库以检索数据的数据库特定语句。这样,OBIS实例将商业用户查询翻译为适当的数据特定查询语言(例如,Oracle SQL、SQL服务器SQL、DB2 SQL或Essbase MDX)。查询引擎(例如,OBIS)还可以支持不能被下推到数据库的SQL操作者的内部执行。
根据实施例,用户/开发者可以与客户端计算机装置10交互,客户端计算机装置10包括计算机硬件11(例如,处理器、储存器、存储器)、用户界面12和应用14。查询引擎或商业智能服务器(诸如OBIS)一般操作为对比数据库模型处理入站(例如,SQL)请求、构建并执行一个或多个物理数据库查询、适当地处理数据、然后响应于请求返回数据。
为了实现这点,根据实施例,查询引擎或商业智能服务器可以包括各种组件或特征,诸如描述可用作查询的主题区的数据的逻辑或商业模型或元数据;请求产生器,其接受传入查询,并且使它们变成用于与连接的数据源一起使用的物理查询;以及导航器,其接受传入查询,导航逻辑模型,并且产生最佳地返回特定查询所需的数据的那些物理查询。
例如,根据实施例,查询引擎或商业智能服务器可以通过在各种数据源上创建简化的星形模式商业模型来利用映射到数据仓库中的数据的逻辑模型,以使得用户可以像数据源自单个源那样查询数据。根据商业模型层映射规则,信息然后可以作为对象区返回到表示层。
根据实施例,查询引擎(例如,OBIS)可以根据查询执行计划来对数据库执行查询,查询执行计划可以包括各种子(叶)节点,子(叶)节点在本文中各种实施例中一般被称为RqList,例如:
在查询执行计划内,每个执行计划组件(RqList)表示查询执行计划中的查询块,一般翻译为SELECT语句。RqList可以具有嵌套的子RqList,类似于SELECT语句可以如何从嵌套的SELECT语句选择。
根据实施例,查询引擎可以与不同的数据库交谈,并且对于这些数据库中的每个,使用数据源特定代码产生器。典型的策略是通过将同量的SQL执行作为物理查询的一部分发送来将它运送到数据库——这使返回到OBIS服务器的信息量减少。
根据实施例,在操作期间,查询引擎或商业智能服务器可以创建查询执行计划,该查询执行计划然后可以被进一步优化,例如以执行对请求做出响应必要的数据聚合。在结果返回给调用应用(例如经由ODBC接口)之前,可以将数据组合在一起并应用进一步的计算。
根据实施例,需要多个数据源的复杂的多遍请求可能需要查询引擎或商业智能服务器分解查询,确定哪些源、多遍计算和聚合可以被使用,并且产生跨多个数据库和物理SQL语句的逻辑查询执行计划,其中结果然后可以被传回,并且由查询引擎或商业智能服务器进一步联接(join)或聚合。
图2进一步例示了根据实施例的示例数据分析环境。
如图2所示,根据实施例,如下面进一步描述的,调配组件还可以包括调配应用编程接口(API)112、若干个工作器115、计量管理器116和数据平面API 118。当在控制台界面处接收到在SaaS环境内调配服务或对调配的服务做出配置改变的命令、指令或其他输入时,控制台界面可以例如通过发出API调用来与调配API通信。
根据实施例,数据平面API可以与数据平面通信。例如,根据实施例,针对数据平面提供的服务的调配和配置改变可以经由数据平面API传送到数据平面。
根据实施例,计量管理器可以包括对通过控制平面调配的服务和服务使用进行计量的各种功能。例如,根据实施例,出于记账的目的,计量管理器可以对于特定客户(租户)记录经由控制平面调配的处理器随着时间的使用。同样地,出于记账的目的,计量管理器可以记录被划分给SaaS环境的客户使用的数据仓库的存储空间量。
根据实施例,如下面进一步描述的,数据平面提供的数据管线或处理可以包括监视组件122、数据分级组件124、数据质量组件126和数据投影组件128。
根据实施例,如下面进一步描述的,数据变换层可以包括维度产生组件136、事实产生组件138和聚合产生组件140。数据平面还可以包括数据和配置用户界面130以及映射和配置数据库132。
根据实施例,数据仓库可以包括默认数据分析模式(在本文中根据一些实施例被称为分析仓库模式)162、以及对于系统的每个客户(租户)的客户模式164。
根据实施例,为了支持多个租户,系统可以使得能够使用多个数据仓库或数据仓库实例。例如,根据实施例,对于第一租户的第一仓库客户租赁可以包括第一数据库实例、第一分级区、以及多个数据仓库或数据仓库实例中的第一数据仓库实例,而对于第二租户的第二客户租赁可以包括第二数据库实例、第二分级区、以及多个数据仓库或数据仓库实例中的第二数据仓库实例。
根据实施例,基于映射和配置数据库中定义的数据模型,监视组件可以确定将被变换的几个不同的数据集(“数据集合”)的依赖性。基于确定的依赖性,监视组件可以确定几个不同的数据集中的哪个应首先被变换为模型格式。
例如,根据实施例,如果第一模型数据集不包括对任何另一个模型数据集的依赖性,并且第二模型数据集包括对第一模型数据集的依赖性,则监视组件可以确定在第二数据集之前对第一数据集进行变换,以顺应第二数据集对第一数据集的依赖性。
例如,根据实施例,维度可以包括数据类别,诸如,例如“名称”、“地址”或“年龄”。事实产生包括数据可以采取或“测量”的值的产生。事实可以与数据仓库实例中的适当的维度相关联。聚合产生包括计算变换的数据到数据仓库实例的客户模式中的现有数据的聚合的数据映射的创建。
根据实施例,一旦任何变换到位(如数据模型定义的那样),数据管线或处理就可以读取源数据,应用变换,然后将数据推送到数据仓库实例。
根据实施例,数据变换可以用规则来表达,并且一旦变换发生,值就可以立即被保存在分级区处,在分级区中,在数据被上传到数据仓库实例处的客户模式之前,数据质量组件和数据投影组件可以验证并检查变换的数据的完整性。可以在提取、变换、加载处理运行时提供监视,例如,在若干个计算实例或虚拟机处。依赖性也可以在提取、变换、加载处理期间保持不变,数据管线或处理可以处理这样的排序决策。
根据实施例,在提取的数据的变换之后,数据管线或处理可以执行仓库加载过程,以将变换的数据加载到数据仓库实例的客户模式中。在变换的数据加载到客户模式中之后,可以在各种附加的商业智能处理中分析并使用变换的数据。
图3进一步例示了根据实施例的示例数据分析环境。
如图3所示,根据实施例,数据可以例如使用数据管线处理而来源于客户(租户)的企业软件应用或数据环境(106);或者作为来源于一个或多个客户特定应用107的自定义数据109;并且被加载到数据仓库实例,这包括在一些例子中使用对象储存器105来存储数据。
根据分析环境(诸如,例如Oracle分析云(OAC))的实施例,用户可以创建使用来自不同的连接和模式的表格的数据集。系统使用这些表格之间定义的关系来创建数据集中的关系或联接。
根据实施例,对于每个客户(租户),系统使用由系统在系统/云租赁114内维护和更新的数据分析模式,以基于该客户的企业应用环境内和客户租赁117内的数据的分析来预填充该客户的数据仓库实例。如此,系统维护的数据分析模式使得数据能够被数据管线或处理从客户的环境检索并且加载到客户的数据仓库实例。
根据实施例,系统还对于环境的每个客户提供客户模式,该客户模式可以容易被客户修改,并且允许客户在他们自己的数据仓库实例内补充和利用数据。对于每个客户,他们的因而产生的数据仓库实例作为其内容部分由客户控制、部分由环境(系统)控制的数据库操作。
例如,根据实施例,数据仓库(例如,ADW)可以包括数据分析模式,以及对于每个客户/租户的来源于他们的企业软件应用或数据环境的客户模式。在数据仓库租赁(例如,ADW云租赁)中调配的数据只可供该租户访问;而同时,允许对共享环境的各种(例如,ETL相关的或其他的)特征的访问。
根据实施例,为了支持多个客户/租户,系统使得能够使用多个数据仓库实例;其中例如,第一客户租赁可以包括第一数据库实例、第一分级区和第一数据仓库实例;第二客户租赁可以包括第二数据库实例、第二分级区和第二数据仓库实例。
根据实施例,对于特定客户/租户,他们的数据一被提取,数据管线或处理就可以将提取的数据插入到用于租户的数据分级区中,该数据分级区可以充当提取的数据的临时分级区。数据质量组件和数据保护组件可以用于确保提取的数据的完整性;例如,通过在提取的数据暂时被保存在数据分级区中的同时对该数据执行证实。当提取处理已经完成其提取时,可以使用数据变换层来开始变换处理,以将提取的数据变换为要加载到数据仓库的客户模式中的模型格式。
图4进一步例示了根据实施例的示例数据分析环境。
如图4所示,根据实施例,提取数据(例如,使用如上所述的数据管线处理,从客户(租户)的企业软件应用或数据环境;或者作为来源于一个或多个客户特定应用的自定义数据)以及将数据加载到数据仓库实例或者在数据仓库中刷新数据的处理一般涉及由ETP服务160或处理执行的三个大致的阶段,这些阶段包括由一个或多个计算实例170执行的一个或多个提取服务163;变换服务165;和加载/发布服务167。
例如,根据实施例,用于提取的视图对象的列表可以经由REST调用提交给例如Oracle BI云连接器(BICC)组件。提取的文件可以被上传到对象存储组件(诸如,例如Oracle存储服务(OSS)组件),用于存储数据。变换处理从对象存储组件(例如,OSS)获取数据文件,并且在将它们加载到数据管线或处理内部的并且不暴露于客户(租户)的目标数据仓库(例如,ADW数据库)的同时,应用商业逻辑。加载/发布服务或处理从例如ADW数据库或仓库获取数据,并且将它发布到客户(租户)可访问的数据仓库实例。
图5进一步例示了根据实施例的示例数据分析环境。
如例示了根据实施例的具有多个租户(客户)的系统的操作的图5所示,数据可以使用如上所述的数据管线处理而例如来源于多个客户(租户)的企业软件应用或数据环境中的每个,并且被加载到数据仓库实例。
根据实施例,数据管线或处理针对多个客户(租户)(例如,客户A 180、客户B 182)中的每个,维护由系统根据对于特定分析用例的最佳实践定期更新的数据分析模式。
根据实施例,对于多个客户(例如,客户A、B)中的每个,基于客户的企业应用环境106A、106B内和每个客户的租赁(例如,客户A租赁181、客户B租赁183)内的数据的分析,系统使用由系统维护和更新的数据分析模式162A、162B来来预填充客户的数据仓库实例;以使得数据被数据管线或处理从客户的环境检索,并且被加载到客户的数据仓库实例160A、160B。
根据实施例,数据分析环境还对于环境的多个客户中的每个,提供客户模式(例如,客户A模式164A、客户B模式164B),该客户模式可被客户容易地修改并且允许客户在他们自己的数据仓库实例内补充和利用数据。
如上所述,根据实施例,对于数据分析环境的多个客户中的每个,他们的因而产生的数据仓库实例操作为其内容部分由客户控制、部分由数据分析环境(系统)控制的数据库;包括他们的数据库表现出被用已经从他们的企业应用环境检索出以解决各种分析用例的适当数据预填充。当对于特定客户的提取处理108A、108B已经完成其提取时,可以使用数据变换层来开始变换处理,以将提取的数据变换为要加载到数据仓库的客户模式中的模型格式。
根据实施例,对于客户、对于特定功能区,激活计划186可以用于控制数据管线或处理服务的操作,以解决该客户(租户)的特定需要。
例如,根据实施例,激活计划可以将若干个提取、变换和加载(发布)服务或步骤定义为按某个次序、在一天中的某个时间以及在某个时间窗口内运行。
根据实施例,每个客户可以与他们自己的(一个或多个)激活计划相关联。例如,对于第一客户A的激活计划可以确定要从该客户的企业软件应用环境(例如,他们的融合应用环境)检索的表格,或者确定服务及其处理将如何按顺序运行;而对于第二客户B的激活计划可以同样地确定要从该客户的企业软件应用环境检索的表格,或者确定服务及其处理将如何按顺序运行。
图6例示了根据实施例的使用系统来变换、分析或可视化数据。
如图6所示,根据实施例,本文中公开的系统和方法可以用于提供数据可视化环境192,数据可视化环境192能够为分析环境的用户实现关于分析产物和它们之间的关系的见解。模型然后可以用于经由例如用户界面将这样的分析产物之间的关系可视化为产物之间的关系和世系(例如,用户、角色、DV项目、数据集、连接、数据流、序列、ML模型、ML脚本)的网络图或可视化。
根据实施例,客户端应用可以被实现为计算机系统或处理装置可执行的软件或计算机可读程序代码、并且具有用户界面,诸如,例如软件应用用户界面或web浏览器界面。客户端应用可以经由互联网/HTTP或与分析系统的其他类型的网络连接或者在云环境的例子中经由环境提供的云服务来检索或访问数据。
根据实施例,用户界面可以包括或提供对于如下面更详细地描述的能够实现自助服务文本分析的各种数据流动作类型的访问,包括允许用户显示数据集,或者与用户界面交互来变换、分析或可视化数据,例如以产生数据流的曲线图、图表或其他类型的数据分析或可视化。
根据实施例,分析系统使得能够例如经由一个或多个数据连接从一个或多个数据源检索、接收或准备数据集。可以使用本文中描述的系统和方法变换、分析或可视化的数据的类型的例子包括:HCM、HR或ERP数据,电子邮件或文本消息,或在数据库、数据存储服务或其他类型的数据存储库或数据源处提供的其他自由形式或非结构化的文本数据。
例如,根据实施例,对数据分析或可视化信息的请求可以经由如上所述的客户端应用和用户界面接收,并且被传送到分析系统(在云环境的例子中,经由云服务)。系统可以检索适当的数据集来解决用户/商业上下文,以供在产生并向客户端返回请求的数据分析或可视化信息时使用。例如,数据分析系统可以使用例如SELECT语句或逻辑SQL指令来检索数据集。
根据实施例,系统可以通过应用各种算法处理来创建模型或数据流(其反映该数据流或输入数据集的理解),以产生与数据相关联的可视化或其他类型的有用信息。可以在数据集编辑器193内通过将各种处理或技术应用于数据流或输入数据集(包括例如对数据流或输入数据集操作的一个或多个数据流动作194、195或步骤)来对模型或数据流进一步修改。用户可以经由用户界面与系统交互,以控制使用数据流动作来产生数据分析、数据可视化196、或与数据相关联的其他类型的有用信息。
根据实施例,数据集是用户可以针对数据可视化和分析要求构建的自助服务数据模型。数据集包含数据源连接信息、表格和列、数据充实和变换。用户可以使用多个工作簿和数据流中的数据集。
根据实施例,当用户创建并构建数据集时,他们可以例如:在许多种类型的连接或电子表格之间选择;基于来自数据集连接、Oracle数据源或本地主题区中的多个表格的数据来创建数据集;或者基于来自不同连接和主题区中的表格的数据来创建数据集。
例如,根据实施例,用户可以构建包括来自自主数据仓库连接的表格、来自Spark连接的表格和来自本地主题区的表格的数据集;指定表格之间的联接;并且对数据集中的列进行变换和充实。
根据实施例,与数据集相关联的另外的产物、特征和操作可以包括例如:
视图可用连接:数据集使用与数据源的一个或多个连接来访问和供应数据以用于分析和可视化。连接的用户列表包含他们构建的连接和他们被许可访问和使用的连接。
从连接创建数据集:当用户创建数据集时,他们可以添加来自一个或多个数据源连接的表格,添加联接,并且充实数据。
将多个连接添加到数据集:数据集可以包括多于一个连接。添加多个连接使得用户可以访问并联接他们构建数据集所需的所有的表格和数据。用户可以将多个连接添加到支持多个表格的数据集。
创建数据集表格联接:联接指示数据集的表格之间的关系。如果用户正在基于事实和维度创建数据集,并且如果联接已经存在于源表格中,则在数据集中自动地创建联接。如果用户正在从多个连接和模式创建数据集,则他们可以手动地定义表格之间的联接。
根据实施例,用户可以使用数据流来通过组合、组织和整合数据来创建数据集。数据流使得用户能够组织和整合数据来生成他们或其他用户可以可视化的精选数据集。
例如,根据实施例,用户可以使用数据流:创建数据集;组合来自不同源的数据;聚合数据;并且训练机器学习模型或将预测性机器学习模型应用于他们的数据。
根据实施例,如上所述的数据集编辑器允许用户添加动作或步骤,其中每个步骤执行特定功能,例如添加数据、联接表格、合并列、变换数据、或保存数据。每个步骤在用户添加或改变它时被证实。当他们已经配置了数据流时,他们可以执行它来生成或更新数据集。
根据实施例,用户可以从数据集、主题区或数据库连接精选数据。用户可以单个地或按顺序执行数据流。用户可以将多个数据源包括在数据流中,并且指定如何联接它们。用户可以将来自数据流的输出数据保存在数据集中或支持的数据库类型中。
根据实施例,与数据流相关联的另外的产物、特征和操作可以包括例如:
添加列:将自定义列添加到目标数据集。
添加数据:将数据源添加到数据流。例如,如果用户正在合并两个数据集,则他们将两个数据集都添加到数据流。
聚合:通过应用聚合功能创建组总数;例如,计数、求和或平均。
分支:从数据流创建多个输出。
过滤:仅选择用户感兴趣的数据。
联接:使用基于公共列的数据联接来组合来自多个数据源的数据。
曲线图分析:执行地理空间分析,诸如计算两个顶点之间的距离或跳数。
以上步骤是作为例子提供的;根据实施例,可以将其他类型的步骤添加到数据流来对数据集进行变换或提供数据分析或可视化。
数据集分析和可视化
根据实施例,系统提供允许用户产生用于显示在用户界面内的数据集、分析或可视化的功能,例如以便探索来源于多个数据源的数据集或数据。
图7-图18例示了根据实施例的用于与数据分析环境一起使用的用户界面的各种例子。
图7-图18所示的用户界面和特征是以例子的方式提供的,为的是例示本文中描述的各种特征;根据各种实施例,可以提供用户界面和特征的替代例子。
如图7-图8所示,根据实施例,用户可以访问数据分析环境,例如以提交对组织的数据的分析或查询。
例如,根据实施例,用户可以在各种类型的连接之间选择以基于来自例如数据库连接、Oracle主题区、Oracle ADW连接或电子表格、文件、或其他类型的数据源中的表格的数据来创建数据集。以这种方式,数据集操作为用户可以从其构建数据分析或可视化的自助服务数据模型。
如图9-图10所示,根据实施例,数据集编辑器可以显示用户有访问许可的连接的列表,并且允许用户创建或编辑包括表格、联接和/或充实数据的数据集。编辑器可以显示数据源连接的模式和表格,用户可以从这些模式和表格拖放到数据集图。如果特定连接本身不提供模式和表格列表,则用户可以对适当的表格使用手动查询。添加连接提供访问并联接它们的相关联的表格和数据来构建数据集的能力。
如图11-图12所示,根据实施例,在数据集编辑器内,联接图显示数据集中的表格和联接。数据源中定义的联接可以在数据集中的表格之间自动地创建,例如,通过基于在表格之间找到的列名称匹配来创建联接。
根据实施例,当用户选择表格时,预览数据区显示表格的数据的样本。显示的联接链接和图标指示哪些表格被联接和使用的联接的类型。用户可以通过将一个表格拖放到另一个表格上来创建联接;点击联接来查看或更新其配置;或者点击列的类型属性来改变其类型,例如,从测量变为属性。
根据实施例,系统可以对可视化产生特定于源的优化查询,其中数据集被看作数据模型,并且在查询中使用只有满足可视化所需的那些表格。
默认地,数据集的粒度由具有最低粒度的表格确定。用户可以在数据集中的任何表格中创建测量;然而,这可以使一对多或多对多关系的一侧的测量重复。根据图13所示的实施例,为了解决这个问题,用户可以将表格设置在基数的一侧来维持粒度,以保持其细节级别。
如图14所示,根据实施例,数据集表格可以与确定系统是否会将表格加载到高速缓冲中、或者可替代地表格是否会直接从数据源接收其数据的数据访问设置相关联。
根据实施例,当为表格选择自动高速缓存模式时,系统将表格数据加载或重新加载到高速缓存中,这在表格的数据例如从工作簿刷新时提供更快的性能,并且使重新加载的菜单选项显示在表格和数据集级别。
根据实施例,当为表格选择即时模式时,系统直接从数据源检索表格数据;并且源系统管理表格的数据源查询。当数据被存储在高性能数据仓库(诸如,例如Oracle ADW)中时,该选项是有用的;并且还确保最新的数据被使用。
根据实施例,当数据集使用多个表格时,一些表格可以使用自动高速缓存,而其他表格则可以包括即时数据。在使用同一连接重新加载多个表格时,如果一个表格上的数据重新加载失败,则目前被设置为使用自动高速缓存的任何表格都切换到使用即时模式来检索它们的数据。
根据实施例,系统允许用户在它们的数据可用于分析之前充实和变换它们的数据。当创建工作簿并向其添加数据集时,系统对数据的代表性样本执行列级概述(profiling)。在概述数据之后,用户可以执行为数据集中的可辨识列提供的变换和充实推荐;诸如,例如GPS充实,诸如用于城市或邮政编码的纬度和经度。
根据实施例,对数据集应用的数据变换和充实改变影响使用数据集的工作簿和数据流。例如,当用户打开共享数据集的工作簿时,他们接收到指示工作簿使用更新的或刷新的数据的消息。
根据实施例,数据流提供组织和整合数据以生成你的用户可以可视化的精选数据集的手段。例如,用户可以使用数据流来创建数据集、组合来自不同源的数据、聚合数据、或训练机器学习模型或将预测性机器学习模型应用于他们的数据。
如图15所示,根据实施例,在数据流内,每个步骤执行特定功能,例如,添加数据、联接表格、合并列、变换数据或保存数据。一旦配置好,就可以执行数据流来执行生成或更新数据集的操作,包括例如使用SQL操作符(诸如BETWEEN、LIKE、IN)、条件表达式或函数。
根据实施例,数据流可以使用合并数据集,净化数据,并且将结果输出到新的数据集。数据流可以被单个地或按顺序执行。如果序列内的任何数据流都失败,则在序列中做出的所有改变都被返转。
如图16-图18所示,根据实施例,可以在用户界面内显示可视化,例如用以探索来源于多个数据源的数据集或数据,并且添加见解。
例如,根据实施例,用户可以创建工作簿,添加数据集,然后将其列拖放到画布上来创建可视化。系统可以基于画布的内容来自动地产生可视化,其中一种或多种可视化类型被自动地选择以供用户选择。例如,如果用户将收入度量添加到画布,则数据元素可以被放置在语法面板的值区中,并且瓦片(Tile)可视化类型被选择。用户可以继续将数据元素直接添加到画布来构建可视化。
根据实施例,系统可以通过建议预期提供对于特定数据集的最佳见解的可视化来提供自动产生的数据可视化(自动产生的见解,自动见解)。用户可以审阅见解的自动产生的概要,例如,通过悬停在工作簿画布中的相关联的可视化上。
查询加速
根据实施例,本文中描述了一种用于为计算环境(诸如,例如支持数据分析的商业智能环境、数据库、数据仓库、或其他类型的环境)提供查询加速的系统和方法。提供中间层作为长期表格数据存储格式;并且可以从中间层周期性地再生一种或多种加速格式或者加速表格,其中可以确定被加速表格对于数据集表格是否存在,如果是,则使用被加速表格来处理查询。
根据实施例,可以从各种源取得意图用作数据分析环境和数据集编辑器内的表格的数据,诸如,例如从关系数据库、基于ODBC/JDBC连接的数据源(诸如SaaS数据源)或云服务环境(诸如Oracle服务云)访问或接收数据。
当定义数据集合时,用户可以添加来自这些各种源的一个或多个表格,这一个或多个表格然后将形成分析或查询或者产生数据可视化的基础。例如,用户最初可以从销售额、客户和产品数据源选择第一表格集合;然后根据需要从这些源或其他源选择附加的相关表格。
在不使用查询加速或被加速表格进行查询处理的环境中,处理针对一个或多个数据集的查询的典型方法可以例如包括:从用户接收原始查询;访问数据源;检索数据集;并且将任何商业规则作为变换应用——每次系统处理该查询(或者将查询功能运送(function-ship)到数据源)时。
然而,该方法一般需要大量数据访问、检索和处理,还有增加的资源使用和更长的产生数据分析的时间。
根据实施例,当提供查询加速或被加速表格与数据集一起使用时,系统可以将变换或充实应用于发送给数据源的查询(例如,ADW环境),使得变换或充实被合并到查询中。
从数据源接收的信息然后可以以临时的格式被存储或高速缓存,例如在存储器中,并且不仅包括底层数据,而且另外还包括对查询进行分析或响应所需的经变换/充实的数据集。
图19例示了根据实施例的查询加速与数据分析环境的使用。
如图19所示,根据实施例,查询引擎(例如,BI实例,例如OBIS实例)包括数据存储框架210,例如Apache Parquet组件,并且与高速缓存(存储器)212相关联地操作,以存储一个或多个被加速表格214,从而用于访问或接收数据集并且对组织的数据的分析或查询做出响应。
根据实施例,如上所述,所述系统可以与例如RPD数据模型组合操作。另外/可替代地,用户可以将其他类型的数据集作为Excel电子表格、CSV文件或其他类型的数据输入上传到例如OAC环境,用于与查询加速一起使用。
(例如如图22所示并且下面进一步描述的)数据集生命周期操作为访问或接收用户/客户提供的数据集,并且将数据集高速缓存在提供对被加速表格的访问的高性能外部查询引擎或外部查询加速器(XQA)处。
根据使用ADW作为数据分析环境的组件的实施例,ADW组件本身提供可以被用作查询加速器的查询引擎,其中数据集被存储为被加速表格,要么在闪存中,要么被作为存储器内表示。
根据实施例,数据流可以用于将数据集作为被加速表格填充到查询加速器中。例如,在OAC/ADW环境中,用户可以使用OAC及其数据集编辑器内提供的重载功能来使所述系统访问/接收最新的数据集、将数据以加速格式加载到ADW中、并且更新与其相关联的元数据来指示数据集已经被存储(实际上被高速缓存)为被加速表格。
根据实施例,查询产生处理然后可以自动地修改来自用户的请求/查询,例如以产生数据可视化、改为将被加速表格(Accelerated_table)用于对该数据集的查询。
例如,如果被加速表格存在于高速缓存/存储器内,则所述系统可以将查询发送给可以执行各种数据变换或处理步骤的外部查询加速器(例如,BI引擎)。如果被加速表格不存在于高速缓存/存储器内(或者由于某个原因,它不能被访问),则所述系统可以回退到使用原生表格(XSANative表格(本地的)),例如通过使用基于纵栏或文件的查询处理。
以这种方式,加速处理操作为(通过使用被加速表格)将数据集查询推送到相对更快的引擎(如果可用),然后(通过使用原生表格)回退到其原生能力(在必要时)。需要这样的回退的情形可能是由于例如系统故障或超时、或外部查询加速器不能处理查询的任何其他原因引起的。
图20进一步例示了根据实施例的查询加速的使用。
如图20所示,根据实施例,查询引擎(例如,BI实例、OBIS实例)可以包括几个节点(例如,OBIS节点),其中一些可以引用同一表格,以便对分析或查询做出响应。
根据实施例,为了提供数据访问的一致性,所述系统可以管理或协调各种节点对那些表格的使用。例如,作为最近最少使用(LRU)处理的分布式形式,表格可能必须手动地被钉扎在存储器中和被拔掉。如果特定表格在整个集群上没有被使用,则它是要移除的候选者,但是如果有任何节点正在使用该表格,则它目前应保留在高速缓存/存储器中。
图21进一步例示了根据实施例的查询加速的使用。
如图21所示,根据实施例和这里例示的例子,多个查询引擎或BI实例(例如,多租户BI环境)共享单个端点,例如,RAPID端点。
例如,如图21所示,多个查询引擎或BI实例1、2、3共享一个端点A;而另外多个查询引擎或BI实例4、5共享另一个端点B。共享可以通过各种因素确定,诸如,例如服务水平或可用容量。在OAC环境中,多个OAC或BI节点可以被映射到例如RAPID端点。
根据LRU处理的实施例,当第一查询引擎或BI实例(用户)获取特定表格上的锁定时,其他的BI实例(用户)可以尝试获取锁定,但是失败。第一BI实例/用户可以确定是否将表格推到存储器或释放锁定。
例如,如图21所示,加载B、加载D和加载F各自访问表示可被加载到存储器中的不同数据集。LRU处理守护进程锁定操作为全局锁定以驱逐最近使用的表格、或在大多数时间一直未被使用的表格。
根据实施例,使用诸如OAC/ADW的环境的优点包括这些环境提供的附加的例如机器学习(ML)库的可用性。例如,OAC/ADW提供的附加的机器学习特征可以用于检测数据中的异常,例如消耗、聚类或回归。
根据各种实施例,LRU处理的另外的特征可以包括:
XSA高速缓存是“全局的”。群队节点可能命中其他节点先前高速缓存的数据集。LRU处理对于使用的外部引擎是不可知的。
不存在单个LRU管理器;相反,管理的责任分布在共享端点的查询引擎节点(例如,OBIS实例)之间。每个BI节点或实例运行守护线程,该守护线程根据当前的未解决的请求来周期性地尝试加载和卸载数据集。当BI节点连接到多个端点时,它可以运行多个守护线程,每个端点一个守护线程。
一次仅存在一个活跃的守护进程。LRU状态和并发性经由一组簿记表格(例如,在MySQL中维护)来管理,簿记表格包括例如:
请求队列——未解决的请求及其到达时间的列表。守护进程从最旧的请求开始处理该表格。
In_memory_tables——当前在存储器中的表格以及它们的存储器内大小和最后的被访问时间的列表
守护进程锁定——当前执行的守护进程及其最后存活时间。在特定时间只允许一个入口(即,守护进程)。最后存活时间用于跟踪可能已经瘫痪的守护进程等。
加载是幂等的——如果表格已经被加载到存储器中,则这导致空操作。如果期望强迫重新加载表格(例如,数据改变),则用户可以明确地卸载和(重新)加载该表格。
如果多个BI节点请求同一表格,则这多个请求将在请求的队列表格中排队。因为以上适用;只有一个守护进程可以执行加载和卸载——这保证在LRU管理期间不存在争用。
图22例示了根据实施例的用于提供查询加速的数据集生命周期或状态图。
如图22所示,根据实施例,数据集生命周期或状态图使用分层方法来描述各种单个数据集在处理查询的同时穿行的各种形式要素。
(这里以圆圈指示的)初始状态表示当数据集不存在时的状态;弧形上的标签表示作用于数据集上的操作、处理或模块,例如,当数据流从几个其他的数据集创建Parquet格式的新数据集时的操作、处理或模块。
根据实施例,如图22所示:
顶层(220、222、224)操作为用于数据集的“规范化”数据格式,其具体格式可以取决于数据集使用或者它如何被查询,例如基于文件的、基于查询的或数据库表格。
数据存储框架210(例如,Parquet)操作为为数据集提供长期表格数据存储格式的中间层。诸如Parquet的组件在相对稳定方面可以提供优于其他格式的优点。
底层(226、228、230)对于数据集拥有一个或多个加速格式。为了加速的目的,加速格式被假定为或被视为用作长期格式是不可靠的,所以从中间层周期性地再生,例如,在灾难性恢复期间,当XSA Native格式改变时,或者当外部加速引擎被切换时。
根据实施例,可以经由外部查询或其他类型的数据分析查询引擎来提供主查询加速。
XSA Native格式是作为在主查询引擎失败(例如由于连接、稳定性、维护或性能原因)时的情形中使用的回退提供的。
XSA Native(本地)是为了在XSA Native(对象存储)文件尚未准备好时使用而提供的。为了提供并发性,可以提供数据同步组件(DataSync)来转换XSA Native文件并将这些文件存放到对象储存器中。
根据各种实施例,LRU处理对于不同的外部查询或其他类型的数据分析引擎,可以不同地操作。例如,对于存储器内分析引擎(诸如Oracle RAPID),驱逐可以仅从存储器内;而对于InnoDB引擎,可以保留MySQL中的盘上的表格;而MonetDB可以从其目录完全移除表格。
图23-26例示了根据实施例的用于各种类型的数据集的用于提供查询加速的查询流程。
如图23所示,根据实施例,在处理数据集查询中,所述系统适于首先确定(240)即时模式被选择用于数据集表格(LIVE)或者自动高速缓存模式是否被选择(AUTO/EXTRACTED)。
如图24所示,根据实施例,如果模式被确定为LIVE,则所述系统可以确定(242)数据集是否被充实,如果是,则使任何充实列输出空值(244);应用变换(246);应用输出表达式(248);并且处理查询(250)。
如图25所示,根据实施例,如果模式被确定为AUTO/EXTRACTED,则可以确定(252)被加速表格是否存在。如果是,则可以使用被加速表格(254);并且根据数据集是否被充实(256),所述系统可以应用变换(258)和/或输出表格式(260);并且处理查询。
如图26所示,根据实施例,如果所述系统确定被加速表格不存在,则它可以回退到使用XSA Native。确定(262)本地的XSA Native是否存在,如果是,则处理查询。
根据实施例,如果所述系统确定本地的XSA Native不存在,则可以确定(264)远程的(对象储存器)XSA Native是否存在,如果是,则下载(远程的)XSA Native(266),并且处理查询。
根据实施例,如果所述系统确定远程的(对象储存器)XSA Native不存在,则可以确定(268)数据集是否被充实。如果是,则下载准备好的格式(例如,prep_parquet)(270),所述系统可以应用输出表达式(272),转换到(本地的)XSA Native(274),并且处理查询。
根据实施例,如果所述系统确定数据集没有被充实,则可以确定(276)源格式(例如,src_parquet)是否存在。如果是,则下载src_parquet(278),所述系统可以应用变换(280)和/或输出表达式,转换到(本地的)XSA Native,并且处理查询。
根据实施例,如果所述系统确定源格式(例如,src_parquet)不存在(282),则根据模式(例如,AUTO/EXTRACTED),所述系统可以分别:如果是基于文件的,则从CSV读取(284),或者如果是外部源,则从连接读取;或者如果是基于文件的,则从CSV读取(286),或者如果是外部源,则提供错误;然后应用变换(288)和/或输出表达式,转换为(本地的)XSA文件,并且处理查询。
图23-图26中所示和描述的例子是出于例示示例数据集生命周期和查询流程的目的而提供的。根据其他实施例和例子,本文中描述的方法可以用于支持其他类型的数据集生命周期和查询流程。
图27例示了根据实施例的用于为数据分析环境提供查询加速的方法。
如图27所示,根据实施例,在步骤302,提供分析环境,其中用户可以创建使用来自不同连接的表格的数据集合,其中所述系统使用表格之间定义的关系来创建数据集合中的联接,以用于提供数据分析或可视化。
在步骤304,提供中间层(例如,Parquet)作为长期表格数据存储格式;并且可以从中间层周期性地再生一个或多个加速格式或者加速表格。
在步骤306,如果目前的模式被确定为AUTO/EXTRACTED,则可以确定被加速表格是否存在。
在步骤308,如果是,则可以使用被加速表格;并且根据数据集是否被充实,所述系统可以应用变换和/或输出表达式,并且处理查询。
图28进一步例示了根据实施例的用于为数据分析环境提供查询加速的方法。
如图28所示,根据实施例,在步骤312,如果所述系统确定被加速表格不存在,则它可以回退到使用XSA Native;确定本地的XSA Native是否存在,如果是,则处理查询。
在步骤314,如果所述系统确定本地的XSA Native不存在,则可以确定远程的(对象存储)XSA Native是否存在,如果是,则下载XSA Native,并且处理查询。
在步骤316,如果所述系统确定远程的(对象存储)XSA Native不存在,则可以确定数据集是否被充实,如果是,则下载准备好的格式(例如,prep_parquet),所述系统可以应用输出表达式,转换为(本地的)XSA Native,并且处理查询。
在步骤318,如果所述系统确定源格式(例如,src_parquet)不存在,则根据模式(例如,AUTO/EXTRACTED),所述系统可以分别:如果是基于文件的,则从例如CSV读取,或者如果是外部源,则从连接读取;然后应用变换和/或输出表达式,转换为(本地的)XSANative,并且处理查询。
根据实施例,本文中的教导可以使用一个或多个常规的通用或专用计算机、计算设备、机器或微处理器(包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质)来方便地实现。如软件领域中的技术人员将显而易见的,熟练的程序员可以基于本公开的教导容易地准备适当的软件编码。
在一些实施例中,本文中的教导可以包括一种计算机程序产品,所述计算机程序产品是具有存储于其上/其中的指令的非暂时性计算机可读存储介质,所述指令可以用于将计算机编程为执行本教导的处理中的任何一个。这样的存储介质的例子可以包括但不限于,硬盘驱动器、硬盘、硬驱动器、固定盘或其他电磁数据存储设备、软盘、光学盘、DVD、CD-ROM、微驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米系统、或适合于指令和/或数据的非暂时性存储的其他类型的存储介质或设备。
前面的描述是出于例示了和描述的目的而提供的。并不意图是穷举的或者使保护范围限于所公开的精确形式。许多修改和改变对于本领域的熟练从业者将是显而易见的。
例如,尽管本文中提供的例子中的几个例示了具有企业软件应用的分析应用环境或诸如举例来说Oracle融合应用环境的数据环境的操作、或者在软件即服务(SaaS)或云环境(诸如,例如Oracle分析云或Oracle云基础设施环境)的上下文内的操作,但是根据各种实施例,本文中描述的系统和方法可以与其他类型的企业软件应用或数据环境、云环境、云服务、云计算或其他计算环境一起使用。
实施例是为了最佳地说明本教导的原理和它们的实际应用来选择和描述的,从而使得本领域的其他技术人员能够理解具有适合于设想的特定用途的各种修改的各种实施例。意图是范围由权利要求和它们的等同物限定。

Claims (15)

1.一种用于为支持数据分析的计算环境提供查询加速的系统,包括:
计算机,具有处理器和存储器、以及在其上操作的数据分析环境,所述数据分析环境包括服务器,所述服务器提供对于可用于查询的数据的访问、并且接收并处理传入的查询;
其中与数据集相关联的数据:
在中间层处被存储为长期表格数据存储格式;并且
被存储为从所述中间层周期性地再生的一个或多个加速格式或被加速表格;
其中与在检查数据集合时所用的将以图形格式显示的报告、分析、投影和/或仪表盘的使用相关联地,所述系统提供查询加速,包括数据集生命周期和一个或多个查询流的使用;并且
其中响应于查询,确定被加速表格对于数据集表格是否存在,如果存在,则使用所述被加速表格来处理所述查询。
2.如权利要求1所述的系统,其中所述系统确定被加速表格不存在,然后确定本地的原生表格是否存在,如果是,则处理所述查询。
3.如权利要求2所述的系统,其中所述系统确定本地的原生表格不存在,然后确定远程的原生表格是否存在,如果是,则下载所述远程的原生表格,并且处理所述查询。
4.如权利要求3所述的系统,其中所述系统确定远程的原生表格不存在,然后确定所述数据集是否被充实,如果是,则下载准备好的格式,输出所应用的表达式,并且将所述数据集转换为远程的原生表格,以便处理所述查询。
5.如权利要求1所述的系统,其中所述系统是在云环境内提供的。
6.一种为支持数据分析的计算环境提供查询加速的方法,包括:
在具有处理器和存储器的计算机处,提供在其上操作的数据分析环境,所述数据分析环境包括服务器,所述服务器提供对于可用于查询的数据的访问、并且接收并处理传入的查询;
将与数据集相关联的数据:
在中间层处存储为长期表格数据存储格式;并且
存储为从所述中间层周期性地再生的一个或多个加速格式或被加速表格;以及
与在检查数据集合时所用的将以图形格式显示的报告、分析、投影和/或仪表盘的使用相关联地,提供查询加速,包括数据集生命周期和一个或多个查询流的使用,其中响应于查询,确定被加速表格对于数据集表格是否存在,如果是,则使用所述被加速表格来处理所述查询。
7.如权利要求6所述的方法,其中确定被加速表格不存在,然后确定本地的原生表格是否存在,如果是,则处理所述查询。
8.如权利要求7所述的方法,其中确定本地的原生表格不存在,然后确定远程的原生表格是否存在,如果是,则下载所述远程的原生表格,并且处理所述查询。
9.如权利要求8所述的方法,其中确定远程的原生表格不存在,然后确定所述数据集是否被充实,如果是,则下载准备好的格式,输出应用的表达式,并且将所述数据集转换为远程的原生表格,以便处理所述查询。
10.如权利要求6所述的方法,其中所述方法是在云环境内提供的。
11.一种其上具有指令的非暂时性计算机可读存储介质,所述指令在被包括一个或多个处理器的计算机读取并执行时使所述计算机执行包括以下步骤的方法:
提供在其上操作的数据分析环境,所述数据分析环境包括服务器,所述服务器提供对于可用于查询的数据的访问、并且接收并处理传入的查询;
将与数据集相关联的数据:
在中间层处存储为长期表格数据存储格式;并且
存储为从所述中间层周期性地再生的一个或多个加速格式或被加速表格;以及
与在检查数据集合时所用的将以图形格式显示的报告、分析、投影和/或仪表盘的使用相关联地,提供查询加速,包括数据集生命周期和一个或多个查询流的使用,其中响应于查询,确定被加速表格对于数据集表格是否存在,如果是,则使用所述被加速表格来处理所述查询。
12.如权利要求11所述的非暂时性计算机可读介质,其中确定被加速表格不存在,然后确定本地的原生表格是否存在,如果是,则处理所述查询。
13.如权利要求12所述的非暂时性计算机可读介质,其中确定本地的原生表格不存在,然后确定远程的原生表格是否存在,如果是,则下载所述远程的原生表格,并且处理所述查询。
14.如权利要求13所述的非暂时性计算机可读介质,其中确定远程的原生表格不存在,然后确定所述数据集是否被充实,如果是,则下载准备好的格式,输出应用的表达式,并且将所述数据集转换为远程的原生表格,以便处理所述查询。
15.如权利要求11所述的非暂时性计算机可读介质,其中所述方法是在云环境内提供的。
CN202280062864.9A 2021-08-27 2022-08-26 与数据分析环境一起使用的用于查询加速的系统和方法 Pending CN117980892A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/237,963 2021-08-27
US17/895,665 US20230081067A1 (en) 2021-08-27 2022-08-25 System and method for query acceleration for use with data analytics environments
US17/895,665 2022-08-25
PCT/US2022/041715 WO2023028330A1 (en) 2021-08-27 2022-08-26 System and method for query acceleration for use with data analytics environments

Publications (1)

Publication Number Publication Date
CN117980892A true CN117980892A (zh) 2024-05-03

Family

ID=90866151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280062864.9A Pending CN117980892A (zh) 2021-08-27 2022-08-26 与数据分析环境一起使用的用于查询加速的系统和方法

Country Status (1)

Country Link
CN (1) CN117980892A (zh)

Similar Documents

Publication Publication Date Title
US20230342358A1 (en) Optimized data structures of a relational cache with a learning capability for accelerating query execution by a data system
US11036752B2 (en) Optimizing incremental loading of warehouse data
US10216814B2 (en) Supporting combination of flow based ETL and entity relationship based ETL
US11789964B2 (en) Load plan generation
US9633052B2 (en) System and method for decomposition of code generation into separate physical units though execution units
US9477786B2 (en) System for metadata management
US20160328432A1 (en) System and method for management of time series data sets
US10255320B1 (en) Search integration
US9507838B2 (en) Use of projector and selector component types for ETL map design
US10956400B2 (en) Query processing using primary data versioning and secondary data
US20170371922A1 (en) Database Management for Mobile Devices
US20230081067A1 (en) System and method for query acceleration for use with data analytics environments
Sreemathy et al. Data validation in ETL using TALEND
Haelen et al. Delta Lake: Up and Running
CN117980892A (zh) 与数据分析环境一起使用的用于查询加速的系统和方法
US20230081212A1 (en) System and method for providing multi-hub datasets for use with data analytics environments
US20240126775A1 (en) System and method for automatically enriching datasets with system knowledge data
US20240126776A1 (en) System and method for finding segments in a dataset within a data analytics environment
US20240126725A1 (en) System and method for integrated function editor for use in data analytics environment
US20230087339A1 (en) System and method for generating automatic insights of analytics data
US20240126719A1 (en) System and method for on-demand fetching of backend server logs into frontend browser
WO2024081112A1 (en) System and method for automatically enriching datasets with system knowledge data
US20230297586A1 (en) System and method for generating a network graph from analytic artifacts in an analytics environment
US20240070147A1 (en) Dynamic Inclusion of Metadata Configurations into a Logical Model
Penberthy et al. Purpose-Built Databases

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication