CN110199273B - 用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***和方法 - Google Patents
用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***和方法 Download PDFInfo
- Publication number
- CN110199273B CN110199273B CN201880007607.9A CN201880007607A CN110199273B CN 110199273 B CN110199273 B CN 110199273B CN 201880007607 A CN201880007607 A CN 201880007607A CN 110199273 B CN110199273 B CN 110199273B
- Authority
- CN
- China
- Prior art keywords
- source data
- nodes
- leaf node
- data
- multidimensional database
- 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
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/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
-
- 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/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据实施例,***和方法能够在多维数据库环境中提供加载、聚合和批量计算。元数据能够用于识别每个叶子级别负载在哪个更高维度中使用。此时,来自叶子级别的数据被聚合到它要被使用的每个更高维度。然后,聚合值被存储在存储器中,直到完成的求和(或其它计算)在更高级别处被完成。此时,能够从存储器中丢弃聚合值。***在一次扫描中执行加载、聚合和批量处理计算的能力在处理非常大的数据集时特别有用,例如在大数据环境中,可能不期望将所有叶子节点的数据加载到当前存储器中。
Description
版权声明
本专利文档的公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权。
优先权要求
本申请要求于2017年9月29日提交的标题为“SYSTEM AND METHOD FOR LOAD,AGGREGATE AND BATCH CALCULATION IN ONE SCAN IN A MULTIDIMENSIONALENVIRONMENT”的申请No.62/565,519的美国临时专利申请的优先权,该申请通过引用并入本文。
技术领域
本发明的实施例一般而言涉及数据库和数据仓库,并且特别涉及用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***和方法。
背景技术
多维数据库计算环境使公司能够在人们需要时向这些恰当的人递送关键业务信息,包括利用和集成来自多个现有数据源的数据并以最符合用户需求的格式将经过滤的信息分发给终端用户社区的能力。用户可以实时沿着熟悉的业务维度与数据交互和探索数据,使得能够思维速度分析。这些是可以使用本发明实施例的环境类型的一些示例。
发明内容
根据实施例,***和方法可以在多维数据库环境中的一次扫描中提供加载、聚合和批量计算。示例性方法可以在包括一个或多个微处理器的计算机处提供在计算机上执行的多维数据库服务器,其中多维数据库服务器支持数据维度的至少一个分层结构。该方法可以将数据维度的至少一个分层结构组织成多个级别,多个级别中的每个级别包括多个节点的子集。该方法可以将源数据加载到多个节点的叶子节点中,叶子节点处于多个级别中的最低级别,叶子节点与更高级别的一个或多个节点相关联,其中这种关联包括元数据。一经将源数据加载到叶子节点中,该方法可以将源数据聚合到更高级别的一个或多个节点。一经将源数据聚合到更高级别的一个或多个节点,该方法可以将源数据的聚合与元数据相关联。一经将源数据的聚合与元数据相关联,该方法可以丢弃被加载到叶子节点中的源数据。
附图说明
图1图示了根据实施例的多维数据库环境的示例。
图2图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
图3图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
图4图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
图5图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
图6图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
图7是根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的方法的流程图。
具体实施方式
参考所附的说明书、权利要求书和附图,以上所述连同其它特征一起将变得明显。阐述了具体细节,以便提供对各种实施例的理解。但是,将明显的是,各种实施例可以在没有这些具体细节的情况下实践。所附的说明书和附图不意图是限制性的。
多维数据库环境(其示例包括Oracle Essbase)可以用于以解决终端用户的特定要求的方式集成大量数据(在一些情况下是来自多个数据源),并将经过滤的信息分发到那些用户。
图1图示了根据实施例的多维数据库环境100的示例。
如图1所示,根据实施例,作为数据库层操作的多维数据库环境可以包括一个或多个多维数据库服务器***102,每个数据库服务器***可以包括物理计算机资源或组件104(例如,微处理器/CPU、物理存储器、网络组件)、操作***106以及一个或多个多维数据库服务器110(例如,Essbase服务器)。
根据实施例,中间层120可以包括一个或多个服务,诸如例如提供商服务122(例如,Hyperion提供商服务)、管控服务124(例如,Essbase管控服务)或工作室/集成服务126(例如,Essbase工作室/Essbase集成服务)。中间层可以经由ODBC/JDBC 127、128或其它类型的接口提供到元数据目录129和/或一个或多个数据源130(例如,关系数据库)的访问,以供与多维数据库环境一起使用。
根据实施例,一个或多个数据源也可以由一个或多个多维数据库服务器经由ODBC/JDBC 132或其它类型的接口来访问,以在提供多维数据库时使用。
根据实施例,客户端层140可以包括一个或多个多维数据库客户端142(例如,Essbase服务器客户端),其使得能够访问多维数据库(诸如例如智能视图(Smart View)、电子表格加载项(Spreadsheet Add-in)、智能搜索、管控服务、MaxL、XMLA、CAPI或VB API应用、Oracle商业智能企业增强版或其它类型的多维数据库客户端)。客户端层还可以包括用于与中间层中的服务一起使用的控制台,诸如例如管控服务控制台144或者工作室/集成服务控制台146。
根据实施例,客户端、中间层和数据库层之间的通信可以由TCP/IP、HTTP或其它类型的网络通信协议中的一个或多个来提供。
根据实施例,多维数据库服务器可以集成来自一个或多个数据源的数据,以提供多维数据库、数据结构或(一个或多个)立方体(cube)150,其然后可以被访问,以向终端用户提供经过滤的信息。
一般而言,多维数据库中的每个数据值存储在立方体的一个单元中;并且特定的数据值可以通过沿着立方体的维度指定其坐标来被引用。来自一个维度的成员与来自一个或多个其它维度中的每个维度的成员的交叉表示数据值。
例如,如图1所示,该图图示了可以在以销售为导向的商业应用中使用的立方体162,当查询指示“销售额”(“Sales”)时,***可以将这个查询解释为在数据库内的包含所有“销售额”数据值的数据值的切片或层164,其中“销售额”与“实际”(“Actual”)和“预算”(“Budget”)交叉。为了引用多维数据库中的具体数据值166,查询可以在每个维度上指定成员,例如通过指定“销售额,实际,一月”(“Sales,Actual,January”)。以不同方式对数据库进行切片提供了数据的不同视角;例如,对“二月”(“February”)的数据值的切片168检查其时间/年度维度被固定到“二月”的所有那些数据值。
数据库概要
根据实施例,多维数据库的开发从数据库概要的创建开始,数据库概要定义数据库中的成员之间的结构关系;在数据库中组织数据;以及定义整合和数学关系。在数据库概要的层次树或数据结构内,每个维度包括一个或多个成员,其转而可以包括其它成员。维度的规范指导***如何整合其各个成员的值。整合是树的分支内的一组成员。
维度和成员
根据实施例,维度表示数据库概要中的最高整合级别。可以选择标准维度来表示与部门功能(例如,时间、账户、产品线、市场、区域)有关的商业计划的组成部分。与标准维度相关联的属性维度使得用户能够基于成员属性或特性对标准维度的成员进行分组和分析。成员(例如,产品A、产品B、产品C)是维度的各个组成部分。
维度和成员关系
根据实施例,多维数据库使用家族(父母、孩子、兄弟;后代和祖先);以及层次(代和级别;根和叶子)术语来描述数据库概要中成员的角色和关系。
根据实施例,父母是在其下方具有分支的成员。例如,“毛利”(“Margin”)可以是“销售额”和“售出商品成本”(“Cost of Goods Sold”)(COGS)的父母。孩子是在它上面具有父母的成员。在以上示例中,“销售额”和“售出商品成本”是父母“毛利”的孩子。兄弟是同一代内的同一直接父母的孩子。
根据实施例,后代是在父母下方的分支中的成员。例如,“利润”(“Profit”)、“存货”(“Inventory”)和“比率”(“Ratios”)可以是度量(Measures)的后代;在这种情况下,“利润”、“库货”和“比率”的孩子也是度量的后代。祖先是成员上面的分支中的成员。在以上示例中,“毛利”、“利润”和度量可以是“销售额”的祖先。
根据实施例,根是分支中的顶部成员。例如,度量可以是“利润”、“存货”和“比率”的根;并且也是“利润”、“存货”和“比率”的孩子的根。叶子(级别0)成员没有孩子。例如,打开“存货”、添加和结束“存货”可以是叶子成员。
根据实施例,代是指维度内的整合级别。树的根分支被认为是“第1代”,并且代的编号从根到叶子成员增加。级别是指维度内的分支;并且与用于代的数字排序相反地被编号,其中级别编号从叶子成员到其根减小。
根据实施例,用户可以向代或级别分配名称,并且使用那个名称作为那一代或级别中的所有成员的简写。
稀疏和稠密维度
多维数据库内的数据集常常共享两个特性:数据不是平滑地和均匀地分布;以及对大多数成员组合不存在数据。
根据实施例,为了解决这个问题,***可以识别两种类型的标准维度:稀疏维度和稠密维度。稀疏维度是具有相对低百分比的可用数据位置被填充的维度;而稠密维度是其中有相对高概率一个或多个单元在维度的每个组合中被占据的维度。许多多维数据库固有地是稀疏的,因为它们对大多数成员组合缺少数据值。
数据块和索引***
根据实施例,多维数据库使用数据块和索引来存储和访问数据。***可以为稀疏标准维度成员的每个唯一组合创建多维数组或数据块,其中每个数据块表示用于其稀疏维度成员的组合的稠密维度成员。为每个数据块创建索引,其中索引表示稀疏标准维度成员的组合,并且包括用于对其存在至少一个数据值的稀疏标准维度成员的每个唯一组合的条目或指针。
根据实施例,当多维数据库服务器搜索数据值时,它可以使用由索引提供的指针来定位适当的数据块;并且在那个数据块内,定位包含该数据值的单元。
管控服务
根据实施例,管控服务(例如,Essbase管控服务)提供使得用户能够设计、开发、维持和管理服务器、应用和数据库的单点访问。
工作室
根据实施例,工作室(例如,Essbase工作室)提供用于执行与数据建模、立方体设计和分析应用构造相关的任务的向导驱动的用户界面。
电子表格加载项
根据实施例,电子表格加载项将多维数据库与电子表格集成,其提供对增强命令(诸如连接(Connect)、枢转(Pivot)、向下钻取(Drill-down)和计算(Calculate))的支持。
集成服务
根据实施例,集成服务(例如,Essbase集成服务)提供在存储在多维数据库中的数据和存储在关系数据库中的数据之间进行集成时使用的元数据驱动的环境。
提供商服务
根据实施例,提供商服务(例如,Hyperion提供商服务)作为用于Java API、智能视图和XMLA客户端的数据源提供商操作。
智能视图
根据实施例,智能视图为例如Hyperion财务管理、Hyperion计划和Hyperion企业绩效管理工作空间数据提供公共接口。
开发者产品
根据实施例,开发者产品使得能够进行定制的企业分析应用的快速创建、管理和部署。
生命周期管理
根据实施例,生命周期管理(例如,Hyperion企业绩效管理***生命周期管理)提供用于使得企业绩效管理产品能够跨产品环境迁移应用、储存库或各个人工制品的手段。
OLAP
根据实施例,在线分析处理(OLAP)提供使得用户能够分析企业数据的环境。例如,财务部门可以使用OLAP用于诸如预算、基于活动的成本核算、财务绩效分析以及财务建模等应用,以提供“即时(just-in-time)”信息。
根据实施例,OLAP***可以将数据组织成多维度,允许数据集的搜索者/用户进行遍历各种维度的定向搜索,以最终得到感兴趣的结果。OLAP***可以将数据视为驻留在维度的交叉。换句话说,OLAP***下的数据可以被组织和存储为多维数据库,该数据库是所有维度的叉积的实例。这允许用户/搜索者以特别(ad hoc)方式沿着感兴趣的维度遍历细节的层次结构以获得特定的目标数据。缓慢变化的数据可以被表示为当前数据集内的元数据。
加载、聚合和批处理计算
根据实施例,元数据可以用于识别每个叶子级别负载在哪个更高维度中使用。此时,来自叶子级别的数据被聚合到它要被使用的每个更高维度。然后,聚合值被存储在存储器中,直到完成的总和(或其它计算)在该更高级别被完成。此时,可以从存储器中丢弃聚合值。
***在一次扫描中执行加载、聚合和批量计算的能力在处理非常大的数据集时特别有用,例如在大数据环境中,其中可能不期望将所有叶子节点的数据都加载到当前存储器中。
例如,源(例如,Spark集群)可以具有在叶子级别节点处加载的某些值。被加载到最靠近源的叶子节点中的数据可以被加载,然后被聚合到下一级别的前两个维度中。此聚合将被加载的数据减少10到100倍。然后,在这下一级别,被聚合的数据可以作为部分和被维持在存储器中,直到计算完成。
图2图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
根据实施例,如图2中所示,数据结构(诸如多维数据库结构)可以包括多个节点级别,诸如叶子级别201、级别1 202和级别2203,其中每个节点级别包括一个或多个节点。多维数据库结构可以与源210(诸如数据源(例如,大数据仓库))相关联。
根据实施例,多维数据结构可以与一个或多个存储装置(未示出)相关联。例如,一个存储设备可以存有整个数据结构。可替代地,每个级别的节点可以被托管在分开的数据存储装置上。可替代地,每个节点可以与其一个数据存储装置相关联。
虽然仅以三个级别示出,但是图2旨在表示可以具有更多或更少级别的节点的***。此外,虽然仅描绘了一个数据源,但是可以将多个数据集结合到这样的***中。
根据实施例,由于数据源变得越来越大,因此常常可以在源数据集中包括多个太字节或甚至拍字节的数据。
根据实施例,元数据可以与维度相关联(例如,沿着链接)。这个元数据可以指示节点关系,诸如哪些节点取决于用于各种计算的哪些其它节点(例如,部分和值等等)。例如,这在图2中示出,其中虚线表示在级别2 203中的节点a处发生的计算的元数据关系。
但是,根据实施例,由于数据源的大小变得越来越大,由于所使用的数据源的大小不断增加,例如在大数据环境中,因此在叶子节点级别存留数据变得越来越困难。
例如,如图2中所示,如果源数据存储在叶子级别201的叶子节点A和B处,这可以表示可用于数据结构的整个存储量,那么这使得数据结构仅能够完成或许级别1处的一个或两个中间计算(例如,聚合)。
此外,根据实施例,另一方面,如果两个叶子节点从源被填满了,并且这两个叶子节点没有任何共同的计算或聚合点,那么数据结构将不能够执行任何计算,因为它无法再将其它源数据引入该叶子级别的其它节点。
图3图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
根据实施例,如图3中所示,数据结构(诸如多维数据库结构)可以包括多个节点级别,诸如叶子级别301、级别1 302和级别2 303,其中每个节点级别可以包括一个或多个节点。多维数据库结构可以与源310(诸如数据源(例如,大数据仓库))相关联。
根据实施例,如图3中所示,源数据被加载到叶子节点(在这种情况下,节点A和B)中,然后被向上聚合到更高级别,其中这种数据可以保持为级别1的节点中的部分和。
例如,源数据可以被加载到节点A中。然后这种源数据可以被向上聚合到级别1的节点1和2中(基于节点A与节点1和2之间存在的元数据关系),其中这种聚合可以维持为部分和值。
根据实施例,在这种源数据已经从节点A被聚合了之后,节点A中的源数据可以被丢弃(由灰色节点指示),以便确保用于将源数据加载到该叶子级别的附加节点中的空间。
另外,在这个示例中,源数据可以被加载到节点B中。然后这种源数据可以被向上聚合到级别1的节点1和2中(基于节点B与节点1和2之间存在的元数据关系——如虚线所示),其中这种聚合可以维持为部分和值。
根据实施例,在这种源数据已经从节点B被聚合了之后,节点B中的源数据可以被丢弃(由灰色节点指示),以便确保用于将源数据加载到该叶子级别的附加节点中的空间。
根据实施例,然后,在叶子级别处的节点A和B处完成这种处理之后,完成的聚合计算可以存储在节点1和级别1中,因为它已经从它所依赖的两个节点接收到聚合。相反,级别1处的节点2中的聚合计算未完成,因为它还没有从它所依赖的所有节点(即,除了从节点A和B接收的聚合之外的节点C和D)接收到聚合。
图4图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
根据实施例,如图4中所示,数据结构(诸如多维数据库结构)可以包括多个节点级别,诸如叶子级别401、级别1 402和级别2403,其中每个节点级别可以包括一个或多个节点。多维数据库结构可以与源410(诸如数据源(例如,大数据仓库))相关联。
根据实施例,如图4中所示,在图3所描绘的***之后,源数据被加载到叶子节点(在这种情况下,节点C和D)中,然后基于该叶子级别的节点和级别1的节点之间的元数据关系被向上聚合到更高级别,其中这些数据可以在级别1处的那些节点中保持为部分和。
例如,源数据可以被加载到节点C中。然后这种源数据可以被向上聚合到级别1处的节点2和3中(基于节点C与节点2和3之间存在的元数据关系),其中这种聚合可以维持为部分和值。在这种源数据已经从节点C被聚合了之后,节点C中的源数据可以被丢弃(由灰色节点指示),以便确保用于将源数据加载到该叶子级别处的附加节点的空间。
另外,在这个示例中,可以将源数据加载到节点D中。然后可以将这种源数据向上聚合到节点2级别1(基于节点D与节点2之间存在的元数据关系),其中这种聚合可以维持为部分和值。在从节点D聚合了这种源数据之后,节点D中的源数据可以被丢弃(由灰色节点指示),以便确保用于将源数据加载到叶子级别的附加节点的空间。
然后,根据实施例,完成的聚合计算可以存储在节点1和级别1中,因为它已经从它所依赖的两个节点接收到聚合。此外,现在节点2具有来自节点A、B、C和D的所有聚合,节点2可以完成部分和计算。同时,级别1处的节点3中的聚合计算未完成,因为它还没有从它所依赖的所有节点(即,除了节点3现在存储着来自其部分和值的节点C之外的节点E和F)接收到聚合。
图5图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
根据实施例,如图5中所示,数据结构(诸如多维数据库结构)可以包括多个节点级别,诸如叶子级别501、级别1 502和级别2 503,其中每个节点级别可以包括一个或多个节点。多维数据库结构可以与源510(诸如数据源(例如,大数据仓库))相关联。
根据实施例,图5表示图4中所示的数据结构的进一步迭代,其中级别1 502处的节点1和2都具有完成的聚合和计算值。
根据实施例,级别1处的节点1和2处的聚合值和部分和可以用于级别2处的节点a处的聚合和计算。
然后,根据实施例,由于与级别1处的节点1相关联的元数据指示其聚合计算仅在级别2处的节点a处使用,因此在计算在级别2处已经被完成之后,级别1处的节点1处的聚合计算可以被丢弃。
相反,根据实施例,因为与级别1处的节点2相关联的元数据指示其聚合计算在级别2处的节点a和节点b处被使用,则在计算在级别2处的节点a处已经被完成之后,可以将部分和值放置在级别2中的节点b处的存储器中,该部分和与指示源自级别1的节点2处的部分和值的元数据相关联。
根据实施例,在叶子级别的节点处的源数据的这种加载、聚合和丢弃可以继续,而聚合、部分和以及计算被保持在更高的节点级别,这种聚合、部分和以及计算与表示数据结构的不同级别处的各个节点之间的关系的元数据相关联。
虽然图5中所示的数据结构仅图示了3级数据结构,但是根据各个实施例,可以预期更多或更少的级别,其中在高于叶子节点级别的节点级别处的聚合和部分和值与指示叶子级别中的叶子节点处的源数据的对应元数据关系相关联。
图6图示了根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***。
如图6所示,根据实施例,作为数据库层操作的多维数据库环境可以包括一个或多个多维数据库服务器***602,每个数据库服务器***602可以包括物理计算机资源或组件604(例如,微处理器/CPU、物理存储器、网络部件)、操作***606以及一个或多个多维数据库服务器610(例如,Essbase服务器)。
根据实施例,中间层620可以包括一个或多个服务,诸如例如提供商服务622(例如,Hyperion提供商服务)、管控服务624(例如,Essbase管控服务)或者工作室/集成服务626(例如,Essbase工作室/Essbase集成服务)。中间层可以经由ODBC/JDBC 627、628或其它类型的接口提供对元数据目录629和/或一个或多个数据源630(例如,关系数据库)的访问,以供与多维数据库环境一起使用。
根据实施例,一个或多个数据源也可以由一个或多个多维数据库服务器经由ODBC/JDBC 632或其它类型的接口来访问,以在提供多维数据库时使用。
根据实施例,客户端层640可以包括一个或多个多维数据库客户端642(例如,Essbase服务器客户端),其使得能够访问多维数据库(例如,智能视图、电子表格加载项、智能搜索、管控服务、MaxL、XMLA、CAPI或VB API应用、Oracle商业智能企业增强版或其它类型的多维数据库客户端)。客户端层还可以包括控制台,用于与中间层中的服务一起使用,控制台诸如例如管控服务控制台644或工作室/集成服务控制台646。
根据实施例,客户端层、中间层和数据库层之间的通信可以由TCP/IP、HTTP或其它类型的网络通信协议中的一个或多个提供。
根据实施例,多维数据库服务器可以集成来自一个或多个数据源的数据,以提供多维数据库、数据结构或(一个或多个)立方体650,其然后可以被访问以向终端用户提供经过滤的信息。
一般而言,多维数据库中的每个数据值存储在立方体的一个单元中;并且特定数据值可以通过沿着立方体的维度指定其坐标来被引用。来自一个维度的成员与来自一个或多个其它维度中的每个维度的成员的交叉表示数据值。
例如,如图6中所示,其图示了具有多个级别661-663的分层数据结构形式的数据库650。根据实施例,每个级别处的每个节点可以由多维数据库立方体中的单元表示,其中节点之间的关系由元数据表示。
根据实施例,来自数据源630的数据可以经由中间层620或者直接从数据源被加载到叶子级别661处的节点中。
图7是根据实施例的用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的方法的流程图。
根据实施例,在步骤710处,该方法可以在包括一个或多个微处理器的计算机处提供在计算机上执行的多维数据库服务器,其中多维数据库服务器支持数据维度的至少一个分层结构。
根据实施例,在步骤720处,该方法可以将数据维度的至少一个分层结构组织成多个级别,多个级别中的每个级别包括多个节点的子集。
根据实施例,在步骤730处,该方法可以将源数据加载到多个节点的叶子节点中,叶子节点处于多个级别中的最低级别,叶子节点与更高级别的一个或多个节点相关联,其中这种关联包括元数据。
根据实施例,在步骤740处,一经将源数据加载到叶子节点中,该方法可以将源数据聚合到更高级别的一个或多个节点。
根据实施例,在步骤750处,一经将源数据聚合到更高级别的一个或多个节点,该方法可以将源数据的聚合与元数据相关联。
根据实施例,在步骤760处,一经将源数据的聚合与元数据相关联,该方法可以丢弃被加载到叶子节点中的源数据。
虽然上面已经描述了本发明的各种实施例,但是应当理解的是,它们是通过示例而非限制来呈现的。选择和描述实施例是为了解释本发明的原理及其实际应用。实施例说明了***和方法,其中利用本发明通过提供新的和/或改进的特征和/或提供诸如降低的资源利用率、增加的容量、提高的效率和减少的时延之类的益处来改进***和方法的性能。
在一些实施例中,本发明的特征全部或部分地在包括处理器、诸如存储器之类的存储介质和用于与其它计算机通信的网卡的计算机中实现。在一些实施例中,本发明的特征在分布式计算环境中实现,其中一个或多个计算机集群通过诸如局域网(LAN)、交换架构网络(例如,InfiniBand)或广域网(WAN)之类的网络连接。分布式计算环境可以使所有计算机处于单个地点,或者使处于不同远程地理位置的计算机集群通过WAN连接。
在一些实施例中,本发明的特征全部或部分地在云中实现,作为基于使用Web技术以自助服务、计量方式向用户递送的共享的弹性资源的云计算***的一部分或作为其服务。云有五个特性,如由国家标准与技术研究所定义:按需自助服务;广泛的网络接入;资源池化;快速弹性;以及测量的服务。参见例如“The NIST Definition of Cloud Computing”Special Publication 800-145(2011),其通过引用并入本文。云部署模型包括:公共、私有和混合。云服务模型包括软件即服务(SaaS)、平台即服务(PaaS)、数据库即服务(DBaaS)和基础架构即服务(IaaS)。如本文所使用的,云是硬件、软件、网络和Web技术的组合,其以自助服务、计量方式向用户提供共享的弹性资源。除非另有说明,否则如本文所使用的云包括公共云、私有云和混合云实施例,以及所有云部署模型,包括但不限于云SaaS、云DBaaS、云PaaS和云IaaS。
在一些实施例中,使用硬件、软件、固件或其组合或在其帮助下实现本发明的特征。在一些实施例中,使用被配置或被编程为执行本发明的一个或多个功能的处理器来实现本发明的特征。在一些实施例中,处理器是单芯片或多芯片处理器、数字信号处理器(DSP)、片上***(SOC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、状态机、离散门或晶体管逻辑、分立硬件组件或被设计用于执行本文所述的功能的其任何组合。在一些实现中,本发明的特征可以由特定于给定功能的电路***实现。在其它实现中,这些特征可以在处理器中实现,该处理器被配置为使用例如存储在计算机可读存储介质上的指令来执行特定功能。
在一些实施例中,本发明的特征结合在软件和/或固件中,用于控制处理和/或网络***的硬件,并用于使处理器和/或网络能够与利用本发明的特征的其它***交互。这样的软件或固件可以包括但不限于应用代码、设备驱动程序、操作***、虚拟机、管理程序、应用编程接口、编程语言和执行环境/容器。基于本公开的教导,熟练的程序员可以容易地准备适当的软件编码,这对于软件领域的技术人员来说是明显的。
在一些实施例中,本发明包括计算机程序产品,其是具有存储在其上/内的指令的存储介质或计算机可读介质,指令可以用于编程或以其它方式配置诸如计算机之类的***,以执行本发明的任何处理或功能。存储介质或计算机可读介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米***(包括分子存储器IC),或适于存储指令和/或数据的任何类型的介质或设备。在特定实施例中,存储介质或计算机可读介质是非瞬态存储介质或非瞬态计算机可读介质。
前面的描述并非旨在是详尽的或将本发明限制于所公开的精确形式。此外,在已经使用特定系列的事务和步骤描述了本发明的实施例的情况下,对于本领域技术人员来说明显的是,本发明的范围不限于所描述的一系列事务和步骤。另外,在已经使用硬件和软件的特定组合描述了本发明的实施例的情况下,应当认识到硬件和软件的其它组合也在本发明的范围内。另外,虽然各种实施例描述了本发明的特征的特定组合,但是应当理解的是,在本发明的范围内,特征的不同组合对于相关领域的技术人员来说是明显的,使得一个实施例的特征可以结合到另一个实施例中。而且,对于相关领域的技术人员来说明显的是,在不脱离本发明的精神和范围的情况下,可以在形式、细节、实现和应用中进行各种添加、减少、删除、变化以及其它修改和改变。修改和变化包括所公开特征的任何相关组合。旨在通过所附权利要求及其等同物来限定本发明的更广泛的精神和范围。
Claims (18)
1.一种用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***,包括:
计算机,包括一个或多个微处理器;
在计算机上执行的多维数据库服务器,其中多维数据库服务器支持数据维度的至少一个分层结构;
其中,数据维度的所述至少一个分层结构被组织成多个级别,所述多个级别中的每个级别包括多个节点的子集;
其中,源数据被加载到所述多个节点中的叶子节点中,所述叶子节点处于所述多个级别中的最低级别,所述叶子节点与更高级别的一个或多个节点相关联,其中这种关联包括元数据;
其中,一经将多个源数据加载到所述叶子节点中,所述多个源数据被聚合到更高级别的所述一个或多个节点;
其中,一经将源数据聚合到更高级别的所述一个或多个节点,源数据的聚合与所述元数据相关联,并且被加载到所述叶子节点中的源数据被丢弃;
其中,在丢弃被加载到所述叶子节点中的源数据之前,源数据被加载到第二叶子节点中,第二叶子节点与更高级别的两个或更多个节点相关联;
其中,一经将源数据加载到第二叶子节点中,源数据被聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的第一节点;以及
其中,一经将源数据聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的第一节点,维持第二叶子节点处的源数据。
2.如权利要求1所述的***,其中所述叶子节点与存储器相关联,所述存储器的范围限定到所述叶子节点。
3.如权利要求1所述的***,其中所述叶子节点与存储器相关联,所述存储器的范围限定到所述多个节点的子集,所述子集包括处于所述多个级别中的最低级别的叶子节点。
4.如权利要求3所述的***,其中源数据经由与多维数据库相关联的中间层被加载到所述叶子节点中,中间层提供对源数据的访问。
5.如权利要求3所述的***,其中源数据经由多维数据库和源数据之间的通信协议被直接加载到所述叶子节点中。
6.如权利要求1所述的***,其中,一经将源数据聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的每个节点,第二叶子节点处的源数据被丢弃。
7.一种用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的方法,包括:
在包括一个或多个微处理器的计算机处提供
在计算机上执行的多维数据库服务器,其中多维数据库服务器支持数据维度的至少一个分层结构;
将数据维度的所述至少一个分层结构组织成多个级别,所述多个级别中的每个级别包括多个节点的子集;
将源数据加载到所述多个节点中的叶子节点中,所述叶子节点处于所述多个级别中的最低级别,所述叶子节点与更高级别的一个或多个节点相关联,其中这种关联包括元数据;
一经将源数据加载到所述叶子节点中,将源数据聚合到更高级别的所述一个或多个节点;
一经将源数据聚合到更高级别的所述一个或多个节点,将源数据的聚合与元数据相关联;
一经将源数据的聚合与元数据相关联,丢弃被加载到所述叶子节点中的源数据;
其中,在丢弃被加载到所述叶子节点中的源数据之前,源数据被加载到第二叶子节点中,第二叶子节点与更高级别的两个或更多个节点相关联;
其中,一经将源数据加载到第二叶子节点中,源数据被聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的第一节点;以及
其中,一经将源数据聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的第一节点,维持第二叶子节点处的源数据。
8.如权利要求7所述的方法,其中所述叶子节点与存储器相关联,所述存储器的范围限定到所述叶子节点。
9.如权利要求7所述的方法,其中所述叶子节点与存储器相关联,所述存储器的范围限定到所述多个节点的子集,所述子集包括处于所述多个级别中的最低级别的叶子节点。
10.如权利要求9所述的方法,其中源数据经由与多维数据库相关联的中间层被加载到所述叶子节点中,中间层提供对源数据的访问。
11.如权利要求9所述的方法,其中源数据经由多维数据库和源数据之间的通信协议被直接加载到所述叶子节点中。
12.如权利要求7所述的方法,其中,一经将源数据聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的每个节点,第二叶子节点处的源数据被丢弃。
13.一种非瞬态计算机可读存储介质,其上具有用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的指令,所述指令在被读取和执行时使计算机:
在包括一个或多个微处理器的计算机处提供
在计算机上执行的多维数据库服务器,其中多维数据库服务器支持数据维度的至少一个分层结构;
将数据维度的所述至少一个分层结构组织成多个级别,所述多个级别中的每个级别包括多个节点的子集;
将源数据加载到所述多个节点中的叶子节点中,所述叶子节点处于所述多个级别中的最低级别,所述叶子节点与更高级别的一个或多个节点相关联,其中这种关联包括元数据;
一经将源数据加载到所述叶子节点中,将源数据聚合到更高级别的所述一个或多个节点;
一经将源数据聚合到更高级别的所述一个或多个节点,将源数据的聚合与元数据相关联;
一经将源数据的聚合与元数据相关联,丢弃被加载到所述叶子节点中的源数据;
其中,在丢弃被加载到所述叶子节点中的源数据之前,源数据被加载到第二叶子节点中,第二叶子节点与更高级别的两个或更多个节点相关联;
其中,一经将源数据加载到第二叶子节点中,源数据被聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的第一节点;以及
其中,一经将源数据聚合到与第二叶子节点相关联的更高级别的所述两个或更多个节点中的第一节点,维持第二叶子节点处的源数据。
14.如权利要求13所述的非瞬态计算机可读存储介质,其中所述叶子节点与存储器相关联,所述存储器的范围限定到所述叶子节点。
15.如权利要求13所述的非瞬态计算机可读存储介质,其中所述叶子节点与存储器相关联,所述存储器的范围限定到所述多个节点的子集,所述子集包括处于所述多个级别中的最低级别的叶子节点。
16.如权利要求13所述的非瞬态计算机可读存储介质,其中源数据经由与多维数据库相关联的中间层被加载到所述叶子节点中,中间层提供对源数据的访问。
17.如权利要求16所述的非瞬态计算机可读存储介质,其中源数据经由多维数据库和源数据之间的通信协议被直接加载到所述叶子节点中。
18.一种用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的装置,包括用于执行如权利要求7-12中任一项所述的方法的单元。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762565519P | 2017-09-29 | 2017-09-29 | |
US62/565,519 | 2017-09-29 | ||
US16/023,812 | 2018-06-29 | ||
US16/023,812 US11042569B2 (en) | 2017-09-29 | 2018-06-29 | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment |
PCT/US2018/044425 WO2019067079A1 (en) | 2017-09-29 | 2018-07-30 | SYSTEM AND METHOD FOR LOAD, AGGREGATE AND BATCH CALCULATION IN SINGLE SCAN IN A MULTIDIMENSIONAL DATABASE ENVIRONMENT |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110199273A CN110199273A (zh) | 2019-09-03 |
CN110199273B true CN110199273B (zh) | 2023-03-10 |
Family
ID=65897996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880007607.9A Active CN110199273B (zh) | 2017-09-29 | 2018-07-30 | 用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11042569B2 (zh) |
EP (1) | EP3688607A1 (zh) |
JP (1) | JP6827127B2 (zh) |
CN (1) | CN110199273B (zh) |
WO (1) | WO2019067079A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467251B2 (en) | 2015-10-23 | 2019-11-05 | Oracle International Corporation | System and method for automatic dependency analysis for use with a multidimensional database |
US10318498B2 (en) | 2015-10-23 | 2019-06-11 | Oracle International Corporation | System and method for parallel support of multidimensional slices with a multidimensional database |
US10936574B2 (en) | 2015-10-23 | 2021-03-02 | Oracle International Corporation | System and method for use of lock-less techniques with a multidimensional database |
US11520760B2 (en) | 2015-10-23 | 2022-12-06 | Oracle International Corporation | System and method for providing bottom-up aggregation in a multidimensional database environment |
US10733155B2 (en) | 2015-10-23 | 2020-08-04 | Oracle International Corporation | System and method for extracting a star schema from tabular data for use in a multidimensional database environment |
US10838982B2 (en) | 2015-10-23 | 2020-11-17 | Oracle International Corporation | System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment |
US10346435B2 (en) | 2015-10-23 | 2019-07-09 | Oracle International Corporation | System and method for improved performance in a multidimensional database environment |
US11226987B2 (en) | 2015-10-23 | 2022-01-18 | Oracle International Corporation | System and method for in-place data writes to reduce fragmentation in a multidimensional database environment |
US10909134B2 (en) | 2017-09-01 | 2021-02-02 | Oracle International Corporation | System and method for client-side calculation in a multidimensional database environment |
US10983972B2 (en) | 2017-09-08 | 2021-04-20 | Oracle International Corporation | System and method for slowing changing dimension and metadata versioning in a multidimensional database environment |
US11593402B2 (en) | 2017-09-29 | 2023-02-28 | Oracle International Corporation | System and method for enabling multiple parents with weights in a multidimensional database environment |
US11042569B2 (en) | 2017-09-29 | 2021-06-22 | Oracle International Corporation | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment |
US11422881B2 (en) | 2018-07-19 | 2022-08-23 | Oracle International Corporation | System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment |
US11188554B2 (en) | 2018-07-19 | 2021-11-30 | Oracle International Corporation | System and method for real time data aggregation in a virtual cube in a multidimensional database environment |
US11200223B2 (en) | 2018-10-18 | 2021-12-14 | Oracle International Corporation | System and method for dependency analysis in a multidimensional database environment |
USD959477S1 (en) | 2019-12-20 | 2022-08-02 | Sap Se | Display system or portion thereof with a virtual three-dimensional animated graphical user interface |
USD959476S1 (en) | 2019-12-20 | 2022-08-02 | Sap Se | Display system or portion thereof with a virtual three-dimensional animated graphical user interface |
USD959447S1 (en) | 2019-12-20 | 2022-08-02 | Sap Se | Display system or portion thereof with a virtual three-dimensional animated graphical user interface |
US11205296B2 (en) * | 2019-12-20 | 2021-12-21 | Sap Se | 3D data exploration using interactive cuboids |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542895B1 (en) * | 1999-08-30 | 2003-04-01 | International Business Machines Corporation | Multi-dimensional restructure performance when adding or removing dimensions and dimensions members |
US6965903B1 (en) * | 2002-05-07 | 2005-11-15 | Oracle International Corporation | Techniques for managing hierarchical data with link attributes in a relational database |
CN101167048A (zh) * | 2004-11-30 | 2008-04-23 | 科格洛斯公司 | 多维企业软件***内的可聚集维度信息的生成 |
CN102918530A (zh) * | 2010-05-27 | 2013-02-06 | 甲骨文国际公司 | 数据集市自动化 |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574952A (en) | 1994-05-11 | 1996-11-12 | International Business Machines Corporation | Data storage system and method for operating a disk controller including allocating disk space for compressed data |
US5915129A (en) | 1994-06-27 | 1999-06-22 | Microsoft Corporation | Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system |
DE69529088T2 (de) | 1994-11-21 | 2003-09-25 | Oracle Corp | Verfahren und gerät für eine mehrdimensionale datenbank mit einem binären hyperräumlichen code |
JP3952518B2 (ja) * | 1996-03-29 | 2007-08-01 | 株式会社日立製作所 | 多次元データ処理方法 |
JPH10301935A (ja) | 1997-04-22 | 1998-11-13 | Mitsubishi Electric Corp | データ処理方法 |
US6574720B1 (en) | 1997-05-30 | 2003-06-03 | Oracle International Corporation | System for maintaining a buffer pool |
US9208213B2 (en) | 1999-05-28 | 2015-12-08 | Microstrategy, Incorporated | System and method for network user interface OLAP report formatting |
US6766325B1 (en) | 1999-12-02 | 2004-07-20 | Microsoft Corporation | System and method for maintaining data for performing “what if” analysis |
US20020029207A1 (en) | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
US6629102B1 (en) | 2000-07-28 | 2003-09-30 | International Business Machines Corporation | Efficiently updating a key table during outline restructure of a multi-dimensional database |
US6606621B2 (en) * | 2001-05-30 | 2003-08-12 | Oracle International Corp. | Methods and apparatus for aggregating sparse data |
US7133876B2 (en) * | 2001-06-12 | 2006-11-07 | The University Of Maryland College Park | Dwarf cube architecture for reducing storage sizes of multidimensional data |
US6880154B2 (en) | 2001-06-29 | 2005-04-12 | Intel Corporation | Alias-free test for dynamic array structures |
US7058783B2 (en) | 2002-09-18 | 2006-06-06 | Oracle International Corporation | Method and mechanism for on-line data compression and in-place updates |
US7734661B2 (en) | 2003-08-11 | 2010-06-08 | Descisys Limited | Method and apparatus for accessing multidimensional data |
US7392242B1 (en) | 2004-02-27 | 2008-06-24 | Hyperion Solutions Corporation | Query costing in a multidimensional database |
US7702718B2 (en) | 2004-03-30 | 2010-04-20 | Cisco Technology, Inc. | Providing enterprise information |
US7647356B2 (en) * | 2004-05-07 | 2010-01-12 | Oracle International Corporation | Methods and apparatus for facilitating analysis of large data sets |
US7562086B2 (en) | 2004-07-09 | 2009-07-14 | Microsoft Corporation | Custom grouping for dimension members |
US7490106B2 (en) * | 2004-07-09 | 2009-02-10 | Microsoft Corporation | Multidimensional database subcubes |
JP2006065797A (ja) | 2004-08-30 | 2006-03-09 | Canon Inc | データ処理方法、データ管理方法、及びコンピュータプログラム |
US20060106769A1 (en) | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US8510329B2 (en) | 2005-05-25 | 2013-08-13 | Experian Marketing Solutions, Inc. | Distributed and interactive database architecture for parallel and asynchronous data processing of complex data and for real-time query processing |
CA2604136A1 (en) | 2005-06-20 | 2006-12-28 | Future Route Limited | Analytical system for discovery and generation of rules to predict and detect anomalies in data and financial fraud |
JP2007052754A (ja) | 2005-08-18 | 2007-03-01 | Shizuo Nagashima | データ分析集計表示処理制御装置 |
US7792847B2 (en) | 2005-09-09 | 2010-09-07 | Microsoft Corporation | Converting structured reports to formulas |
US7805433B2 (en) | 2005-10-14 | 2010-09-28 | Microsoft Corporation | Multidimensional cube functions |
US20070094668A1 (en) | 2005-10-17 | 2007-04-26 | Jacquot Bryan J | Method and apparatus for dynamically allocating resources used by software |
US8156083B2 (en) | 2005-12-01 | 2012-04-10 | Oracle International Corporation | Database system that provides for history-enabled tables |
US8108399B2 (en) | 2007-05-18 | 2012-01-31 | Microsoft Corporation | Filtering of multi attribute data via on-demand indexing |
US7792784B2 (en) | 2007-05-31 | 2010-09-07 | International Business Machines Corporation | Streaming multidimensional data by bypassing multidimensional query processor |
US8234298B2 (en) | 2007-07-25 | 2012-07-31 | International Business Machines Corporation | System and method for determining driving factor in a data cube |
US7886124B2 (en) | 2007-07-30 | 2011-02-08 | Oracle International Corporation | Method and mechanism for implementing dynamic space management for large objects |
US8005818B2 (en) | 2008-03-31 | 2011-08-23 | Business Objects, S.A. | Apparatus and method for maintaining metadata version awareness during set evaluation for OLAP hierarchies |
US8606803B2 (en) | 2008-04-01 | 2013-12-10 | Microsoft Corporation | Translating a relational query to a multidimensional query |
US8169481B2 (en) | 2008-05-05 | 2012-05-01 | Panasonic Corporation | System architecture and process for assessing multi-perspective multi-context abnormal behavior |
US8539191B2 (en) | 2009-01-06 | 2013-09-17 | Netapp, Inc. | Estimating space in a compressed volume |
US8959057B2 (en) | 2010-08-30 | 2015-02-17 | Oracle International Corporation | Techniques for automatic data placement with compression and columnar storage |
US10360527B2 (en) * | 2010-11-10 | 2019-07-23 | International Business Machines Corporation | Casual modeling of multi-dimensional hierarchical metric cubes |
US9020991B2 (en) | 2012-08-10 | 2015-04-28 | Ca, Inc. | System and method for analyzing available space in data blocks |
US8903876B2 (en) | 2012-08-15 | 2014-12-02 | Facebook, Inc. | File storage system based on coordinated exhaustible and non-exhaustible storage |
US20140122413A1 (en) | 2012-10-29 | 2014-05-01 | Paris Technologies, Inc. | Bulk read and write between multi-dimensional data structures |
US20150163223A1 (en) * | 2013-12-09 | 2015-06-11 | International Business Machines Corporation | Managing Resources In A Distributed Computing Environment |
US9582566B2 (en) | 2013-12-27 | 2017-02-28 | International Business Machines Corporation | Condensing hierarchical data |
US10083195B2 (en) | 2014-04-24 | 2018-09-25 | Futurewei Technologies, Inc. | System and method for composing a multidimensional index key in data blocks |
WO2016048325A1 (en) | 2014-09-25 | 2016-03-31 | Hewlett Packard Enterprise Development Lp | Storage space allocation |
US10423623B2 (en) | 2015-02-05 | 2019-09-24 | Sap Se | Hierarchy modeling and query |
US10628451B2 (en) | 2015-10-23 | 2020-04-21 | Oracle International Corporation | System and method for supporting queries having sub-select constructs in a multidimensional database environment |
US20170116311A1 (en) | 2015-10-23 | 2017-04-27 | Oracle International Corporation | System and method for use of automatic slice merge in a multidimensional database environment |
US11520760B2 (en) | 2015-10-23 | 2022-12-06 | Oracle International Corporation | System and method for providing bottom-up aggregation in a multidimensional database environment |
US10467251B2 (en) | 2015-10-23 | 2019-11-05 | Oracle International Corporation | System and method for automatic dependency analysis for use with a multidimensional database |
US11226987B2 (en) | 2015-10-23 | 2022-01-18 | Oracle International Corporation | System and method for in-place data writes to reduce fragmentation in a multidimensional database environment |
US10984020B2 (en) | 2015-10-23 | 2021-04-20 | Oracle International Corporation | System and method for supporting large queries in a multidimensional database environment |
US10346435B2 (en) * | 2015-10-23 | 2019-07-09 | Oracle International Corporation | System and method for improved performance in a multidimensional database environment |
US10318498B2 (en) | 2015-10-23 | 2019-06-11 | Oracle International Corporation | System and method for parallel support of multidimensional slices with a multidimensional database |
US10909134B2 (en) | 2017-09-01 | 2021-02-02 | Oracle International Corporation | System and method for client-side calculation in a multidimensional database environment |
US10983972B2 (en) | 2017-09-08 | 2021-04-20 | Oracle International Corporation | System and method for slowing changing dimension and metadata versioning in a multidimensional database environment |
US11042569B2 (en) * | 2017-09-29 | 2021-06-22 | Oracle International Corporation | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment |
US11593402B2 (en) * | 2017-09-29 | 2023-02-28 | Oracle International Corporation | System and method for enabling multiple parents with weights in a multidimensional database environment |
US20190102447A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | System and method for metadata sandboxing and what-if analysis in a multidimensional database environment |
-
2018
- 2018-06-29 US US16/023,812 patent/US11042569B2/en active Active
- 2018-07-30 WO PCT/US2018/044425 patent/WO2019067079A1/en unknown
- 2018-07-30 CN CN201880007607.9A patent/CN110199273B/zh active Active
- 2018-07-30 JP JP2019552229A patent/JP6827127B2/ja active Active
- 2018-07-30 EP EP18755370.6A patent/EP3688607A1/en active Pending
-
2021
- 2021-06-21 US US17/352,793 patent/US11789978B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542895B1 (en) * | 1999-08-30 | 2003-04-01 | International Business Machines Corporation | Multi-dimensional restructure performance when adding or removing dimensions and dimensions members |
US6965903B1 (en) * | 2002-05-07 | 2005-11-15 | Oracle International Corporation | Techniques for managing hierarchical data with link attributes in a relational database |
CN101167048A (zh) * | 2004-11-30 | 2008-04-23 | 科格洛斯公司 | 多维企业软件***内的可聚集维度信息的生成 |
CN102918530A (zh) * | 2010-05-27 | 2013-02-06 | 甲骨文国际公司 | 数据集市自动化 |
Also Published As
Publication number | Publication date |
---|---|
US11789978B2 (en) | 2023-10-17 |
WO2019067079A1 (en) | 2019-04-04 |
JP2020512641A (ja) | 2020-04-23 |
EP3688607A1 (en) | 2020-08-05 |
US11042569B2 (en) | 2021-06-22 |
CN110199273A (zh) | 2019-09-03 |
US20190102446A1 (en) | 2019-04-04 |
JP6827127B2 (ja) | 2021-02-10 |
US20210311964A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199273B (zh) | 用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***和方法 | |
US11704294B2 (en) | System and method for slowly changing dimension and metadata versioning in a multidimensional database environment | |
US11531662B2 (en) | System and method for use of a dynamic flow in a multidimensional database environment | |
US11922221B2 (en) | System and method for automatic dependency analysis for use with a multidimensional database | |
US10909134B2 (en) | System and method for client-side calculation in a multidimensional database environment | |
US20190102447A1 (en) | System and method for metadata sandboxing and what-if analysis in a multidimensional database environment | |
US20230185827A1 (en) | System and method for enabling multiple parents with weights in a multidimensional database environment | |
US10984020B2 (en) | System and method for supporting large queries in a multidimensional database environment | |
US11768825B2 (en) | System and method for dependency analysis in a multidimensional database environment | |
CN107533569B (zh) | 用于多维数据库环境中的沙箱支持的***和方法 | |
US11422881B2 (en) | System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment | |
JP7202442B2 (ja) | 多次元データベース環境における仮想キューブでのリアルタイムデータ集約のためのシステムおよび方法 |
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 |