Systems and methods for using a segmented query model in an analytical application environment

By employing a hierarchical approach and a segmented query model, the differences in customer customization requirements within the data analysis environment were addressed, enabling flexible semantic model expansion and multi-user collaboration, thus ensuring the stability and security of the data analysis environment.

CN116547659BActive Publication Date: 2026-05-29ORACLE INT CORP

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ORACLE INT CORP
Filing Date
2021-09-22
Publication Date
2026-05-29

Smart Images

  • Figure CN116547659B_ABST
    Figure CN116547659B_ABST
Patent Text Reader

Abstract

According to embodiments, described herein are systems and methods for providing extensibility in an analytics application environment, including enabling the use of custom semantic extensions to extend a semantic layer of a semantic data model (semantic model). According to embodiments, the system enables the use of a segmented query model - when customizing a semantic model, the system is able to dynamically incorporate changes from various increments at query time at runtime to dynamically surface appropriate data based on the extended semantic model.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Copyright Notice

[0002] This patent document contains copyrighted material. The copyright owner does not object to any fax reproduction of the patent document or patent disclosure as it appears in the patent documents or records of the Patent and Trademark Office, but otherwise retains all copyright in all circumstances.

[0003] Priority requirements

[0004] This application claims the following U.S. provisional patent applications filed on September 25, 2020: 63 / 083,319, entitled "SYSTEM AND METHOD FOR EXTENSIBILITY IN AN ANALYTIC APPLICATIONS ENVIRONMENT"; 17 / 376,890, filed on July 15, 2021, entitled "SYSTEM AND METHOD FOR EXTENSIBILITY IN AN ANALYTIC APPLICATIONS ENVIRONMENT"; 17 / 376,895, filed on July 15, 2021, entitled "SYSTEM AND METHOD FOR USE OF AFRAGMENTED QUERY MODEL IN AN ANALYTIC APPLICATIONS ENVIRONMENT"; and 17 / 376,903, filed on July 15, 2021, entitled "SYSTEM AND METHOD FOR USE OF AFRAGMENTED QUERY MODEL IN AN ANALYTIC APPLICATIONS ENVIRONMENT". The priority interests of the U.S. patent application “METHOD FORSEMANTIC MODEL ACTION SETS AND REPLAY IN AN ANALYTIC APPLICATIONSENVIRONMENT” are hereby claimed; each of these applications is incorporated herein by reference. Technical Field

[0005] The embodiments described herein generally relate to computer data analysis and computer-based methods for providing business intelligence data, and particularly to systems and methods for providing scalability in analytical application environments. Background Technology

[0006] Generally speaking, within an organization, data analytics enables computer-based examination or analysis of large amounts of data in order to draw conclusions or other information from that data; while business intelligence tools provide business users within an organization with information describing their enterprise data in a format that enables these business users to make strategic business decisions.

[0007] There is a growing interest in developing software applications that leverage data analytics within the context of an organization’s enterprise software applications or data environments, such as Oracle Fusion Applications or other types of enterprise software applications or data environments; or within the context of Software as a Service (SaaS) or cloud environments, such as Oracle Analytics Cloud or Oracle Cloud Infrastructure or other types of cloud environments.

[0008] However, for the purpose of providing data analytics or business intelligence data or developing software analytics applications, different customers of data analytics environments may have different requirements on how their data is classified, aggregated, or transformed. Summary of the Invention

[0009] According to embodiments, this document describes a system and method for providing scalability in analytics application environments. To support customer requirements regarding how their data is categorized, aggregated, or transformed for the purpose of providing data analytics or business intelligence data or developing software analytics applications, the system may include a semantic layer that enables the extension of the semantic data model (semantic model) using custom semantic extensions.

[0010] According to the embodiment, a layered approach is used to perform customization of the out-of-the-box semantic model, wherein the factory code for the semantic model remains unchanged, and customer-editable changes / increments are made at a higher level of that model, so that changes can be patched / undone if necessary.

[0011] According to an embodiment, the system enables the use of a segmented query model—when the semantic model is customized, the system can dynamically incorporate changes from various incremental changes at runtime to dynamically expose appropriate data based on the extended semantic model.

[0012] According to an embodiment, when the semantic model is customized, the system stores changes to the semantic model as a set of actions, rather than a changed state. This allows the system to replay changes on the factory model to return to the desired final state, just as an operating system update does not affect the underlying settings. Attached Figure Description

[0013] Figure 1 The illustration depicts a system for providing an analytical application environment according to an embodiment.

[0014] Figure 2 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0015] Figure 3 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0016] Figure 4 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0017] Figure 5 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0018] Figure 6 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0019] Figure 7 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0020] Figure 8 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0021] Figure 9 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0022] Figure 10 The illustration shows a flowchart of a method for providing an analysis application environment according to an embodiment.

[0023] Figure 11 The illustration depicts a system, according to an embodiment, for supporting scalability and customization in analytics application environments.

[0024] Figure 12 Further illustrations demonstrate the scalability and customization in the analytics application environment according to the embodiments.

[0025] Figure 13 The illustration shows support for multiple users in a customized or extended analytics application environment according to an embodiment.

[0026] Figure 14 Further illustrations demonstrate support for multiple users in a customized or extended analytics application environment according to embodiments.

[0027] Figure 15 Further illustrations demonstrate support for multiple users in a customized or extended analytics application environment according to embodiments.

[0028] Figure 16 Further illustrations demonstrate support for multiple users in a customized or extended analytics application environment according to embodiments.

[0029] Figure 17 The illustration shows a hierarchical approach to constructing a semantic model according to an embodiment.

[0030] Figure 18 The hierarchical approach to constructing the semantic model according to the embodiment is further illustrated.

[0031] Figure 19 The illustration shows the use of layered extensions in an analytics application environment according to an embodiment.

[0032] Figure 20 The use of layered extensions according to embodiments in an analytics application environment is further illustrated.

[0033] Figure 21 The illustration further illustrates the use of hierarchical extensions in analytical application environments.

[0034] Figure 22 The illustration depicts a process using hierarchical extensions in an analytics application environment according to an embodiment.

[0035] Figure 23 The illustration shows the use of the segmented query model according to an embodiment.

[0036] Figure 24 The use of the segmented query model according to the embodiment is further illustrated.

[0037] Figure 25 The use of the segmented query model according to the embodiment is further illustrated.

[0038] Figure 26 The illustration shows the processing using a segmented query model according to an embodiment.

[0039] Figure 27 The illustration shows the use of action replay sets to provide scalability according to an embodiment.

[0040] Figure 28 The illustration further illustrates the use of action replay sets to provide scalability according to an embodiment.

[0041] Figure 29 The illustration further illustrates the use of action replay sets to provide scalability according to an embodiment.

[0042] Figure 30 The illustration shows the process of replaying semantic model actions in an analytics application environment according to an embodiment. Detailed Implementation

[0043] As mentioned above, within an organization, data analytics enables computer-based examination or analysis of large amounts of data in order to draw conclusions or other information from that data; while business intelligence tools provide business users within an organization with information describing their enterprise data in a format that enables these business users to make strategic business decisions.

[0044] There is a growing interest in developing software applications that leverage data analytics within the context of an organization’s enterprise software applications or data environments, such as the Oracle Fusion Applications Environment or other types of enterprise software applications or data environments; or within the context of Software as a Service (SaaS) or cloud environments, such as the Oracle Analytics Cloud or Oracle Cloud Infrastructure Environment or other types of cloud environments.

[0045] According to embodiments, the analysis application environment enables data analysis to be performed within the context of an organization's enterprise software applications or data environment, or Software as a Service or other types of cloud environments; and supports the development of computer-executable software analysis applications.

[0046] Semantic Model / Layer Scalability

[0047] According to embodiments, this document describes a system and method for providing scalability in analytics application environments. To support customer requirements regarding how their data is categorized, aggregated, or transformed for the purpose of providing data analytics or business intelligence data or developing software analytics applications, the system may include a semantic layer that enables the extension of the semantic data model (semantic model) using custom semantic extensions.

[0048] According to various embodiments, the system may include support for features such as hierarchical namespaces, runtime merging of segmented model queries, replaying changes on an evolving basis, or staging anticipated fixes in a production environment.

[0049] According to an embodiment, the system provides a wizard-based approach to capture what a user wants to do with a semantic model in a series of steps, then create a rule set (e.g., as an RPD) for the user, and then use the rule set to extend the semantic model. For example, the wizard can present out-of-the-box representations of certain dimensions or facts specified by the semantic model, which the user can then modify.

[0050] According to another embodiment, multiple users working on the semantic model can operate on different subject domains. The multi-user development environment allows multiple users to work on different branches or extensions of the semantic model. Once each branch or extension is complete, the system compares any changes to the overall model and determines if any conflicts exist, and, if appropriate, includes locks and queues to evaluate which branches or extensions to include in the final model.

[0051] According to another embodiment, customization of the out-of-the-box semantic model is performed using a layered approach, where the factory code for the semantic model remains unchanged, and client-editable changes / increments are made at a higher level of that model, allowing changes to be patched / undone if necessary.

[0052] According to another embodiment, the system enables the use of a segmented query model—when the semantic model is customized, the system can dynamically incorporate changes from various incremental changes at runtime to dynamically reveal appropriate data based on the extended semantic model.

[0053] According to another embodiment, when customizing the semantic model, the system allows changes to the semantic model to be stored as sets of actions, rather than as changed states. This allows the system to replay changes on the factory model to return to the desired final state, just as operating system updates do not affect the underlying settings.

[0054] According to another embodiment, to support the use of test and production instances, the system can track changes made to the semantic model in the test environment and then remotely transfer the changes to the production environment after testing. The system may include locks, security, and role mapping to control how changes are moved from the test environment to the production environment.

[0055] In another embodiment, when the test instance is updated to a new version, the incremental changes made to the semantic model and stored therein are replayed as described above—but not immediately pushed to production. The changes are phased in as the production environment itself is updated to a new version. When production is updated to a new version (a new version of the data warehouse or semantic model), the customized model and extensions are updated simultaneously.

[0056] In another embodiment, queries in a data analytics environment are often pushed to a BI server, and then the functionality is routed down to the data source. However, if multiple users are operating on a customized / extended semantic model, they will need to share a common BI server. To provide a preview of the data used during the development of the semantic model, the system temporarily starts a (reduced / scaled) version of the BI server to provide a preview of the data used during development.

[0057] According to embodiments, an analytical application environment, such as the Oracle Analytics Cloud (OAC) environment, can be provided in association with an analytics cloud environment (analysis cloud). This environment provides scalable and secure public cloud services that offer the ability to explore and perform collaborative analytics.

[0058] According to various embodiments, the technical advantages of the described methods include that the defined extensions or customizations can tolerate patching, updates, or other changes to the underlying system. For example, if immutable aspects of the semantic model are patched or updated, customizations already provided as semantic extensions are preserved. After a patch or update, the system can automatically replay the extension. If an extension fails due to changes to the underlying semantic model, the administrator can evaluate these changes and iterate through possible fixes. Potential conflicts can be gracefully handled, and the administrator can be notified appropriately if not all extensions can be fully applied.

[0059] Analysis of application environment

[0060] According to embodiments, a data warehouse environment or component (such as, for example, Oracle Autonomous Data Warehouse (ADW), Oracle Autonomous Data Warehouse Cloud (ADWC), or other types of data warehouse environments or components suitable for storing large amounts of data) can provide a central repository for storing data collected by one or more business applications.

[0061] For example, according to an embodiment, a data warehouse environment or component can be provided as a multidimensional database that employs online analytical processing (OLAP) or other technologies to generate business-related data from multiple different data sources. An organization can extract such business-related data from one or more vertical and / or horizontal business applications and inject the extracted data into a data warehouse instance associated with that organization.

[0062] Examples of horizontal business applications can include ERP, HCM, CX, SCM, and EPM as described above, and offer a wide range of functionalities across various enterprise organizations.

[0063] Vertical business applications are typically narrower in scope than horizontal business applications, but they provide access to data further upstream and downstream within a defined scope or industry data chain. Examples of vertical business applications could include medical software or banking software used within a specific organization.

[0064] While software vendors increasingly offer enterprise software products or components as SaaS or cloud-based offerings, such as, for example, Oracle Converged Applications; other enterprise software products or components (such as, for example, Oracle ADWC) can be offered as one or more of SaaS, Platform as a Service (PaaS), or hybrid subscriptions; enterprise users of conventional business intelligence (BI) applications and processing often face the task of extracting data from their horizontal and vertical business applications and bringing that extracted data into a data warehouse – a process that can be both time-consuming and resource-intensive.

[0065] According to an embodiment, the analytics application environment allows customers (tenants) to develop computer-executable software analytics applications for use with BI components, such as, for example, the Oracle Business Intelligence Applications (OBIA) environment or other types of BI components suitable for examining large amounts of data originating from the customer (tenant) themselves or from multiple third-party entities.

[0066] For example, according to an embodiment, when used with a SaaS business productivity software product suite that includes a data warehouse component, the analytics application environment can be used to populate the data warehouse component with data from the suite's business productivity software applications. Predefined data integration flows can automate the ETL processing of data between the business productivity software applications and the data warehouse, processing that would otherwise be performed conventionally or manually by users of those services.

[0067] As another example, according to an embodiment, the analytics application environment can be pre-configured using a database schema that stores integrated data from various business productivity software applications across a suite of SaaS products. This pre-configured database schema can provide uniformity between the productivity software applications and their corresponding transactional databases offered within the SaaS product suite; while allowing users to forgo the manual design, tweaking, and modeling of the provided data warehouse.

[0068] As another example, according to the embodiment, the analytics application environment can be used to prepopulate the reporting interface of a data warehouse instance with relevant metadata describing business-related data objects in the context of various business productivity software applications, for example, to include predefined dashboards, key performance indicators (KPIs) or other types of reports.

[0069] Figure 1 The illustration depicts a system for providing an analytical application environment according to an embodiment.

[0070] like Figure 1As shown, according to an embodiment, the analytics application environment or analytics cloud (e.g., OAC) 100 may be provided by a computer system or otherwise operate at a computer system having computer hardware (e.g., processor, memory) 101 and including one or more software components operating as a control plane 102 and a data plane 104, and providing access to a data warehouse or data warehouse instance 160.

[0071] According to an embodiment, Figure 1 The components and processes shown and further described herein with respect to various other embodiments may be provided as software or program code executable by a computer system or other type of processing device.

[0072] For example, according to embodiments, the components and processes described herein may be provided by a cloud computing system or other appropriately programmed computer system.

[0073] According to embodiments, the control plane operates to provide control over cloud or other software products supplied within the context of a SaaS or cloud environment (such as, for example, Oracle Analytics Cloud or Oracle Cloud Infrastructure environment or other types of cloud environments).

[0074] For example, according to an embodiment, the control plane may include a console interface 110 that enables a client computer device 10 having device hardware 12, management application 14, and user interface 16 to be accessed under the control of a client (tenant) 20 and / or a cloud environment having provisioning components 111.

[0075] According to embodiments, the console interface can enable access by clients (tenants) who operate graphical user interfaces (GUIs) and / or command-line interfaces (CLIs) or other interfaces; and / or may include interfaces for use by providers of SaaS or cloud environments and their clients (tenants).

[0076] For example, according to an embodiment, the console interface can provide an interface that allows customers to provision services for use within their SaaS environment and to configure those services that have been provisioned.

[0077] According to an embodiment, the supply component may include various functions for supplying services specified by a supply command.

[0078] For example, according to an embodiment, a customer (tenant) can access and utilize the provisioned components via a console interface to purchase one or more business productivity software applications and a data warehouse instance used with those software applications.

[0079] According to an embodiment, a client (tenant) can request to provision a client schema 164 within the data warehouse. The client can also provision multiple attributes associated with the data warehouse instance via a console interface, including required attributes (e.g., login credentials) and optional attributes (e.g., size or speed). The provisioning component can then provision the requested data warehouse instance, including the data warehouse's client schema, and populate the data warehouse instance with the appropriate information provided by the client.

[0080] According to embodiments, the supply component can also be used, for example, to update or edit data warehouse instances and / or ETL processes operating at the data plane by changing or updating the request frequency of ETL processes running for a specific customer (tenant).

[0081] According to an embodiment, the supply component may further include a supply application programming interface (API) 112, multiple workers 115, a metering manager 116, and a data plane API 118, as further described below. When commands, instructions, or other input are received at the console interface, the console interface may communicate with the supply API, for example, by making API calls, to supply services within a SaaS environment or to make configuration changes to the supplied services.

[0082] According to an embodiment, the data plane API can communicate with the data plane.

[0083] For example, according to an embodiment, changes to the provisioning and configuration of services provided by the data plane can be transmitted to the data plane via the data plane API.

[0084] According to an embodiment, the metering manager may include various functions that measure the usage of services supplied through the control plane.

[0085] For example, according to an embodiment, for billing purposes, the metering manager can record the usage of processors supplied via the control plane over time for a specific customer (tenant). Similarly, for billing purposes, the metering manager can record the amount of storage space in a data warehouse partitioned for use by customers in a SaaS environment.

[0086] According to an embodiment, the data plane may include a data pipeline or processing layer 120 and a data transformation layer 134, which together process operational or transactional data from an organization's enterprise software applications or data environment (such as, for example, business productivity software applications delivered in a customer's (tenant's) SaaS environment). The data pipeline or processing may include various functions that can extract transactional data from business applications and databases delivered in the SaaS environment and then load the transformed data into a data warehouse.

[0087] According to an embodiment, the data transformation layer may include a data model used by the system to transform transactional data received from business applications and corresponding transactional databases provided in a SaaS environment into a model format that can be understood by the analytics application environment, such as, for example, a knowledge model (KM) or other types of data models. The model format can be provided in any data format suitable for storage in a data warehouse.

[0088] According to an embodiment, the data pipeline or processing provided by the data plane may include a monitoring component 122, a data storage component 124, a data quality component 126, and a data projection component 128, as further described below.

[0089] According to an embodiment, the data transformation layer may include a dimension generation component 136, a fact generation component 138, and an aggregation generation component 140, as further described below. The data plane may also include a data and configuration user interface 130, and a mapping and configuration database 132.

[0090] According to an embodiment, the data warehouse may include a default analytics application mode (referred to herein as analytics warehouse mode in some embodiments) 162, and for each customer (tenant) of the system, a customer mode may be included, as described above.

[0091] According to an embodiment, the data plane is responsible for performing extract, transform, and load (ETL) operations, including extracting transactional data from an organization’s enterprise software applications or data environment (such as, for example, business productivity software applications and corresponding transactional databases delivered in a SaaS environment), transforming the extracted data into a model format, and loading the transformed data into the client schema of the data warehouse.

[0092] For example, according to an embodiment, each customer (tenant) in the environment can be associated with its own customer lease within a data warehouse, which is associated with its own customer schema; and can additionally be provided with read-only access to an analytics application schema that can be updated periodically or otherwise by a data pipeline or process (e.g., ETL processing).

[0093] According to an embodiment, in order to support multiple tenants, the system can enable the use of multiple data warehouses or data warehouse instances.

[0094] For example, according to an embodiment, a first warehouse customer lease for a first tenant may include a first database instance, a first staging area, and a first data warehouse instance among multiple data warehouses or data warehouse instances; while a second customer lease for a second tenant may include a second database instance, a second staging area, and a second data warehouse instance among multiple data warehouses or data warehouse instances.

[0095] According to an embodiment, data pipelines or processes can be scheduled to execute at intervals (e.g., hourly / daily / weekly) to extract transactional data from enterprise software applications or data environments (such as, for example, business productivity software applications and corresponding transactional databases 106 provided in a SaaS environment).

[0096] According to an embodiment, extraction process 108 can extract transaction data, wherein after extraction, the data pipeline or process can insert the extracted data into a data staging area, which can serve as a temporary storage area for the extracted data. Data quality components and data protection components can be used to ensure the integrity of the extracted data.

[0097] For example, according to an embodiment, when data is temporarily held in a data staging area, the data quality component can perform verification on the extracted data.

[0098] According to an embodiment, when the extraction process has completed its extraction, the data transformation layer can be used to start transformation processing to transform the extracted data into a model format for loading into the client schema of the data warehouse.

[0099] As described above, according to embodiments, data pipelines or processing can operate in conjunction with a data transformation layer to transform data into a model format. A mapping and configuration database can store metadata and data mappings that define the data model used by the data transformation. A data and configuration user interface (UI) can facilitate access to and modification of the mapping and configuration database.

[0100] According to an embodiment, based on a data model defined in a mapping and configuration database, the monitoring component can determine the dependencies of several different datasets to be transformed. Based on the determined dependencies, the monitoring component can determine which of the several different datasets should be transformed into the model format first.

[0101] For example, according to an embodiment, if the first model dataset does not contain dependencies on any other model dataset, and the second model dataset does contain dependencies on the first model dataset, then the monitoring component can determine to transform the first dataset to accommodate the second dataset's dependency on the first dataset before transforming the second dataset.

[0102] According to an embodiment, the data transformation layer can, for example, transform extracted data into a format suitable for loading into a client schema in a data warehouse, based on the data model described above. During the transformation, the data transformation may appropriately perform dimension generation, fact generation, and aggregation generation. Dimension generation may include generating dimensions or fields for loading into the data warehouse instance.

[0103] For example, according to an embodiment, dimensions may include data categories such as "name," "address," or "age." Fact generation includes the generation of values ​​or "measures" that the data can take. Facts are associated with appropriate dimensions in the data warehouse instance. Aggregate generation includes creating a data map that computes aggregates of transformed data to existing data in the customer schema 164 of the data warehouse instance.

[0104] According to the implementation, once any transformation is in place (as defined by the data model), the data pipeline or processing can read the source data, apply the transformation, and then push the data to the data warehouse instance.

[0105] According to the embodiments, data transformations can be expressed using rules, and once a transformation occurs, values ​​can be maintained in an intermediate staging area. Data quality and data projection components can verify and check the integrity of the transformed data before it is uploaded to the client schema at the data warehouse instance. Monitoring can be provided, for example, at multiple compute instances or virtual machines during the extraction, transformation, and loading processes. Dependencies can also be maintained during extraction, transformation, and loading processes, and data pipelines or processes can participate in such ordering decisions.

[0106] According to an embodiment, after transforming the extracted data, the data pipeline or processing can execute a warehouse loading process 150 to load the transformed data into the client schema of the data warehouse instance. After loading the transformed data into the client schema, the transformed data can be analyzed and used for various additional business intelligence processing.

[0107] Horizontally and vertically integrated business software applications typically involve real-time data capture. This is a consequence of horizontally and vertically integrated business software applications often being used in daily workflows and storing data in transactional databases, meaning that typically only the most recent data is stored in such databases.

[0108] For example, while an HCM application might update the records associated with an employee when they move offices, it typically doesn't maintain records for every office that employee has worked in during their tenure with the company. Therefore, BI-related queries attempting to determine employee mobility within the company will lack sufficient records in the transactional database to complete such queries.

[0109] According to an embodiment, in a context easily understood by BI applications, storing historical data in addition to current data generated by horizontally and vertically integrated business software applications, such as data warehouse instances populated using the techniques described above, provides BI applications with resources to process such queries using interfaces provided, for example, by business productivity and analytics product suites or by SQL tools of customer choice.

[0110] Figure 2 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0111] like Figure 2 As shown, according to an embodiment, using the data pipeline processing described above, data may originate from, for example, a customer's (tenant's) enterprise software application or data environment (106); or as custom data 109 originating from one or more customer-specific applications 107; and be loaded into a data warehouse instance, including, in some examples, using object storage device 105 to store the data.

[0112] According to an embodiment, the data pipeline or processing maintains an analytics application pattern for each customer (tenant), such as a star schema, which is updated periodically or otherwise by the system based on best practices for specific analytics use cases (such as human capital management (HCM) analytics or enterprise resource planning (ERP) analytics).

[0113] According to an embodiment, for each customer (tenant), the system pre-populates the customer's data warehouse instance within the analytics application environment (cloud) lease 114 using an analytics application model maintained and updated by the system, based on analysis of data within the customer's enterprise application environment and within customer lease 117. Thus, the system-maintained analytics application model enables data to be retrieved from the customer's environment via data pipelines or processing and loaded into the customer's data warehouse instance in "real-time".

[0114] According to an embodiment, the analytics application environment also provides each client of the environment with a client schema that is easily modified by the client and allows the client to supplement and utilize data within their own data warehouse instance. For each client of the analytics application environment, their resulting data warehouse instance is operated as a database, the contents of which are partially controlled by the client and partially controlled by the analytics application environment (system); including their database behavior being pre-populated with appropriate data already retrieved from their enterprise application environment to address various analytics use cases, such as HCM analytics or ERP analytics.

[0115] For example, according to an embodiment, a data warehouse (e.g., Oracle Autonomous Data Warehouse, ADWC) may include analytical application schemas, and for each customer / tenant, these include customer schemas derived from their enterprise software applications or data environment. Data supplied in a data warehouse lease (e.g., an ADWC lease) is accessible only to that tenant; while simultaneously allowing access to various features of the shared analytical application environment, such as ETL-related features or other features.

[0116] According to an embodiment, in order to support multiple customers / tenants, the system enables the use of multiple data warehouse instances; wherein, for example, a first customer lease may include a first database instance, a first staging area, and a first data warehouse instance; and a second customer lease may include a second database instance, a second staging area, and a second data warehouse instance.

[0117] According to an embodiment, for a specific customer / tenant, after extracting their data, a data pipeline or process can insert the extracted data into the tenant's data staging area, which can act as a temporary storage area for the extracted data. Data quality components and data protection components can be used to ensure the integrity of the extracted data; for example, by performing validation on the extracted data while it is temporarily held in the data staging area. When the extraction process completes its extraction, a data transformation layer can be used to initiate transformation processing, transforming the extracted data into a model format for loading into the customer schema of the data warehouse.

[0118] Figure 3 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0119] like Figure 3 As shown, according to an embodiment, the data pipeline processing described above is used to process data extracted from, for example, a customer's (tenant's) enterprise software application or data environment; or as custom data originating from one or more customer-specific applications; and to load data into a data warehouse instance or refresh data in a data warehouse. This typically involves three main phases performed by ETP service 160 or processing (including one or more extraction services 163, transformation services 165, and loading / publishing services 167 performed by one or more compute instances 170).

[0120] Extraction: According to an embodiment, the list of view objects to be extracted can be submitted to the Oracle BI Cloud Connector (BICC) component, for example, via a ReST call. The extracted files can be uploaded to an object storage component, such as, for example, the Oracle Storage Service (OSS) component, for storing the data.

[0121] Transformation: According to an embodiment, the transformation process retrieves data files from an object storage component (e.g., OSS) and applies business logic while loading the data files into a target data warehouse (e.g., an ADWC database) located inside the data pipeline or process and not exposed to the client (tenant).

[0122] Loading / Publishing: According to the embodiments, the loading / publishing service or process retrieves data from, for example, an ADWC database or warehouse and publishes it to a data warehouse instance that is accessible to customers (tenants).

[0123] Figure 4 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0124] The operation of a system with multiple tenants (clients) according to an embodiment is illustrated. Figure 4 As shown, using the data pipeline processing described above, data can originate from, for example, each of multiple customer (tenant) enterprise software applications or data environments; and be loaded into a data warehouse instance.

[0125] According to the embodiments, the data pipeline or processing is maintained for each of multiple customers (tenants) (e.g., customer A180, customer B182) in an analytics application pattern that is updated periodically or otherwise by the system based on best practices for specific analytics use cases.

[0126] According to an embodiment, for each of a plurality of customers (e.g., customers A and B), the system uses analytics application modes 162A and 162B, which are maintained and updated by the system, to prepopulate the customer’s data warehouse instance based on the analysis of data within the customer’s enterprise application environment 106A and 106B and within each customer’s lease (e.g., customer A lease 181 and customer B lease 183); such that data is retrieved from the customer’s environment through data pipelines or processing and loaded into the customer’s data warehouse instance 160A and 160B.

[0127] According to the embodiments, the analysis application environment also provides each of the multiple customers in the environment with a customer schema that is easy to modify by the customer and allows the customer to supplement and utilize the data within its own data warehouse instance (e.g., Customer A schema 164A, Customer B schema 164B).

[0128] As described above, according to the embodiment, for each of the multiple customers in the analytics application environment, the resulting data warehouse instance is used as a database operation, the content of which is partially controlled by the customer and partially controlled by the analytics application environment (system); including its database behavior being pre-populated with appropriate data retrieved from its enterprise application environment to handle various analytics use cases. Once the extraction processes 108A and 108B for a specific customer have completed their extraction, a data transformation layer can be used to begin transformation processing to transform the extracted data into a model format for loading into the customer schema of the data warehouse.

[0129] Figure 5 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0130] According to an embodiment, activation plan 186 can be used to control the operation of data pipelines or processing services for customers in specific functional areas to address the specific needs of that customer (tenant).

[0131] For example, according to an embodiment, an activation plan can define multiple extraction, transformation, and loading (publishing) services or steps that run in a specific order, at a specific time of day, and within a specific time window.

[0132] According to an embodiment, each customer may be associated with its own activation plan(s). For example, the activation plan of the first customer A may determine the tables to be retrieved from the customer's enterprise software application environment (e.g., its converged application environment) or how to run services and their processing in sequence; while the activation plan of the second customer B may similarly determine the tables to be retrieved from the customer's enterprise software application environment or how to run services and their processing in sequence.

[0133] According to an embodiment, activation plans can be stored in a mapping and configuration database and can be customized by customers via a data and configuration UI. Each customer can have multiple activation plans. Compute instances / services (virtual machines) that perform ETL processing for various customers according to their activation plans can be dedicated to specific services to use the activation plan and then released for use by other services and activation plans.

[0134] According to an embodiment, based on the determination of historical performance data recorded over a period of time, the system can optimize the execution of activation plans, for example, for one or more functional areas associated with a specific tenant, or across a series of activation plans associated with multiple tenants, to address these tenants' utilization of VMs and service level agreements (SLAs). Such historical data may include statistics on load volume and load time.

[0135] For example, according to embodiments, historical data may include extract size, extract count, extract time, repository size, transformation time, publish (load) time, view object extract size, view object extract record count, view object extract time, repository table count, record count for table processing, repository table transformation time, publish table count, and publish time. Such historical data can be used to estimate and plan current and future activation plans to organize various tasks, such as, for example, running sequentially or in parallel, to achieve a minimum time to run the activation plan. Furthermore, the collected historical data can be used to optimize multiple activation plans across tenants. In some embodiments, optimization of activation plans (i.e., specific job sequences, such as ETL) based on historical data can be automatic.

[0136] Figure 6 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0137] like Figure 6As shown, according to an embodiment, the system enables data controlled by a data configuration / management / ETL / / state service 190 within a lease managed by (e.g., Oracle) to flow from each customer’s enterprise software application environment (e.g., its converged application environment) (in this example, including the BICC component) via a storage cloud service 192 (e.g., OSS) and from there to a data warehouse instance.

[0138] As described above, according to the embodiment, the flow of data can be managed by one or more services (including, for example, the extraction service and transformation service as described above) and with reference to ETL repository 193, which retrieves data from storage cloud services and loads the data into an internal target data warehouse (e.g., ADWC database) 194 that is inside the data pipeline or processing and not exposed to customers.

[0139] According to the embodiment, data is moved to the data warehouse in stages, and then to the database table change log 195, from where the loading / publishing service can load customer data into the target data warehouse instance that is associated with the customer and accessible to the customer within its customer lease.

[0140] Figure 7 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0141] According to the embodiments, extracting, transforming and loading data from enterprise applications into a data warehouse instance involves multiple stages, and each stage may have several sequential or parallel jobs; and they run on different spaces / hardware, including different temporary storage areas 196, 198 for each customer.

[0142] Figure 8 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0143] like Figure 8 As shown, according to an embodiment, the metering manager may include the functionality to meter the services supplied by the control plane and the usage of the services, and to provide a metering 142 of the supply.

[0144] For example, for billing purposes, the meter manager can record the usage of processors supplied to a specific customer via the control plane over a period of time. Similarly, for billing purposes, the meter manager can record the amount of storage space in a data warehouse partitioned for use by customers in a SaaS environment.

[0145] Figure 9 A system for providing an analytical application environment according to an embodiment is further illustrated.

[0146] like Figure 9As shown, according to an embodiment, in addition to data originating from, for example, a customer's enterprise software applications or data environment, which can be processed using the data pipeline as described above, one or more additional custom data 109A, 109B originating from one or more customer-specific applications 107A, 107B can also be extracted, transformed, and loaded into the data warehouse instance using any of the following: data pipeline processing as described above, in some examples including using object storage to store the data; and / or custom ETL or other processing 144 that is variable from the customer's perspective. Once the data is loaded into its data warehouse instance, the customer can create a business database view that merges tables from its customer schema and software analytics application schema; and can query its data warehouse instance using interfaces provided, for example, by a business productivity and analytics product suite or by an SQL tool of the customer's choice.

[0147] Figure 10 The illustration shows a flowchart of a method for providing an analysis application environment according to an embodiment.

[0148] like Figure 10 As shown, according to an embodiment, at step 200, the analytics application environment provides multiple tenants with access to a data warehouse used to store data, wherein the data warehouse is associated with an analytics application pattern.

[0149] At step 202, each of the multiple tenants is associated with a customer lease and the customer schema used by that tenant when populating the data warehouse instance.

[0150] At step 204, an instance of the data warehouse is populated with data received from an enterprise software application or data environment, wherein data associated with a specific tenant of the analytics application environment is provisioned in a data warehouse instance associated with and accessible to that specific tenant based on analytics application patterns and customer patterns associated with that specific tenant.

[0151] Scalability and Customization

[0152] Different clients of data analytics environments may have different requirements regarding how to classify, aggregate, or transform their data, for the purpose of providing data analytics or business intelligence data or developing software analytics applications.

[0153] According to an embodiment, to support these different requirements, the system may include a semantic layer that enables the use of custom semantic extensions to extend the semantic data model (semantic model) and provides custom content at the presentation layer. An extension wizard or development environment can guide users to extend or customize the semantic model using custom semantic extensions by defining branches and steps, and then bring the extended or customized semantic model to the production environment.

[0154] According to various embodiments, the technical advantages of the described methods include support for additional types of data sources. For example, a user can perform data analysis based on a combination of ERP data derived from a first vendor's products and HCM data derived from a second, different vendor's products; or based on a combination of data received from multiple data sources with different regulatory requirements. User-defined extensions or customizations can tolerate patching, updates, or other changes to the underlying system.

[0155] Figure 11 The illustration depicts a system, according to an embodiment, for supporting scalability and customization in analytics application environments.

[0156] According to an embodiment, the semantic layer may include data that defines a semantic model of customer data; this is useful in helping users understand and access the data using generally understood business terminology. The semantic layer may include a physical layer that maps to a physical data model or data plane; a logical layer that operates as a mapping or transformation layer in which computations can be defined; and a presentation layer that enables users to access the data as content.

[0157] like Figure 11 As shown, according to an embodiment, semantic layer 230 may include a packaged (out-of-the-box), initial semantic model 232 that can be used to provide packaged content 234. For example, a system may use ETL or other data pipelines or processes as described above to load data from a customer's enterprise software application or data environment into a data warehouse instance, wherein the packaged semantic model can be used to provide the packaged content to the presentation layer.

[0158] According to an embodiment, the semantic layer may also be associated with one or more semantic extensions 236, which may be used to extend the packaged semantic model and provide custom content 238 to the presentation layer 240.

[0159] According to an embodiment, the presentation layer can enable access to data content using, for example, software analytics applications, user interfaces, dashboards, key performance indicators (KPIs) 242; or other types of reports or interfaces provided by products such as Oracle Analytics Cloud or Oracle Analytics for Applications.

[0160] According to the embodiments, in addition to using ETL or other data pipelines or processing data originating from the customer's environment as described above, various data models or scenarios that provide further opportunities for scalability and customization can also be used to load customer data into the data warehouse instance.

[0161] Wizard-based scalability

[0162] According to an embodiment, the system provides a wizard-based approach to capture what a user wants to do with a semantic model in a series of steps, then create a rule set (e.g., as an RPD) for the user, which is then used to extend the semantic model. For example, the wizard can present out-of-the-box representations of certain dimensions or facts specified by the semantic model, which the user can then modify.

[0163] For the purpose of providing data analytics or business intelligence data, or developing software analytics applications, different customers in a data analytics environment may have different requirements regarding how their data is classified, aggregated, or transformed.

[0164] According to embodiments, to support these different needs, the system may include a semantic layer that enables the use of custom semantic extensions to extend the semantic data model (semantic model) and provides custom content at the presentation layer. An extension wizard or development environment can guide users to extend or customize the semantic model using custom semantic extensions through branching and extension definitions, and then bring the extended or customized semantic model to the production environment.

[0165] Figure 12 Further illustrations demonstrate the scalability and customization in the analytics application environment according to the embodiments.

[0166] like Figure 12 As shown, according to an embodiment, a user or other entity (e.g., an analytics cloud provider or a system provider) can use one or more custom semantic extensions to extend or customize the semantic model 250, which the system can then use to provide custom content to the presentation layer.

[0167] For example, according to an embodiment, a user can use a client (computer) device 252 having device hardware 254 and user interface 256 to interact with or otherwise operate an extension wizard 258 or software development components that guide the user to customize and use custom semantic extensions.

[0168] According to an embodiment, users can edit or create new custom branches 260 to extend or customize the semantic model. The selection of a branch provides the user with an instance of the semantic model to work with and incorporates their specific customization or extension. Each branch operates as an atomic unit of work and can include one or more customization steps associated with the customization type and corresponding extension. The extension wizard can be data-aware and provide a preview of the underlying data when customizing a branch. For example, when a user specifies a particular branch to customize, the extension wizard can present a sample data table for the user to review; and then guide the user through the customization (e.g., definitions or aggregations used with the data). Different types of branches can be associated with different extension wizards.

[0169] like Figure 12 As further shown in the embodiment, the extension wizard can guide the user to perform actions 261 to edit / add one or more customized steps 262, select a customization type 263, and complete / populate the appropriate extension wizard 264. At each step, the extension wizard can present the user with one or more wizard screens for review or completion; the wizard screens may differ depending on the type of extension. After successfully completing a step, the user can test their customization of the branch, add more steps, or apply 265 their changes. The customized branch can then be merged 266 into the (main) semantic model.

[0170] like Figure 12 As further shown in the embodiments, the system can publish (267) and / or promote (268) changes to the semantic model, for example, as an Oracle BI repository (RPD) file or other types of files or metadata.

[0171] According to an example, such as in an Oracle environment, a semantic model can be defined as a BI repository (RPD) file that has metadata defining logical schemas, physical schemas, physical-to-logical mappings, aggregate table navigation, and / or other constructs in terms of various physical layers, business models and mapping layers, and presentation layers that implement the semantic model.

[0172] According to the embodiments, customers can, for example, modify their data source model to support their specific needs by adding custom facts or dimensions associated with data stored in their data warehouse instance; and the system can extend the semantic model accordingly.

[0173] For example, according to an embodiment, the system can use semantic model extension processing to programmatically introspect customer data and identify custom facts, custom dimensions, or other customizations or extensions that have been made to the data source model, and then use appropriate processes to automatically modify or extend the semantic model to support those customizations or extensions.

[0174] Multi-user support

[0175] According to another embodiment, multiple users working on the semantic model can operate on different topic areas. The multi-user development environment allows multiple users to work on different branches or extensions of the semantic model. Once each branch or extension is complete, the system compares any changes to the overall model and determines if any conflicts exist. If appropriate, locks and queues are used to evaluate which branches or extensions to include in the final model.

[0176] Within a typical enterprise organization, there may be many users responsible for developing software analytics applications or generating data analytics or business intelligence data. To support this, according to an embodiment, the system enables multiple users to work simultaneously to develop extensions or customizations to the semantic model, where changes are ultimately incorporated into the (master) semantic model.

[0177] Figures 13-16 The illustration shows support for multiple users in a customized or extended analytics application environment according to an embodiment.

[0178] like Figures 13-16 As shown, according to an embodiment, each of the multiple user ADs can work on an instance of the semantic model using one or more custom semantic extensions as described above, to provide modifications 282, 284, 286, 288 as extensions or customizations to the semantic model.

[0179] For example, such as Figure 13 As shown in the example, according to the embodiment, as each user completes their customization, they can incorporate their customization into the (master) semantic model. For example, the first user A might want to create new branches related to the profitability of the customized financial application general ledger (GL), including adding a regional dimension (step 1); expanding the cost center dimension (step 2); defining a geographic hierarchy (step 3); and adding travel expense calculations (step 4). User A's customization can then be applied and incorporated into the (master) semantic model.

[0180] like Figure 14 As shown, according to an embodiment, a second user B might want to create a new branch related to customized GL detailed transactions, including adding a geographic dimension (step 1); and adding initial balance calculation (step 2); while a third user C might want to create a new branch related to customized GL balance tables, including adding a location dimension (step 1); adding cash on hand calculation (step 2); and creating a GL summary topic area (layout 3). Customizations provided by each of users B and C can be similarly applied and incorporated into the (main) semantic model.

[0181] like Figure 15 As shown, according to an embodiment, each user in a plurality of user ADs can work on an instance of the semantic model using one or more custom semantic extensions as described above, to provide modifications as extensions or customizations to the semantic model.

[0182] like Figure 16As shown, according to an embodiment, the system can support different versions of the semantic model, including determining whether the semantic model is ready to be deployed to a production environment. For example, while each of the aforementioned users is developing a customization for an initial version (v1.0) of the semantic model, a fourth user D can begin working on a new branch or extension for a new version (v1.1) of the semantic model, including, for example, adding a strategic supplier dimension or expanding the regional dimension.

[0183] According to an embodiment, the system can control changes to the definition of the semantic model used when creating a report (e.g., changes to the definition of revenue) to ensure accurate generation of business intelligence data. For example, according to an embodiment, the system can ensure that semantic model extensions are initially permitted only in the development / testing environment and not in the production environment until an administrator can promote those customizations to the production environment in a controlled manner.

[0184] According to an embodiment, an administrator can use a client (computer) device with an administrator interface 290 to control the enhancement of any user-developed customizations of the semantic model to the production environment.

[0185] The advantages of the described method include that user-defined extensions or customizations can tolerate patching, updates, or other changes to the underlying system. If immutable aspects of the semantic model are patched or updated, then the customizations provided as semantic extensions are preserved. The system can automatically replay extensions after patching or updating. If an extension fails due to changes to the underlying semantic model, the administrator can evaluate the changes and iterate through possible fixes. Potential conflicts can be handled gracefully, and the administrator can be notified appropriately if it is not possible to fully apply all extensions.

[0186] Hierarchical Approach to Semantic Model Construction

[0187] According to another embodiment, a hierarchical approach is used to perform customization of the out-of-the-box semantic model, where the factory code for the semantic model remains unchanged, and client-editable changes / increments occur at a higher level of that model, allowing changes to be patched / undone as needed. To support the construction and storage of the semantic model, the system may include support for hierarchical namespaces.

[0188] Figure 17 The illustration shows a hierarchical approach to constructing a semantic model according to an embodiment.

[0189] like Figure 17As shown, according to an embodiment, each modification from the initial version or main branch 291, provided by the user as they work on an instance of the semantic model and / or by other entities such as an analytics cloud provider or a system provider, can be used to produce customizations or extensions to the semantic model, such as, for example, a factory model (a factory version of the model) 292, a system extension 294, a user extension 296, or a security extension 298.

[0190] According to embodiments, a semantic model can be defined and stored, for example as an Oracle BI repository (RPD) file or other types of files or metadata, and changes to the semantic model can be provided as artifacts in the form of XML files indicating those changes.

[0191] Figure 18 The hierarchical approach to constructing the semantic model according to the embodiment is further illustrated.

[0192] like Figure 18 As shown in the example, according to the embodiment, customization or extension of the semantic model can be performed incrementally by submitting.

[0193] For example, when an analytics cloud provider (e.g., Oracle) makes changes to the semantic model, those changes can be documented (committed) to the appropriate layer or namespace of the semantic model. Similarly, when a system provider makes changes to the semantic model, the changes made by the system provider can be documented (committed) to the appropriate layer or namespace of the semantic model, while also taking into account the changes made by the analytics cloud provider.

[0194] Figure 19 The illustration shows the use of layered extensions in an analytics application environment according to an embodiment.

[0195] like Figure 19 As shown, according to an embodiment, the system can support scalability and the creation and management of extensions based on version-controlled artifacts representing multiple hierarchical extension layers. Version control can be performed independently on each of the multiple extension artifacts within each extension layer. The system can also support separate ownership of each extension layer.

[0196] As described above, according to the embodiments, users or other entities (e.g., analytics cloud providers or system providers) can use one or more custom semantic extensions to extend or customize the semantic model, which can then be used by the system to provide custom content to the presentation layer.

[0197] For example, users can interact with or otherwise manipulate extension wizards or software development components that guide them in customizing and using semantic extensions to extend or customize the semantic model. The semantic layer can also be associated with one or more semantic extensions provided by a cloud provider, system provider, or other user. These extensions can be used to extend the packaged semantic model and provide custom content to the presentation layer.

[0198] According to embodiments, various methods can be provided for version control of namespaces representing hierarchical layers and multi-layered artifacts representing changes to semantic models. For example, if the artifact is provided as an XML file, the XML can be broken down into several regions, such as three regions; and each layer, such as the cloud provider, system provider, and user layer, can have one-third of the regions. Within each layer, changes can be performed incrementally through commits. The system can support the use of multiple regions and layers (i.e., it does not need to be a 1:1 relationship).

[0199] like Figure 19 As shown in the example, when the analytics cloud provider (e.g., Oracle) makes changes to the semantic model, the changes can be recorded as "Incremental Commit X1" in the appropriate area (Tier 1) of the hierarchical namespace.

[0200] like Figure 19 As further shown in the example, when the system provider makes changes to the semantic model, since the semantic model has been modified by the changes (∑X) introduced by the analytics cloud provider as described above, the changes made by the system provider are recorded as changes made by the system provider and changes made by the analytics cloud provider in the appropriate area (layer 2) of the hierarchical namespace as "incremental commit ∑X+Y1".

[0201] Figure 20 The use of layered extensions according to embodiments in an analytics application environment is further illustrated.

[0202] like Figure 20 As shown in the example, when the analytics cloud provider makes another change to the semantic model, the subsequent change can be recorded as a change to the semantic model by the analytics cloud provider in the appropriate area (layer 1) of the hierarchical namespace as "Incremental Commit X2".

[0203] like Figure 20As further shown in the example, when the system provider makes another change to the semantic model, since the semantic model has been modified by the change (∑X) introduced by the analytics cloud provider as described above, the subsequent changes made by the system provider are recorded as changes made by the system provider and each change made by the analytics cloud provider in the appropriate area (layer 2) of the hierarchical namespace as "incremental commit ∑X+Y2".

[0204] Figure 21 The illustration further illustrates the use of hierarchical extensions in analytical application environments.

[0205] like Figure 21 As shown in the example, when the analytics cloud provider makes another change to the semantic model, the subsequent change can also be recorded as an incremental commit X3 in the appropriate area (layer 1) of the hierarchical namespace.

[0206] like Figure 21 As further shown in the example, when the system provider makes another change to the semantic model, since the semantic model has been modified by the changes (∑X) introduced by the analytics cloud provider as described above, the subsequent changes made by the system provider are recorded as changes made by the system provider and each change made by the analytics cloud provider in the appropriate area (layer 2) of the hierarchical namespace as "incremental commit ∑X+Y3".

[0207] Similarly, such as Figure 21 As shown in the example, when a user makes changes to the semantic model, since the semantic model has been modified by the changes introduced by the analytics cloud provider (∑X), and subsequently by the system provider (∑XY), the subsequent changes made by the user are recorded as changes made by the user and each change made by the analytics cloud provider and the system provider in the appropriate area (layer 3) of the hierarchical namespace as "incremental commit ∑X+∑Y+Z1".

[0208] For additional changes to the semantic model made by the analytics cloud provider, system provider, or other users, the process can continue or be repeated, for example, recording the additional changes as "incremental commit ∑X+∑Y+Z2"; "incremental commit ∑X+∑Y+Z3", etc.

[0209] The advantages of this method include that the defined extensions can tolerate patching, updating, or other changes to the underlying system. If the immutable aspects of the semantic model are patched or updated, then the semantic extensions can be preserved or, where appropriate, reversed.

[0210] Figure 22 The illustration shows the process of using hierarchical extensions in an analytical application environment according to an embodiment.

[0211] like Figure 22 As shown, according to an embodiment, at step 312, a computer system is provided, which has computer hardware (e.g., processor, memory) and provides access to a database or data warehouse, an analytical application environment suitable for providing data analysis in response to requests.

[0212] At step 314, the system provides a semantic layer that enables semantic extensions to extend the semantic data model (semantic model) to provide data analysis as custom content at the presentation layer.

[0213] At step 316, the system combines the semantic model to define the changes to the semantic model by semantic extensions as a series of submitted hierarchical extension layers.

[0214] At step 318, the system responds to the request by retrieving data from the database or data warehouse, processes the data according to the semantic model extended by semantic extension, and provides the data as custom content to the presentation layer.

[0215] Segmented query model and merging

[0216] According to another embodiment, the system enables the use of a segmented query model—when the semantic model is customized, the system can dynamically incorporate changes from various incremental changes at runtime to dynamically reveal appropriate data based on the extended semantic model.

[0217] Figure 23 The illustration shows the use of the segmented query model according to an embodiment.

[0218] like Figure 23 As shown, the system can use caching and merging strategies for nested composite models that are extended and hierarchically structured by multiple owners. This method can be used for non-binary model artifacts, including, for example, flattening maps 270 that flatten composite models into key-value pairs. The data structure can then be cached in memory. Keys capture nesting using simple delimiters. Values ​​can be of various finite types, such as lists, maps, or simple types; and the merging strategy can be data structure-specific.

[0219] For example, depending on the type, different strategies may include, according to an embodiment:

[0220] List: For this type, the strategy can include looping through all layers (layer 1 to layer n) and, for each matching key, getting the value and appending it.

[0221] Mapping: For this type, the strategy could include looping through all layers (layer 1 to layer n) and, for each matching key, retrieving the value and adding it to the map. For overlapping keys, the value in the higher layer will overwrite the value in the lower layer.

[0222] String / Date Boolean values: For this type, the strategy can include looping from higher to lower levels (level n to level 1) and checking for the existence of the key; if found, it is returned. Here, key matching in higher levels takes precedence over lower levels.

[0223] According to the embodiments, the various advantages of the described method include: even if multiple layers of data are stored on disk, runtime queries can be much faster because they can be executed directly on the cached keys. Results at all layers can be merged with the strategy described above based on a simple data structure.

[0224] For example, such as Figure 23 The example illustrates a composite model of employee data, including Employee->Name; Employee->Aliases; Employee->DateOfJoining; Employee->Address->Street; Employee->Address->Pincode.

[0225] According to an embodiment, the composite model can be flattened into multiple key-value pairs, each with a key, type, and data. This data structure can then be cached in memory as the underlying representation and used to access data in the database in response to queries. When a query is generated at runtime, the system can dynamically merge changes from the underlying model based on an extended semantic model to reveal the appropriate data.

[0226] Figure 24 The use of the segmented query model according to the embodiment is further illustrated.

[0227] like Figure 24 As further illustrated in the example, when changes are introduced into the model—in this example, supplementing the employee definition to include date of birth—the changes can be saved as incremental changes to a flattened mapping along with multiple key-value pairs. The modified data structure can also be cached in memory. When queries are generated at runtime, the system can dynamically combine the changes and increments from the underlying model to reveal the appropriate data based on the expanded semantic model.

[0228] Figure 25 The use of the segmented query model according to the embodiment is further illustrated.

[0229] like Figure 25As further illustrated in the example, when further changes are introduced into the model—in this example, modifying or overwriting employee data to reflect different join dates—the changes can be saved as another increment to the flattened mapping, along with multiple key-value pairs. The modified data structure can also be cached in memory. When generating queries at runtime, the system can dynamically combine the changes from the base and the two increments to reveal the appropriate data based on the extended semantic model.

[0230] Figure 26 The illustration shows the processing using a segmented query model according to an embodiment.

[0231] like Figure 26 As shown, according to an embodiment, at step 322, a computer system is provided, which has computer hardware (e.g., processor, memory) and provides access to a database or data warehouse, an analytical application environment suitable for providing data analysis in response to requests.

[0232] At step 324, the system provides a semantic layer that enables semantic extensions to extend the semantic data model (semantic model) to provide data analysis as custom content at the presentation layer, wherein the semantic model includes multiple hierarchical extension layers that define the changes made by the semantic extensions to the semantic model.

[0233] At step 326, the changes are saved as an increment to the flattened mapping and multiple key-value pairs, and the modified data structure can then be cached in memory.

[0234] At step 328, the system responds to the request by retrieving data from a database or data warehouse, including generating queries at runtime and dynamically incorporating changes from the underlying semantic model plus increments to expose data based on an extended semantic model.

[0235] Semantic model action replay

[0236] According to another embodiment, when customizing the semantic model, the system allows changes to the semantic model to be stored as sets of actions, rather than as changed states. This allows the system to replay changes on the factory model to return to the desired final state, just as operating system updates do not affect the underlying settings.

[0237] According to embodiments, the system can support replaying changes on an evolving basis. When customizing the semantic model, the system allows changes to the semantic model to be stored as sets of actions, rather than changes to the state. This allows the system to replay changes on the original / factory model to return to the desired final state, just as operating system updates do not affect the underlying settings.

[0238] Figure 27The illustration shows the use of an action replay set according to an embodiment to provide scalability.

[0239] like Figure 27 As shown, according to an embodiment, the system may include interconnected variable layers (e.g., security, system extensions, or user extensions). Changes made by the user to each layer can be captured as an action replay set 300 of replayable actions. A change in one layer may affect the operation of another layer, thus triggering a replay of the change from the dependency point. Action chains and layer dependencies can be monitored. When any part of the dependency tree changes, the system can replay the action chain to restore the original changed state.

[0240] For example, such as Figure 27 As shown in the example, changes made by a user using the R1 role to protect facts; or R1 role configurations; can be captured as action replays or a collection of replayable actions.

[0241] Figure 28 The illustration further illustrates the use of action replay sets according to an embodiment to provide scalability.

[0242] like Figure 28 As further illustrated in the example, in this example, changes to the semantic model introduced by the analytics cloud provider (e.g., Oracle) to add responsibility roles may have undesirable effects on changes to the semantic model made by users.

[0243] Figure 29 The illustration further illustrates the use of action replay sets according to an embodiment to provide scalability.

[0244] like Figure 29 As further shown in the example, changes to the responsibility role introduced by the analytics cloud provider into the semantic model can be used to trigger the replay of changes previously made by the user, in this example, using the R1 role to protect facts; or the R1 role configuration;

[0245] Figure 30 The illustration shows the process of replaying semantic model actions in an analytics application environment according to an embodiment.

[0246] like Figure 30 As shown, according to an embodiment, at step 332, a computer system is provided, which has computer hardware (e.g., processor, memory) and provides access to a database or data warehouse, an analytical application environment suitable for providing data analysis in response to requests.

[0247] At step 334, the system provides a semantic layer that enables semantic extensions to extend the semantic data model (semantic model) to provide data analysis as custom content at the presentation layer, wherein the semantic model includes multiple hierarchical extension layers that define the changes made by the semantic extensions to the semantic model.

[0248] At step 336, the system captures the user's changes to each layer as a set of action replays of replayable actions, where changes in one layer may affect the operation of another layer, thus triggering the replay of changes from the dependency point.

[0249] At step 338, the system monitors action chains and layer dependencies, and when a part of the dependency tree changes, it replays the action chain to restore the original changed state.

[0250] Additional features

[0251] According to various embodiments, the systems and methods described herein may include various additional features, such as examples thereof, which are further described below.

[0252] From semantic model testing to production

[0253] According to another embodiment, to support the use of test and production instances, the system can track changes made to the semantic model in the test environment and then remotely transfer the changes to the production environment after testing. The system may include locks, security, and role mapping to control how changes can be moved from the test environment to the production environment.

[0254] According to an embodiment, the system can support phased implementation of anticipated fixes in a production environment. To support the use of test and production instances, the system can track changes made to the semantic model in the test environment and then remotely propagate the changes to the production environment after testing. The system may include locks, security, and role mapping to control how changes can be moved from the test environment to the production environment.

[0255] According to an embodiment, the system supports phased implementation of anticipated fixes in a production environment. Customizations / changes to one or more planned aspects of the semantic model can be implemented proactively and urgently in phases on the customer's instance when they are incompatible with the existing version being used by the customer. Matching phased patches are selected and applied if the customer upgrades, and when the customer upgrades. This can also apply when the provider of a particular customization / change differs from the provider of the underlying software.

[0256] Phased

[0257] In another embodiment, when the test instance is updated to a new version, the changes made to the semantic model and stored as incremental changes are replayed as described above—but not immediately pushed to production. The changes are implemented in stages, while the production environment itself is updated to the new version. When production is updated to the new version (a new version of the data warehouse or semantic model), the customized model and extensions are also updated simultaneously.

[0258] Temporary BI server

[0259] In another embodiment, queries in a data analytics environment are often pushed to a BI server, and then the functionality is routed down to the data source. However, if multiple users are operating on a customized / extended semantic model, they will need to share a common BI server. To provide a preview of the data used during the development of the semantic model, the system temporarily starts a (reduced / scaled) version of the BI server to provide a preview of the data used during development.

[0260] According to various embodiments, aspects of this disclosure are set forth in the following numbered clauses:

[0261] 1. A system for providing scalability in analytical application environments, comprising:

[0262] A computer including one or more processors, which provides an analytical application environment with access to at least one of a database or data warehouse used for storing data; and

[0263] The semantic layer enables semantic extensions to extend the semantic model for use with data, where the system:

[0264] The semantic model provides multiple semantic extensions, which define changes to the semantic model as a series of commits; and

[0265] Retrieve data from a database or data warehouse in response to a request, process the data according to a semantic model extended by semantic extension, and provide the data as custom content to the presentation layer.

[0266] 2. The system of Clause 1, wherein changes to the semantic model are recorded in a hierarchical namespace, including each change associated with a specific layer of the hierarchical namespace providing an incremental change to the semantic model associated with that specific layer.

[0267] 3. The system of Clause 1, wherein a hierarchical namespace is defined by a document artifact having multiple regions associated with a layer having a hierarchical name, wherein each change associated with a particular layer of the hierarchical namespace is defined in the corresponding region of the document artifact.

[0268] 4. The system of Clause 1, wherein the system performs extraction, transformation, and loading processes based on one or more analytical application patterns or client patterns to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

[0269] 5. The system of Clause 1, wherein the analytics application environment is provided within an analytics cloud environment.

[0270] 6. A method for providing scalability in an analytics application environment, comprising:

[0271] An analytical application environment is provided at a computer comprising one or more processors, which provides access to at least one of a database or data warehouse for storing data; and semantic extensions are provided to extend the semantic model for use with the data, wherein:

[0272] The semantic model is provided as multiple hierarchical extension layers, which define the changes to the semantic model caused by semantic extensions as a series of commits; and

[0273] Data is retrieved from a database or data warehouse in response to a request, processed according to a semantic model extended by semantic extension, and provided as custom content to the presentation layer.

[0274] 7. The method of Item 6, wherein changes to the semantic model are recorded in a hierarchical namespace, including each change associated with a specific layer of the hierarchical namespace providing an incremental change to the semantic model associated with that specific layer.

[0275] 8. The method of Clause 6, wherein a hierarchical namespace is defined by a document artifact having multiple regions associated with a layer having a hierarchical name, wherein each change associated with a particular layer of the hierarchical namespace is defined in the corresponding region of the document artifact.

[0276] 9. The method of Clause 6 also includes performing extraction, transformation, and loading processes based on one or more analytical application patterns or customer patterns to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

[0277] 10. The method of Clause 6, wherein the analytical application environment is provided within an analytical cloud environment.

[0278] 11. A non-transitory computer-readable storage medium having instructions thereon, the instructions causing the computer to perform a method when read and executed by a computer including one or more processors, comprising:

[0279] An analytics application environment is provided at a computer comprising one or more processors, the analytics application environment providing access to at least one of a database or data warehouse used for storing data; and

[0280] Provide semantic extensions to expand the semantic model for use with data, where:

[0281] The semantic model is provided as multiple hierarchical extension layers, which define the changes to the semantic model caused by semantic extensions as a series of commits; and

[0282] Data is retrieved from a database or data warehouse in response to a request, processed according to a semantic model extended by semantic extension, and provided as custom content to the presentation layer.

[0283] 12. A nontransitory computer-readable storage medium of Clause 11, wherein changes to the semantic model are recorded in a hierarchical namespace, including each change associated with a specific layer of the hierarchical namespace providing an incremental change to the semantic model associated with that specific layer.

[0284] 13. The nontransitory computer-readable storage medium of Clause 11, wherein the hierarchical namespace is defined by a file artifact having a plurality of regions associated with a layer with a hierarchical name, wherein each change associated with a particular layer of the hierarchical namespace is defined in the corresponding region of the file artifact.

[0285] 14. The nontransitory computer-readable storage medium of Clause 11 also includes performing extraction, transformation, and loading processes according to one or more analytical application modes or client modes to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

[0286] 15. Non-transitory computer-readable storage media of Clause 11, wherein the analytical application environment is provided within an analytical cloud environment.

[0287] 16. A system for providing scalability, including support for segmented query models, in an analytics application environment, comprising:

[0288] A computer including one or more processors that provides an analytical application environment with access to at least one of a database or data warehouse used for storing data;

[0289] The system responds to requests by retrieving data from a database or data warehouse and processes the data according to a semantic model extended by one or more semantic extensions.

[0290] The semantic model and the representation of changes to the semantic model defined by the one or more semantic extensions are stored as changes in the mapping of key-value pairs, and this representation is cached in memory as a data structure; and

[0291] In response to queries generated at runtime, the system dynamically merges changes defined by one or more semantic extensions with the underlying semantic model to reveal data based on the extended semantic model.

[0292] 17. The system of Clause 16, wherein a semantic model cached in memory as a data structure and a representation of changes to the semantic model defined by the one or more semantic extensions are used in conjunction with a data plane that provides access to a data warehouse.

[0293] 18. The system of Item 16, wherein changes to the semantic model are recorded in a hierarchical namespace and treated as changes to the semantic model, including providing an incremental change to the semantic model for each change.

[0294] 19. A system of Clause 16, wherein the system performs extraction, transformation, and loading processes based on one or more analytical application patterns or client patterns to receive data from an enterprise software application or data environment for loading into a data warehouse instance.

[0295] 20. The system of Clause 16, wherein the analytics application environment is provided within an analytics cloud environment.

[0296] 21. A method for providing scalability, including support for segmented query models, in an analytics application environment, comprising:

[0297] An analytics application environment is provided on a computer including one or more processors, the analytics application environment providing access to at least one of a database or data warehouse for storing data;

[0298] Provide semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define how the semantic extensions change the semantic model;

[0299] The semantic model and representations of changes to the semantic model defined by one or more semantic extensions are stored as changes in the mapping of key-value pairs; these representations are cached in memory as a data structure.

[0300] Retrieving data from a database or data warehouse in response to queries generated at runtime includes dynamically incorporating changes defined by one or more semantic extensions with the underlying semantic model to expose data based on the extended semantic model.

[0301] 22. The method of Clause 21, wherein a semantic model, as a data structure, is cached in memory and a representation of changes to the semantic model defined by the one or more semantic extensions is used in conjunction with a data plane that provides access to the data warehouse.

[0302] 23. The method of Item 21, wherein changes to the semantic model are recorded in a hierarchical namespace and treated as changes to the semantic model, including providing an incremental change to the semantic model for each change.

[0303] 24. The method of Clause 21 also includes performing extraction, transformation, and loading processes based on one or more analytical application patterns or customer patterns to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

[0304] 25. The method of Clause 21, wherein the analytics application environment is provided within an analytics cloud environment.

[0305] 26. A non-transitory computer-readable storage medium having instructions thereon, the instructions causing the computer to perform a method when read and executed by a computer including one or more processors, the method comprising:

[0306] An analytics application environment is provided on a computer that includes one or more processors, which provides access to at least one of a database or data warehouse used for storing data;

[0307] Provide semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define how the semantic extensions change the semantic model;

[0308] The semantic model and representations of changes to the semantic model defined by one or more semantic extensions are stored as changes in the mapping of key-value pairs; these representations are cached in memory as a data structure.

[0309] Retrieving data from a database or data warehouse in response to queries generated at runtime includes dynamically incorporating changes defined by one or more semantic extensions with the underlying semantic model to expose data based on the extended semantic model.

[0310] 27. The nontransitory computer-readable storage medium of Clause 26, wherein a semantic model cached in memory as a data structure and a representation of changes to the semantic model defined by the one or more semantic extensions are used in conjunction with a data plane that provides access to a data warehouse.

[0311] 28. The nontransitory computer-readable storage medium of Clause 26, wherein changes to the semantic model are recorded in a hierarchical namespace and processed as changes to the semantic model, including each change providing an incremental change to the semantic model.

[0312] 29. The nontransitory computer-readable storage medium of Clause 26, wherein the system performs extraction, transformation, and loading processes according to one or more analytical application modes or client modes to receive data from an enterprise software application or data environment for loading into a data warehouse instance.

[0313] 30. Nontransitory computer-readable storage media of Clause 26, wherein the analytical application environment is provided within an analytical cloud environment.

[0314] 31. A system for providing scalability, including support for semantic model action sets and replay, in an analytics application environment, comprising:

[0315] A computer including one or more processors, the computer providing an analytical application environment with access to at least one of a database or data warehouse used for storing data; and

[0316] A semantic layer that implements semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define how the semantic extensions change the semantic model;

[0317] The system captures user changes in each extended layer of the semantic model as multiple replayable actions, where changes in one layer can affect operations in another layer. These actions can be replayed on a version of the semantic model to update the semantic model with the associated changes.

[0318] 32. The system of Item 31 further includes capturing changes to the extension layer as a set of action replays, wherein changes in the first layer affect the operation of the second layer, and then triggering the replay of the changes from the point of dependency.

[0319] 33. The system of Item 31 also includes monitoring action chains and layer dependencies within the dependency tree, and replaying action chains to restore the semantic model to its original state when the dependency tree changes.

[0320] 34. A system as defined in Clause 31, wherein the system performs extraction, transformation, and loading processes based on one or more analytical application patterns or client patterns to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

[0321] 35. The system of Clause 31, wherein the analytics application environment is provided within an analytics cloud environment.

[0322] 36. A method for providing scalability, including support for semantic model action sets and replay, in an analytics application environment, comprising:

[0323] An analytics application environment is provided on a computer including one or more processors, the analytics application environment providing access to at least one of a database or data warehouse for storing data;

[0324] Provides a semantic layer that implements semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define the changes to the semantic model caused by the semantic extensions; and

[0325] User changes to each extension layer of the semantic model are captured as multiple replayable actions, where changes in one layer can affect operations in another layer. These actions can be replayed on a version of the semantic model to update the semantic model with the associated changes.

[0326] 37. The method of Item 36 includes capturing changes to an extension layer as a set of action replays, wherein changes in the first layer affect operations in the second layer, and then triggering a replay of the changes from the point of dependency.

[0327] 38. The method of Item 36 also includes monitoring action chains and layer dependencies within the dependency tree, and replaying action chains to restore the semantic model to its original state when the dependency tree changes.

[0328] 39. The method of Clause 36 also includes performing extraction, transformation, and loading processes based on one or more analytical application patterns or customer patterns to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

[0329] 40. The method of Clause 36, wherein the analytics application environment is provided within an analytics cloud environment.

[0330] 41. A non-transitory computer-readable storage medium having instructions thereon, the instructions causing the computer to perform a method when read and executed by a computer including one or more processors, the method comprising:

[0331] An analytics application environment is provided on a computer including one or more processors, the analytics application environment providing access to at least one of a database or data warehouse for storing data;

[0332] Provides a semantic layer that implements semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define the changes to the semantic model caused by the semantic extensions; and

[0333] User changes to each extension layer of the semantic model are captured as multiple replayable actions, where changes in one layer can affect operations in another layer. These actions can be replayed on a version of the semantic model to update the semantic model with the associated changes.

[0334] 42. The nontransitory computer-readable storage medium of Clause 41 includes capturing changes to an extension layer as a set of action replays, wherein changes in the first layer affect the operation of the second layer, and then triggering the replay of the changes from the point of dependency.

[0335] 43. The nontransitory computer-readable storage medium of Clause 41 also includes monitoring action chains and layer dependencies within the dependency tree, and replaying action chains to restore the semantic model to its original state when the dependency tree changes.

[0336] 44. The nontransitory computer-readable storage medium of Clause 41 also includes performing extraction, transformation, and loading processes according to one or more analytical application modes or client modes to receive data from an enterprise software application or data environment for loading into a data warehouse instance.

[0337] 45. Non-transitory computer-readable storage media of Clause 41, wherein the analytical application environment is provided within an analytical cloud environment.

[0338] According to various embodiments, the teachings herein can be conveniently implemented using one or more conventional general-purpose or special-purpose computers, computing devices, machines, or microprocessors, including one or more processors, memories, and / or computer-readable storage media programmed according to the teachings of this disclosure. As will be apparent to those skilled in the art of software, a skilled programmer can readily prepare appropriate software code based on the teachings of this disclosure.

[0339] In some embodiments, the teachings herein may include a computer program product, which is one or more non-transitory computer-readable storage media on which / therein stores instructions that can be used to program a computer to perform any of the processing described herein. Examples of such storage media may include, but are not limited to, hard disk drives, hard drives, fixed disks or other electromechanical data storage devices, floppy disks, optical disks, DVDs, CD-ROMs, microdrives and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic cards or optical cards, nanosystems or other types of storage media or devices suitable for non-transitory storage of instructions and / or data.

[0340] The foregoing description has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the scope of protection to the precise form disclosed. Many modifications and variations will be apparent to those skilled in the art.

[0341] For example, while several examples provided herein illustrate operation within an enterprise software application or data environment (such as, for example, the Oracle Fusion Application Environment); or an analytics application environment within the context of a Software as a Service (SaaS) or cloud environment (such as, for example, the Oracle Analytics Cloud or Oracle Cloud Infrastructure Environment); however, according to various embodiments, the systems and methods described herein can be used with other types of enterprise software application or data environments, cloud environments, cloud services, cloud computing, or other computing environments.

[0342] The embodiments were chosen and described in order to best explain the principles of this teaching and its practical application, thereby enabling others skilled in the art to understand the various embodiments and modifications suitable for the particular intended use. The intended scope is defined by the appended claims and their equivalents.

Claims

1. A system for providing scalability, including support for segmented query models, in an analytics application environment, comprising: A computer including one or more processors that provides an analytical application environment with access to at least one of a database or data warehouse used for storing data; The system responds to a request by retrieving data from a database or data warehouse and processes the data according to a semantic model extended by one or more semantic extensions, wherein the one or more semantic extensions define changes to the semantic model. The changes to the semantic model defined by the one or more semantic extensions, and the nesting and hierarchical composite models of the semantic models, are saved as changes to the key-value pair mappings, wherein the composite model is flattened into a mapping, and the keys use delimiters to define the nesting of the composite model, wherein the data structure of the mapping is cached in memory; and In response to queries generated at runtime, the system dynamically merges changes defined by the one or more semantic extensions with the data structure of the map by iterating through the layers of the map and, for each matching key, retrieving the value and adding the value to the map, in order to expose the data based on the extended semantic model.

2. The system of claim 1, wherein the composite model defined by the one or more semantic extensions, which is cached in memory as a data structure, is used in conjunction with a data plane that provides access to the data warehouse.

3. The system of claim 1, wherein changes to the semantic model are recorded in a hierarchical namespace and processed as changes to the semantic model, including each change providing an incremental change to the semantic model.

4. The system of claim 1, wherein the system performs extraction, transformation, and loading processes according to one or more analytical application modes or client modes to receive data from enterprise software applications or data environments for loading into a data warehouse instance.

5. The system of claim 1, wherein the analytical application environment is provided within an analytical cloud environment.

6. A method for providing scalability, including support for segmented query models, in an analytics application environment, comprising: An analytics application environment is provided on a computer including one or more processors, the analytics application environment providing access to at least one of a database or data warehouse for storing data; Provide semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define how the semantic extensions change the semantic model; The system stores changes to the semantic model defined by one or more semantic extensions, as well as nested and hierarchical composite models of the semantic model, as changes to the mapping of key-value pairs, wherein the composite model is flattened into mappings, where the keys use delimiters to define the nesting of the composite model, and wherein the data structure of the mappings is cached in memory; and Retrieving data from a database or data warehouse in response to a query generated at runtime includes iterating through layers of a mapping and, for each matching key, obtaining a value and adding the value to the mapping, dynamically incorporating changes defined by the one or more semantic extensions with the data structure of the mapping to expose the data based on the extended semantic model.

7. The method of claim 6, wherein the composite model of changes to the semantic model defined by the one or more semantic extensions and the nesting and hierarchical nature of the semantic model, which is cached in memory as a data structure, is used in conjunction with a data plane that provides access to the data warehouse.

8. The method of claim 6, wherein changes to the semantic model are recorded in a hierarchical namespace and processed as changes to the semantic model, including providing an incremental change to the semantic model for each change.

9. The method of claim 6 further comprises performing extraction, transformation, and loading processes according to one or more analytical application patterns or customer patterns to receive data from an enterprise software application or data environment for loading into a data warehouse instance.

10. The method of claim 6, wherein the analytical application environment is provided within an analytical cloud environment.

11. A non-transitory computer-readable storage medium having instructions thereon, the instructions causing the computer to perform a method when read and executed by a computer including one or more processors, the method comprising: An analytics application environment is provided on a computer that includes one or more processors, which provides access to at least one of a database or data warehouse used for storing data; Provide semantic extensions to extend the semantic model for use with data, wherein the semantic model includes multiple hierarchical extension layers that define how the semantic extensions change the semantic model; The system stores changes to the semantic model defined by one or more semantic extensions, as well as nested and hierarchical composite models of the semantic model, as changes to the mapping of key-value pairs, wherein the composite model is flattened into mappings, where the keys use delimiters to define the nesting of the composite model, and wherein the data structure of the mappings is cached in memory; and Retrieving data from a database or data warehouse in response to a query generated at runtime includes iterating through layers of a mapping and, for each matching key, obtaining a value and adding the value to the mapping, dynamically incorporating changes defined by the one or more semantic extensions with the data structure of the mapping to expose the data based on the extended semantic model.

12. The non-transitory computer-readable storage medium of claim 11, wherein the composite model of changes to the semantic model and the nesting and hierarchical nature of the semantic model defined by the one or more semantic extensions, which is cached in memory as a data structure, is used in conjunction with a data plane that provides access to the data warehouse.

13. The non-transitory computer-readable storage medium of claim 11, wherein changes to the semantic model are recorded in a hierarchical namespace and processed as changes to the semantic model, including each change providing an incremental change to the semantic model.

14. The non-transitory computer-readable storage medium of claim 11, wherein the system performs extraction, transformation, and loading processes according to one or more analytical application modes or client modes to receive data from an enterprise software application or data environment for loading into a data warehouse instance.

15. The non-transitory computer-readable storage medium of claim 11, wherein the analytical application environment is provided within an analytical cloud environment.