Systems and methods for customization in an analytical application environment
By providing semantic layer and presentation layer in the analytical application environment, combined with flexible operations of data pipelines or processing, the diversity of data processing needs of different customers is solved, and personalized customization and flexibility of the data analysis environment is achieved.
Patent Information
- Application Number
- CN202080006154.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-06
- Filing Date
- 2020-05-06
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2040-05-06
AI Technical Summary
In a data analysis environment, different customers have different requirements for the classification, aggregation or transformation of data, and the existing technology is difficult to effectively support these personalized needs.
By providing semantics and presentation layers in an analytical application environment, it allows the use of custom semantic extensions to extend the semantic model and provide custom content at the presentation layer. Meanwhile, the data pipeline or processing can operate in accordance with the analytical application pattern and the customer pattern to receive data from the customer's enterprise software application or data environment and load into the data warehouse instance.
It realizes personalized customization of the data analysis environment, meets the specific needs of different customers, and improves the flexibility and efficiency of data analysis.
Smart Images

Figure CN113039527B_ABST
Abstract
Description
[0001] Priority claim:
[0002] This application claims the benefit of priority to U.S. Provisional Patent Application No. 62 / 844,004, filed on May 6, 2019, entitled “SYSTEM AND METHOD FORCUSTOMIZATION IN AN APPLICATION ANALYTICS ENVIRONMENT”; which application is incorporated herein by reference. Technical Field
[0003] Embodiments described herein relate generally to computer data analysis and computer-based methods of providing business intelligence data, and more particularly to systems and methods for providing support for extensibility and customization in an analytical application environment. Background Art
[0004] Generally speaking, within an organization, data analytics enables computer-based examination or analysis of large amounts of data to derive conclusions or other information from that data, while business intelligence tools provide an organization's business users with information describing their enterprise data in a format that enables those business users to make strategic business decisions.
[0005] There is increasing interest in developing software applications that exploit the use of data analytics within the context of an organization's enterprise software application or data environment (such as, for example, an Oracle Fusion Applications environment or other types of enterprise software application or data environments); or within the context of a Software as a Service (SaaS) or cloud environment (such as, for example, an Oracle Analytics Cloud or Oracle Cloud Infrastructure environment or other types of cloud environments).
[0006] However, different customers of a data analytics environment may have different requirements on how their data should be categorized, aggregated or transformed for the purpose of providing data analytics or business intelligence data or developing software analytics applications. Summary of the invention
[0007] According to an embodiment, a system and method for providing support for scalability and customization in an analytical application environment is described herein. The extraction, transformation, loading (ETL) or other data pipelines or processing provided by the analytical application environment can operate according to the analytical application mode and / or the customer mode associated with the customer (tenant) to receive data from the customer's enterprise software application or data environment for loading into the data warehouse instance. The semantic layer enables the use of custom semantic extensions to extend the semantic model and provide custom content in the presentation layer. The 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 promoting the extended or customized semantic model to the production environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 A system for providing an analytical application environment according to an embodiment is illustrated.
[0009] Figure 2 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0010] Figure 3 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0011] Figure 4 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0012] Figure 5 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0013] Figure 6 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0014] Figure 7 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0015] Figure 8 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0016] Fig. 9 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0017] Fig.10 A flow chart of a method for providing an analysis application environment according to an embodiment is illustrated.
[0018] Fig.11 An analytical application environment enabling extensibility and customization according to an embodiment is illustrated.
[0019] Fig.12 Further illustrated is extensibility and customization in an analytical application environment according to an embodiment.
[0020] Fig.13 Further illustrated is extensibility and customization in an analytical application environment according to an embodiment.
[0021] Fig.14 Further illustrated is extensibility and customization in an analytical application environment according to an embodiment.
[0022] Fig.15 Support for multiple users in a custom or extended analytics application environment according to an embodiment is illustrated.
[0023] Fig.16 Further illustrated is support for multiple users in a custom or extended analytics application environment according to an embodiment.
[0024] Fig.17 Further illustrated is support for multiple users in a custom or extended analytics application environment according to an embodiment.
[0025] Fig.18 The promotion of custom semantic extensions in an analytical application environment according to an embodiment is illustrated.
[0026] Fig.19 A self-service data model according to an embodiment is illustrated.
[0027] Fig. 20 A curated data model according to an embodiment is illustrated. DETAILED DESCRIPTION
[0028] As described 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 an organization's business users with information describing their enterprise data in a format that enables those business users to make strategic business decisions.
[0029] There is increasing interest in developing software applications that leverage the use of data analytics within the context of an organization's enterprise software application or data environment (such as, for example, an Oracle Fusion Application environment or other type of enterprise software application or data environment); or within the context of a Software as a Service (SaaS) or cloud environment (such as, for example, an Oracle Analytics Cloud or Oracle Cloud Infrastructure environment or other type of cloud environment).
[0030] According to an embodiment, an analytics application environment enables data analytics in the context of an organization's enterprise software application or data environment, or software as a service or other type of cloud environment; and supports development of computer-executable software analytics applications.
[0031] According to an embodiment, a data pipeline or process (such as, for example, extraction, transformation, and loading processes) can operate according to an analytical application pattern suitable for addressing a specific analytical use case or best practice to receive data from a customer's (tenant's) enterprise software application or data environment for loading into a data warehouse instance.
[0032] According to an embodiment, each customer (tenant) may additionally be associated with a customer tenancy and a customer schema.The data pipeline or process populates its data warehouse instance and database tables with data as received from its enterprise software application or data environment as defined by the combination of the analytical application schema and its customer schema.
[0033] According to an embodiment, the technical advantages of the described systems and methods include the use of system-wide or shared analytical application patterns or data models maintained within an analytical application environment (cloud) lease; and tenant-specific customer patterns maintained within a customer lease; enabling each customer (tenant)'s data warehouse instance or database table to be automatically or periodically (e.g., hourly / daily / weekly or based on other means) populated or otherwise associated with real-time data (real-time tables) such as received from its enterprise software application or data environment, and reflecting the best practices of specific analytical use cases. Examples of such analytical use cases may include enterprise resource planning (ERP), human capital management (HCM), customer experience (CX), supply chain management (SCM), enterprise performance management (EPM), or other types of analytical use cases. The populated data warehouse instance or database table can then be used to create a computer-executable software analytical application, or to determine data analysis or other information associated with the data.
[0034] According to an embodiment, a computer-executable software analysis application may be associated with a data pipeline or process (such as, for example, an extract, transform, load (ETL) process, or an extract, load, transform (ELT) process) maintained by a data integration component (such as, for example, an Oracle Data Integrator (ODI) environment or other type of data integration component).
[0035] According to an embodiment, the analytical application environment can operate with 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); these data warehouse environments or components can be populated via a star schema derived from an enterprise software application or data environment (such as, for example, Oracle Fusion Applications or other types of enterprise software applications or data environments). The data available to each customer (tenant) of the analytical application environment can be provided in, for example, an ADWC lease associated with and accessible only to that customer (tenant); while providing access to other features of the shared infrastructure.
[0036] For example, according to an embodiment, an analytical application environment may include a data pipeline or processing layer that enables customers (tenants) to ingest data extracted from their Oracle Fusion Application environment to be loaded into a data warehouse instance within their ADWC tenancy, including support for features such as multiple data warehouse schemas, data extraction and target schemas, and monitoring of data pipeline or processing stages; accompanied by a shared data pipeline or processing infrastructure that provides a common transformation graph or repository.
[0037] introduce
[0038] In accordance with an embodiment, 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) may provide a central repository for storing data collected by one or more business applications.
[0039] For example, according to an embodiment, a data warehouse environment or component may be provided as a multidimensional database that employs online analytical processing (OLAP) or other techniques to generate business-related data from multiple different data sources. An organization may 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 the organization.
[0040] Examples of horizontal business applications may include ERP, HCM, CX, SCM, and EPM as described above, and provide a wide range of functionality across various enterprise organizations.
[0041] Vertical business applications are typically narrower in scope than horizontal business applications, but provide access to data further up and downstream in the data chain within a defined scope or industry. Examples of vertical business applications might include medical software or banking software for use within a specific organization.
[0042] While software vendors increasingly offer enterprise software products or components as SaaS or cloud-oriented offerings, such as, for example, Oracle Fusion Applications; while other enterprise software products or components (such as, for example, Oracle ADWC) may 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 processes are typically faced with the task of extracting data from their horizontal and vertical business applications and bringing the extracted data into a data warehouse - a process that can be both time-consuming and resource-intensive.
[0043] According to an embodiment, the analytical application environment allows a customer (tenant) to develop computer-executable software analytical applications for use with a BI component (such as, for example, an Oracle Business Intelligence Application (OBIA) environment or other types of BI components suitable for examining large amounts of data originating from the customer (tenant) itself or from multiple third-party entities).
[0044] For example, according to an embodiment, when used with a SaaS business productivity software product suite that includes a data warehouse component, the analytical 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 ETL data processing between the business productivity software applications and the data warehouse that might otherwise be performed in a conventional manner or manually by users of those services.
[0045] As another example, according to an embodiment, an analytical application environment may be pre-configured with a database schema for storing consolidated data from various business productivity software applications from a SaaS product suite. Such a pre-configured database schema may be used to provide uniformity between the productivity software applications and the corresponding transactional databases provided in the SaaS product suite; while allowing the user to forgo the process of manually designing, tuning, and modeling the provided data warehouse.
[0046] As another example, according to an embodiment, the analytical application environment can be used to pre-populate a 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.
[0047] Analyze application environment
[0048] Figure 1 A system for providing an analytical application environment according to an embodiment is illustrated.
[0049] like Figure 1As shown in , according to an embodiment, an analytical application environment 100 can be provided by a computer system, or otherwise operated at a computer system, which has computer hardware (e.g., processor, memory) 101 and includes one or more software components that operate as a control plane 102 and a data plane 104 and provide access to a data warehouse or a data warehouse instance 160.
[0050] According to an embodiment, Figure 1 The components and processes shown in and as 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.
[0051] For example, according to an embodiment, the components and processes described herein may be provided by a cloud computing system or other appropriately programmed computer system.
[0052] According to an embodiment, the control plane operates to provide control of cloud or other software products provisioned in the context of a SaaS or cloud environment (such as, for example, Oracle Analytics Cloud or Oracle Cloud Infrastructure environment or other type of cloud environment).
[0053] 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 applications 14 , and user interface 16 to be accessed under the control of a customer (tenant) 20 and / or a cloud environment having a provisioning component 111 .
[0054] Depending on the embodiment, the console interface may enable access by customers (tenants) operating a graphical user interface (GUI) and / or a command line interface (CLI) or other interface; and / or may include an interface for use by providers of SaaS or cloud environments and their customers (tenants).
[0055] For example, according to an embodiment, the console interface may provide an interface that allows customers to provision services for use within their SaaS environment and to configure those provisioned services.
[0056] According to an embodiment, the provisioning component may include various functions for provisioning the service specified by the provisioning command.
[0057] For example, according to an embodiment, a customer (tenant) may access and utilize a provisioning component via a console interface to purchase one or more of a suite of business productivity software applications and data warehouse instances for use with those software applications.
[0058] According to an embodiment, a customer (tenant) may request that a customer schema be provisioned within a data warehouse 164. The customer may also provision a number of properties associated with the data warehouse instance via a console interface, including required properties (e.g., login credentials) and optional properties (e.g., size or speed). The provisioning component may then provision the requested data warehouse instance, including the customer schema for the data warehouse; and populate the data warehouse instance with the appropriate information provided by the customer.
[0059] According to an embodiment, the provisioning component may also be used to update or edit the data warehouse instance and / or the ETL process operating at the data plane, for example, by changing or updating the request frequency of the ETL process run for a specific customer (tenant).
[0060] According to an embodiment, the provisioning component may also include a provisioning application programming interface (API) 112, a plurality of workers 115, a metering manager 116, and a data plane API 118, as described further below. When a command, instruction, or other input is received at the console interface, the console interface may communicate with the provisioning API, for example by making an API call, to provision services in the SaaS environment, or to make configuration changes to the provisioned services.
[0061] According to an embodiment, a data plane API may communicate with the data plane.
[0062] For example, according to an embodiment, provisioning and configuration changes for services provided by the data plane may be communicated to the data plane via a data plane API.
[0063] According to an embodiment, the metering manager may include various functions for metering services provisioned through the control plane and usage of the services.
[0064] For example, according to an embodiment, for billing purposes, the metering manager can record the usage of processors provisioned 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 of the data warehouse partitioned for use by customers of the SaaS environment.
[0065] 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 extract transactional data from business applications and databases delivered in the SaaS environment and then load the transformed data into a data warehouse.
[0066] According to an embodiment, the data transformation layer may include a data model used by the system to transform transaction data received from business applications and corresponding transaction databases provided in the SaaS environment into a model format understood by the analysis application environment, such as, for example, a knowledge model (KM) or other type of data model. The model format may be provided in any data format suitable for storage in a data warehouse.
[0067] According to an embodiment, the data pipeline or processing provided by the data plane may include a monitoring component 122, a data staging component 124, a data quality component 126, and a data projection component 128, as further described below.
[0068] 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 described further below. The data plane may also include a data and configuration user interface 130 , and a mapping and configuration database 132 .
[0069] According to an embodiment, the data warehouse may include a default analytics application schema (referred to herein as an analytics warehouse schema according to some embodiments) 162 and, for each customer (tenant) of the system, a customer schema, as described above.
[0070] 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 provisioned in a SaaS environment), transforming the extracted data into a model format, and loading the transformed data into a customer model of a data warehouse.
[0071] For example, according to an embodiment, each customer (tenant) of the environment can be associated with its own customer tenancy within a data warehouse, which is associated with its own customer schema; and can be additionally provided with read-only access to the analytical application schema, which can be updated periodically or based on other means by a data pipeline or process (e.g., ETL processing).
[0072] According to an embodiment, to support multiple tenants, the system may enable the use of multiple data warehouses or data warehouse instances.
[0073] 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; and 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.
[0074] According to an embodiment, a data pipeline or process may be scheduled to execute at certain intervals (e.g., hourly / daily / weekly) to extract transactional data from an enterprise software application or data environment (such as, for example, a business productivity software application and corresponding transactional database 106 provided in a SaaS environment).
[0075] According to an embodiment, the extraction process 108 can extract transaction data, so that the extraction data pipeline or process can insert the extracted data into a data staging area, which can serve as a temporary staging area for the extracted data. Data quality components and data protection components can be used to ensure the integrity of the extracted data.
[0076] For example, according to an embodiment, the data quality component may perform validation on the extracted data while the data is temporarily held in a data staging area.
[0077] According to an embodiment, when the extraction process has completed its extraction, a data transformation layer may be used to start a transformation process to transform the extracted data into a model format for loading into a customer schema of a data warehouse.
[0078] As described above, according to an embodiment, a data pipeline or process may operate in conjunction with a data transformation layer to transform data into a model format. A mapping and configuration database may store metadata and data mappings that define data models used by data transformations. A data and configuration user interface (UI) may facilitate access and modification to the mapping and configuration database.
[0079] According to an embodiment, based on the data model defined in the mapping and configuration database, the monitoring component can determine the dependencies of several different data sets to be transformed. Based on the determined dependencies, the monitoring component can determine which of the several different data sets should be transformed into the model format first.
[0080] For example, according to an embodiment, if a first model dataset does not include a dependency on any other model dataset; and a second model dataset includes a dependency on the first model dataset; then the monitoring component may determine to transform the first dataset before transforming the second dataset to accommodate the dependency of the second dataset on the first dataset.
[0081] According to an embodiment, the data transformation layer may transform the extracted data into a format suitable for loading into a customer schema of a data warehouse, for example, according to a data model as 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 a data warehouse instance.
[0082] For example, according to an embodiment, a dimension may include data categories such as, for example, "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 the creation of data mappings that compute aggregates of the transformed data to existing data in the customer schema 164 of the data warehouse instance.
[0083] According to an embodiment, once any transformations are in place (as defined by the data model), a data pipeline or process can read the source data, apply the transformations, and then push the data to the data warehouse instance.
[0084] According to an embodiment, data transformations can be expressed as rules, and once transformed, values can be intermediately persisted at a staging area where a data quality component and a data projection component can validate and check the integrity of the transformed data before it is uploaded to a customer schema at a data warehouse instance. Monitoring can be provided while the extract, transform, load process is running, for example, at many compute instances or virtual machines. Dependencies can also be maintained during the extract, transform, load process, and data pipelines or processes can participate in such ordering decisions.
[0085] According to an embodiment, after transforming the extracted data, the data pipeline or process can perform a warehouse loading process 150 to load the transformed data into the customer schema of the data warehouse instance. After the transformed data is loaded into the customer schema, the transformed data can be analyzed and used in various additional business intelligence processes.
[0086] Horizontally and vertically integrated business software applications often involve capturing data in real time. This is a result of the fact that horizontally and vertically integrated business software applications are often used for daily workflows and store data in transactional databases, which means that typically only the latest data is stored in such databases.
[0087] For example, while an HCM application may update records associated with an employee when the employee changes offices, such an HCM application typically does not maintain records for every office that the employee has worked in during his or her tenure at the company. Thus, a BI-related query that attempts to determine employee mobility within a company will not have enough records in the transactional database to complete such a query.
[0088] According to an embodiment, by storing historical data in addition to current data generated by horizontally and vertically integrated business software applications in a context that is easily understood by the BI application, a data warehouse instance such as one populated using the above-described techniques provides the BI application with resources to process such queries using, for example, an interface provided by a business productivity and analytics product suite or by a SQL tool selected by the customer.
[0089] Data pipeline processing
[0090] Figure 2 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0091] like Figure 2 As shown in , according to an embodiment, using the data pipeline processing described above, data can 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 loaded into a data warehouse instance, which in some examples includes using an object storage device 105 to store the data.
[0092] According to an embodiment, the data pipeline or process maintains an analytical application schema for each customer (tenant), for example as a star schema, which is updated by the system periodically or otherwise based on best practices for a specific analytical use case, such as human capital management (HCM) analysis or enterprise resource planning (ERP) analysis.
[0093] According to an embodiment, for each customer (tenant), the system pre-populates the customer's data warehouse instance within the analytical application environment (cloud) tenancy 114 using analytical application schemas maintained and updated by the system based on analysis of data within the customer's enterprise application environment and within the customer's tenancy 117. Thus, the analytical application schemas maintained by the system enable data to be retrieved from the customer's environment through a data pipeline or process and loaded into the customer's data warehouse instance in a "real-time" manner.
[0094] According to an embodiment, the analytical application environment also provides each customer of the environment with a customer model that is easily modified by the customer and allows the customer to supplement and utilize the data within its own data warehouse instance. For each customer of the analytical application environment, its resulting data warehouse instance operates as a database whose content is partially controlled by the customer; and partially controlled by the analytical application environment (system); including its database being pre-populated with appropriate data that has been retrieved from its enterprise application environment to solve various analytical use cases, such as HCM analysis or ERP analysis.
[0095] 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, customer schemas derived from their enterprise software applications or data environments. Data provisioned in a data warehouse lease (e.g., ADWC lease) is accessible only to that tenant; while at the same time allowing access to various features of a shared analytical application environment, such as ETL-related features or other features.
[0096] According to an embodiment, in order to support multiple customers / tenants, the system enables the use of multiple data warehouse instances; where, 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.
[0097] According to an embodiment, for a particular customer / tenant, when extracting its data, the data pipeline or process can insert the extracted data into the tenant's data staging area, which can act as a temporary staging 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 temporarily maintaining the data in the data staging area. When the extraction process completes its extraction, a transformation process can be started using the data transformation layer to transform the extracted data into a model format for loading into the customer model of the data warehouse.
[0098] Extract, Transform, Load / Publish
[0099] Figure 3 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0100] like Figure 3 As shown in , according to an embodiment, the processing of extracting data from, for example, a customer's (tenant's) enterprise software application or data environment using the data pipeline processing described above; or as custom data originating from one or more customer-specific applications; and loading the data into a data warehouse instance or refreshing the data in the data warehouse typically involves three main stages performed by an ETP service 160 or processing (including one or more extraction services 163 executed by one or more computing instances 170; transformation services 165; load / publish services 167).
[0101] Extraction: According to an embodiment, a list of view objects for extraction may be submitted to, for example, an Oracle BI Cloud Connector (BICC) component, for example, via a ReST call. The extracted files may be uploaded to an object storage component, such as, for example, an Oracle Storage Service (OSS) component, for storing data.
[0102] Transformation: According to an embodiment, the transformation process obtains data files from an object storage component (e.g., OSS) and applies business logic while loading them into a target data warehouse (e.g., ADWC database) that is internal to the data pipeline or process and not exposed to customers (tenants).
[0103] Load / Publish: According to an embodiment, the Load / Publish service or process obtains data from, for example, an ADWC database or warehouse, and publishes it to a data warehouse instance accessible to customers (tenants).
[0104] Multiple customers (tenants)
[0105] Figure 4 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0106] FIG. 1 illustrates the operation of a system with multiple tenants (customers) according to an embodiment. Figure 4 As shown in , data may originate from, for example, each of multiple customer (tenant) enterprise software applications or data environments, processed using the data pipeline described above; and loaded into a data warehouse instance.
[0107] According to an embodiment, the data pipeline or process is maintained by the system for each of a plurality of customers (tenants) (eg, customer A 180, customer B 182) according to best practices for specific analytical use cases, and the analytical application model is updated periodically or otherwise.
[0108] According to an embodiment, for each of multiple customers (e.g., customer A, B), the system uses analytical application patterns 162A, 162B maintained and updated by the system to pre-populate the customer's data warehouse instance based on analysis of data in the customer's enterprise application environment 106A, 106B and in each customer's lease (e.g., customer A lease 181, customer B lease 183); so that data is retrieved from the customer's environment through a data pipeline or processing and loaded into the customer's data warehouse instance 160A, 160B.
[0109] According to an embodiment, the analytical application environment also provides each of the multiple customers of the environment with a customer schema (e.g., Customer A schema 164A, Customer B schema 164B) that is easily modified by the customer and allows the customer to supplement and utilize data in its own data warehouse instance.
[0110] As described above, according to an embodiment, for each of the multiple customers of the analytical application environment, its resulting data warehouse instance operates as a database whose contents are partially controlled by the customer; and partially controlled by the analytical application environment (system); including its database being pre-populated with appropriate data that has been retrieved from its enterprise application environment to solve various analytical use cases. After the extraction process 108A, 108B for a particular customer completes its extraction, a transformation process can be started using a data transformation layer to transform the extracted data into a model format for loading into the customer model of the data warehouse.
[0111] Activate Plan
[0112] Figure 5 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0113] According to an embodiment, the activation plan 186 may be used to control the operation of a data pipeline or processing service for a customer of a specific functional area to address the specific needs of the customer (tenant).
[0114] For example, according to an embodiment, an activation plan may define multiple extract, transform, and load (publish) services or steps that are run in a specific order, at a specific time of day, and within a specific time window.
[0115] 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 determine how to run services and their processes in sequence; while the activation plan of the second customer B may also determine the tables to be retrieved from the customer's enterprise software application environment, or determine how to run services and their processes in sequence.
[0116] According to an embodiment, activation plans may be stored in a mapping and configuration database and may be customized by a customer via a data and configuration UI. Each customer may have multiple activation plans. Compute instances / services (virtual machines) that perform ETL processing for various customers according to their activation plans may be dedicated to a specific service to use the activation plan and then released for use by other services and activation plans.
[0117] 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 particular tenant, or across a series of activation plans associated with multiple tenants to address the utilization of VMs and service level agreements (SLAs) by these tenants. Such historical data can include statistics on load volume and load time.
[0118] For example, according to an embodiment, historical data may include extraction size, extraction count, extraction time, warehouse size, transformation time, release (load) time, view object extraction size, view object extraction record count, view object extraction time, warehouse table count, record count processed for table, warehouse table transformation time, release table count, and release time. Such historical data can be used to estimate and plan current and future activation plans in order to organize various tasks, such as, for example, running in sequence or in parallel to achieve the minimum time to run the activation plan. In addition, the collected historical data can be used to optimize multiple activation plans across tenants. In some embodiments, the optimization of activation plans (i.e., specific job sequences, such as ETL) based on historical data can be automatic.
[0119] ETL Processing Flow
[0120] Figure 6 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0121] like Figure 6 As shown in , 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 BICC components) via a storage cloud service 192 (e.g., OSS), and from there to a data warehouse instance.
[0122] As described above, according to an embodiment, the data flow can be managed by one or more services, including, for example, the extraction service and transformation service as described above, and referencing the ETL repository 193, obtaining data from the storage cloud service, and loading the data into an internal target data warehouse (e.g., an ADWC database) 194 that is internal to the data pipeline or process and not exposed to the customer.
[0123] According to an embodiment, data is moved in stages into a data warehouse and then into a database table change log 195, from where a load / publish service can load the customer data into a target data warehouse instance associated with and accessible to the customer within its customer tenancy.
[0124] ETL stage
[0125] Figure 7 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0126] According to an embodiment, extracting, transforming and loading data from enterprise applications to a data warehouse instance involves multiple stages, and each stage may have several sequential or parallel jobs; and runs on different spaces / hardware, including different staging areas 196, 198 for each customer.
[0127] Analyze application environment metrics
[0128] Figure 8 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0129] like Figure 8 As shown in FIG. 1 , according to an embodiment, the metering manager may include functionality to meter services provisioned through the control plane and usage of the services and provide provisioned metrics 142 .
[0130] For example, for billing purposes, the metering manager can record the usage of processors provisioned to a particular customer via the control plane over a period of time. Similarly, for billing purposes, the metering manager can record the amount of storage space of a partitioned data warehouse for use by customers of a SaaS environment.
[0131] Analysis application environment customization
[0132] Fig. 9 Further illustrated is a system for providing an analytical application environment according to an embodiment.
[0133] like Fig. 9 As shown in , according to an embodiment, in addition to data originating from, for example, a customer's enterprise software application or data environment, which may be processed using the data pipeline described above, one or more additional custom data 109A, 109B originating from one or more customer-specific applications 107A, 107B may also be extracted, transformed, and loaded into the data warehouse instance using any of the following: data pipeline processing as described above, including, in some examples, using an object storage device to store 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 may create a business database view that merges tables from its customer schema and software analytics application schema; and may query its data warehouse instance using, for example, an interface provided by a business productivity and analytics product suite or a SQL tool selected by the customer.
[0134] Analyzing the application environment method
[0135] Fig.10 A flow chart of a method for providing an analysis application environment according to an embodiment is illustrated.
[0136] like Fig.10As shown in , according to an embodiment, at step 200 , an analysis application environment provides access to a data warehouse for multiple tenants to store data, wherein the data warehouse is associated with an analysis application schema.
[0137] At step 202, each tenant of a plurality of tenants is associated with a customer lease and with a customer schema that the tenant uses when populating a data warehouse instance.
[0138] At step 204, an instance of a data warehouse is populated with data received from an enterprise software application or data environment, wherein data associated with a specific tenant of an analytical application environment is supplied in a data warehouse instance associated with and accessible to the specific tenant based on an analytical application schema and a customer schema associated with the specific tenant.
[0139] Scalability and customization
[0140] Different customers of a data analytics environment may have different requirements on how to categorize, aggregate, or transform their data for the purpose of providing data analytics or business intelligence data or developing software analytics applications.
[0141] According to an embodiment, in order to support such different requirements, the system may include a semantic layer that enables the use of custom semantic extensions to extend a semantic data model (semantic model) and provides custom content in a presentation layer. An extension wizard or development environment may guide a user to extend or customize a semantic model using a custom semantic extension by defining branches and steps and then promoting the extended or customized semantic model to a production environment.
[0142] According to various embodiments, 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 originating from a first vendor product and HCM data originating from a second, different vendor product; or based on a combination of data received from multiple data sources with different regulatory requirements. User-defined extensions or customizations can withstand patches, updates, or other changes to the base system.
[0143] Fig.11 A system for supporting extensibility and customization in an analytical application environment according to an embodiment is illustrated.
[0144] 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 commonly understood business terms. 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 calculations may be defined; and a presentation layer that enables users to access the data as content.
[0145] like Fig.11 As shown in , according to an embodiment, the semantic layer 230 may include a packaged (out-of-the-box, initial) semantic model 232 that may be used to provide packaged content 234. For example, the system may load data from a customer's enterprise software application or data environment into a data warehouse instance using an ETL or other data pipeline or process as described above, where the packaged semantic model may be used to provide the packaged content to the presentation layer.
[0146] 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 .
[0147] Depending on an embodiment, the presentation layer may 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 as might be provided by a product such as, for example, Oracle Analytics Cloud or Oracle Analytics for Applications.
[0148] Branches and Steps
[0149] Fig.12 Further illustrated is extensibility and customization in an analytical application environment according to an embodiment.
[0150] like Fig.12 As shown in , according to an embodiment, a user can extend or customize the semantic model 250 using one or more custom semantic extensions, which the system can then use to provide custom content to the presentation layer.
[0151] For example, according to an embodiment, a user may use a client (computer) device 252 having device hardware 254 and a user interface 256 to interact with or otherwise operate an extension wizard 258 or software development component that guides the user through the customization and use of a custom semantic extension.
[0152] According to an embodiment, a user can edit or create a new customization branch 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 contain its specific customization or extension. Each branch operates as an atomic unit of work and may include one or more customization steps associated with the customization type and the 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 specific branch to be customized, the extension wizard can present an example data table for the user to review; and thereafter guide the user through customization (e.g., definition or aggregation for usage data). Different types of branches can be associated with different extension wizards.
[0153] Fig.13 Further illustrated is extensibility and customization in an analytical application environment according to an embodiment.
[0154] like Fig.13 As shown in , according to an embodiment, the extension wizard can guide the user through actions 261 to edit / add one or more customization steps 262, select a customization type 263, and complete / fill the appropriate extension wizard 264. At each step, the extension wizard can present one or more wizard screens to the user for review or completion; depending on the type of extension, the wizard screens may be different. 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.
[0155] Fig.14 Further illustrated is extensibility and customization in an analytical application environment according to an embodiment.
[0156] like Fig.14 As shown in , according to an embodiment, 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 type of file or metadata.
[0157] Multi-user development environment
[0158] In a typical enterprise organization, there may be many users responsible for developing software analysis applications or generating data analysis 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, and the changes are eventually merged into the (master) semantic model.
[0159] Fig.15 Support for multiple users in a custom or extended analytics application environment according to an embodiment is illustrated.
[0160] like Fig.15 As shown in , according to an embodiment, each of a plurality of users AD may work on an instance of a semantic model using one or more custom semantic extensions as described above to provide modifications 284 - 288 as extensions or customizations to the semantic model.
[0161] According to an embodiment, as each user completes, they can merge their customizations into the (master) semantic model. For example, the first user A may wish to create a new branch related to customizing the financial application general ledger (GL) profitability, including adding a region dimension (step 1); extending the cost center dimension (step 2); defining a geographic hierarchy (step 3); and adding travel expense calculations (step 4). User A's customizations can then be applied and merged into the (master) semantic model.
[0162] Fig.16 Further illustrated is support for multiple users in a custom or extended analytics application environment according to an embodiment.
[0163] like Fig.16 As shown in , according to an embodiment, the second user B may wish to create a new branch related to customizing GL detail transactions, including adding a geographical dimension (step 1); and adding an open position calculation (step 2); while the third user C may wish to create a new branch related to customizing the GL balance sheet, including adding a location dimension (step 1); adding a cash on hand calculation (step 2); and creating a GL summary subject area (arrangement 3). The customizations provided by each of the users B and C can be similarly applied and merged into the (master) semantic model.
[0164] Fig.17 Further illustrated is support for multiple users in a custom or extended analytics application environment according to an embodiment.
[0165] like Fig.17 As shown in , according to an embodiment, the system can support different versions of the semantic model, including determining that changes to the id of the semantic model require re-branching, or determining whether the semantic model is ready to be promoted to the production environment.
[0166] For example, while each of the above users develops customizations for an initial version (v1.0) of the semantic model, a fourth user D may begin working on a new branch of a new version (v1.1) of the semantic model, including, for example, adding a strategic supplier dimension (step 1) or extending a region dimension (step 2). The system may also determine whether changes to a particular version of the semantic model require re-branching of a particular set of customizations, such as, for example, those provided by user B.
[0167] Promote to production environment
[0168] According to an embodiment, the system can control definition changes to the semantic model (eg, changes in revenue definition) used when creating reports to ensure accurate generation of business intelligence data.
[0169] For example, according to an embodiment, the system can ensure that semantic model extensions are initially allowed only in development / test environments and not in production environments until an administrator can review any customized branches and roll those customizations out to production environments in a controlled manner.
[0170] Fig.18 The promotion of custom semantic extensions in an analytical application environment according to an embodiment is illustrated.
[0171] like Fig.18 As shown in , according to an embodiment, an administrator can use a client (computer) device with an administrator interface 290 to control the promotion of any user-developed customizations to the semantic model to the production environment, including, for example, reviewing any branches developed by multiple users and merging or prioritizing changes to be promoted.
[0172] Advantages of the described approach include that user-defined extensions or customizations can survive patches, updates, or other changes to the underlying system. If the immutable aspects of the semantic model are patched or updated; customizations that have been provided as semantic extensions are preserved. After a patch or update, the system can automatically replay the extension. If an extension fails due to an underlying change to the semantic model, an administrator can evaluate the changes and walk through possible fixes. Potential conflicts can be handled gracefully, and in the event that it is not possible to fully apply all extensions, the administrator can be notified accordingly.
[0173] Data layer extensibility and customization
[0174] According to an embodiment, in addition to data originating from a customer environment using the ETL or other data pipelines or processes described above, customer data may be loaded into a data warehouse instance using a variety of data models or scenarios that provide opportunities for further extension and customization.
[0175] Fig.19 A self-service data model according to an embodiment is illustrated.
[0176] like Fig.19As shown in , according to an embodiment, the self-service data model or scenario enables customers to load external or custom data as custom data sets 292 using ETL or other data pipelines or processes provided by the system, which provides dimensional consistency. Customers can define one or more "real-time" data sets populated by the system; and combine "real-time" data sets and external data sets to create combined data sets that can be queried. In this scenario, customer responsibilities typically include manually refreshing their data sets; and enforcing the security of the data sets.
[0177] Fig. 20 A curated data model according to an embodiment is illustrated.
[0178] like Fig. 20 As shown in , according to an embodiment, a curated data model or scenario provides a centralized or managed analytical environment, in which the ETL or other data pipeline or processing provided by the system publishes customer data to an immutable analytical application schema; while customers use custom ETL (144) or other data pipelines or processing to load external or custom data into their customer schema. Customers can create business database views that merge system-managed tables and custom tables, and query the merged data using the tools of their choice. In this scenario, customer responsibilities typically include managing the loading and refreshing of data into their customer schema using custom ETL or other data pipelines or processing.
[0179] The above examples of curated and self-service data models or scenarios are provided by way of example. According to various embodiments, the system may support other types of data models or scenarios.
[0180] According to various embodiments, the teachings of this article 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 the present disclosure). As will be apparent to those skilled in the art of software, a skilled programmer can easily prepare appropriate software coding based on the teachings of the present disclosure.
[0181] In some embodiments, the teachings herein may include a computer program product, which is a non-transitory computer-readable storage medium (one or more) having instructions stored thereon / in which the instructions can be used to program a computer to perform any of the processes of the present teachings. Examples of such storage media may include, but are not limited to, hard disks, 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 or optical cards, nanosystems, or other types of storage media or devices suitable for non-transitory storage of instructions and / or data.
[0182] 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.
[0183] For example, while several of the examples provided herein illustrate operation of an analytics application environment with an enterprise software application or data environment (such as, for example, an Oracle Fusion Application environment); or in the context of a Software as a Service (SaaS) or cloud environment (such as, for example, an Oracle Analytics Cloud or an Oracle Cloud Infrastructure environment), according to various embodiments, the systems and methods described herein can be used with other types of enterprise software applications or data environments, cloud environments, cloud services, cloud computing, or other computing environments.
[0184] The embodiments are chosen and described in order to best explain the principles of the present teachings and their practical applications, thereby enabling others skilled in the art to understand the various embodiments and with various modifications as are suited to the particular use contemplated. The intended scope is defined by the appended claims and their equivalents.
Claims
1. A system for providing scalability and customization in an analytical application environment, comprising: A computer including one or more processors that provides access to a data warehouse through an analytical application environment for storing data for a plurality of tenants; wherein each tenant of the plurality of tenants is leased to a customer and is associated with a tenant-specific customer schema for use in populating a data warehouse instance; wherein the system performs an extraction, transformation, loading or other data pipeline or processing as defined by a combination of an analytical application schema shared by the plurality of tenants and a tenant-specific customer schema associated with the tenant to receive data from an enterprise software application or data environment of the tenant and populates a data warehouse instance with data received from the enterprise software application or data environment of the tenant as defined by a combination of the analytical application schema and the tenant-specific customer schema; and A semantic layer that enables the use of custom semantic extensions to extend the packaged semantic model and provide custom content at the presentation layer, wherein the semantic layer includes: an initial semantic model operable to provide packaged content for accessing data loaded from a tenant's enterprise software application or data environment into its data warehouse instance as defined by a combination of the analytical application schema and the tenant-specific customer schema, and providing the packaged content to the presentation layer; and one or more semantic extensions that, when merged with an initial semantic model, operate to modify the operation of the semantic model and provide customized content to the presentation layer; wherein the one or more semantic extensions include branches and steps, and each of a plurality of users can use the one or more semantic extensions to provide modifications as extensions or customizations to the initial semantic model; and wherein a user is able to edit or create new customization branches to extend or customize a semantic model, including selection of a branch providing the user with an instance of the semantic model to work with and contain their specific customizations or extensions, wherein each branch is able to include one or more customization steps associated with a customization type and a corresponding extension, and wherein the customized branches are then able to be merged into the semantic model.
2. A system as described in claim 1, wherein the extension wizard enables a user to edit or create a custom branch to extend or customize the semantic model, wherein selection of a branch provides the user with an instance of the semantic model to work with and contain their specific customizations or extensions, which customizations or extensions can then be promoted to a production environment.
3. A system as described in any of claims 1-2, wherein the system supports multiple users in a customized or extended analytical application environment, including each of the multiple users being able to work on an instance of a semantic model using one or more custom semantic extensions to provide modifications as extensions or customizations to the semantic model.
4. The system of any of claims 1-2, wherein customizations or extensions developed by the plurality of users can then be promoted to a production environment.
5. The system according to any one of claims 1-2, wherein the analysis application environment is provided in a cloud environment.
6. A method for providing extensibility and customization in an analytical application environment, comprising: providing an analytical application environment at a computer including one or more processors of the system, which provides access to a data warehouse through the analytical application environment for storing data for a plurality of tenants; wherein each tenant of the plurality of tenants is leased to a customer and is associated with a tenant-specific customer schema for use in populating a data warehouse instance; wherein the system performs an extraction, transformation, loading or other data pipeline or processing as defined by a combination of an analytical application schema shared by the plurality of tenants and a tenant-specific customer schema associated with the tenant to receive data from an enterprise software application or data environment of the tenant and populates a data warehouse instance with data received from the enterprise software application or data environment of the tenant as defined by a combination of the analytical application schema and the tenant-specific customer schema; and Providing a semantic layer that enables extending a packaged semantic model with custom semantic extensions and providing custom content at the presentation layer, wherein the semantic layer includes: an initial semantic model operable to provide packaged content for accessing data loaded from a tenant's enterprise software application or data environment into its data warehouse instance as defined by a combination of the analytical application schema and the tenant-specific customer schema, and providing the packaged content to the presentation layer; and one or more semantic extensions that, when merged with an initial semantic model, operate to modify the operation of the semantic model and provide customized content to the presentation layer; wherein the one or more semantic extensions include branches and steps, and each of a plurality of users can use the one or more semantic extensions to provide modifications as extensions or customizations to the initial semantic model; and wherein a user is able to edit or create new customization branches to extend or customize a semantic model, including selection of a branch providing the user with an instance of the semantic model to work with and contain their specific customizations or extensions, wherein each branch is able to include one or more customization steps associated with a customization type and a corresponding extension, and wherein the customized branches are then able to be merged into the semantic model.
7. A method as claimed in claim 6, wherein the extension wizard enables a user to edit or create a custom branch to extend or customize the semantic model, wherein selection of a branch provides the user with an instance of the semantic model to work with and contain their specific customizations or extensions, which customizations or extensions can then be promoted to a production environment.
8. The method of any one of claims 6-7, wherein the system supports multiple users in a customized or extended analytical application environment, including each of the multiple users being able to work on an instance of a semantic model using one or more custom semantic extensions to provide modifications as extensions or customizations to the semantic model.
9. The method of any of claims 6-7, wherein the customizations or extensions developed by the plurality of users can then be promoted to a production environment.
10. The method according to any one of claims 6-7, wherein the analysis application environment is provided in a cloud environment.
11. A non-transitory computer-readable storage medium having instructions thereon, which, when read and executed by a computer comprising one or more processors, cause the computer to perform a method comprising: providing an analytical application environment at a computer including one or more processors of the system, which provides access to a data warehouse through the analytical application environment for storing data for a plurality of tenants; in, Each tenant of the plurality of tenants is leased to a customer and is associated with a tenant-specific customer schema for use in populating a data warehouse instance; wherein the system performs an extraction, transformation, loading or other data pipeline or processing as defined by a combination of an analytical application schema shared by the plurality of tenants and a tenant-specific customer schema associated with the tenant to receive data from an enterprise software application or data environment of the tenant and populates a data warehouse instance with data received from the enterprise software application or data environment of the tenant as defined by a combination of the analytical application schema and the tenant-specific customer schema; and Providing a semantic layer that enables extending a packaged semantic model with custom semantic extensions and providing custom content at the presentation layer, wherein the semantic layer includes: an initial semantic model operable to provide packaged content for accessing data loaded from a tenant's enterprise software application or data environment into its data warehouse instance as defined by a combination of the analytical application schema and the tenant-specific customer schema, and providing the packaged content to the presentation layer; and one or more semantic extensions that, when merged with an initial semantic model, operate to modify the operation of the semantic model and provide customized content to the presentation layer; wherein the one or more semantic extensions include branches and steps, and each of a plurality of users can use the one or more semantic extensions to provide modifications as extensions or customizations to the initial semantic model; and wherein a user is able to edit or create new customization branches to extend or customize a semantic model, including selection of a branch providing the user with an instance of the semantic model to work with and contain their specific customizations or extensions, wherein each branch is able to include one or more customization steps associated with a customization type and a corresponding extension, and wherein the customized branches are then able to be merged into the semantic model.
12. The non-transitory computer-readable storage medium of claim 11, wherein the extension wizard enables a user to edit or create a custom branch to extend or customize the semantic model, wherein selection of a branch provides the user with an instance of the semantic model to work with and contain their specific customizations or extensions, which can then be promoted to a production environment.
13. The non-transitory computer-readable storage medium of any one of claims 11-12, wherein the system supports multiple users in a customized or extended analytical application environment, including each of the multiple users being able to work on an instance of a semantic model using one or more custom semantic extensions to provide modifications as extensions or customizations to the semantic model.
14. The non-transitory computer-readable storage medium of any of claims 11-12, wherein the customizations or extensions developed by the plurality of users can then be rolled out to a production environment.
15. The non-transitory computer-readable storage medium of any one of claims 11-12, wherein the analytical application environment is provided in a cloud environment.
Citation Information
Patent Citations
Flexible multi-tenant support of metadata extension
US20100161648A1
Schema evolution in mult-tenant environment
US20160292192A1
Automated reshaping and restructuring of storage structures
US20180032550A1