System and method for data analytics with analytic application environment
Patent Information
- Application Number
- JP2024226515
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-08-09
- Filing Date
- 2024-12-23
- Publication Date
- 2025-03-26
- Estimated Expiration
- 2040-04-29
Smart Images

Figure 2025041795000001_ABST
Abstract
Description
[Technical field]
[0001] Copyright Notice A portion of the disclosure of this patent document contains material that is subject to copyright protection. As the patent document or patent disclosure is publicly disclosed in the U.S. Patent and Trademark Office patent files and records, the copyright owner has no objection to the copying thereof by anyone, but otherwise reserves all copyright rights without exception.
[0002] Priority claim This application claims the benefit of priority to U.S. Provisional Patent Application No. 62 / 841,093, filed April 30, 2019, entitled "SYSTEM AND METHOD FOR USE OF SCHEMAS WITH AN ANALYTIC APPLICATIONS ENVIRONMENT AND DATA WAREHOUSE," and U.S. Provisional Patent Application No. 62 / 885,118, filed August 9, 2019, entitled "SYSTEM AND METHOD FOR PROVIDING AN ANALYTIC APPLICATIONS ENVIRONMENT," each of which is incorporated herein by reference.
[0003] Technical Field The embodiments described herein relate generally to computer data analytics and computer-based methods for providing business intelligence data, and more particularly to systems and methods for providing an analytical application environment that enables development of software analytical applications for use with enterprise software application / data environments. [Background technology]
[0004] background Generally described, within an organization, data analytics enables the computer-based examination or analysis of large amounts of data in order to derive conclusions or other information from that data, while business intelligence tools provide an organization's business users with information that describes enterprise data in a form that enables strategic management decisions to be made.
[0005] There is growing interest in developing software applications that leverage the use of data analytics in connection with an organization's enterprise software application / data environment (e.g., an Oracle Fusion Applications environment or other type of enterprise software application / data environment) or in connection with a Software-As-A-Service (SaaS) or cloud environment (e.g., an Oracle Analytics Cloud or Oracle Cloud Infrastructure environment or other type of cloud environment). Summary of the Invention [Problem to be solved by the invention]
[0006] overview According to an embodiment, the analytic application environment enables data analytics associated with an organization's enterprise software application / data environment, or Software-As-A-Service or other type of cloud environment, and supports the development of computer-executable software analytic applications.
[0007] According to an embodiment, a data pipeline / processing, e.g., extraction, transformation, and loading processes, may operate according to an analytical application schema adapted to address a particular analytical use case or best practice to receive data from a customer's (tenant's) enterprise software application / data environment for loading into the data warehouse instance.
[0008] According to an embodiment, each customer (tenant) can be further associated with a customer tenancy and a customer schema. The data pipeline / processing adds data received from the enterprise software applications / data environment to the data warehouse instance and database tables as defined by the combination of the analytic application schema and the customer schema. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates a system for providing an analytical application environment according to an embodiment. [Diagram 2] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Diagram 3] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Figure 4] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Diagram 5] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Figure 6] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Figure 7] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Figure 8] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Figure 9] FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment. [Figure 10] FIG. 2 illustrates a flowchart of a method for providing an analytical application environment, according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Detailed Description As discussed above, within an organization, data analytics enables the 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 that describes the enterprise data in a form that enables strategic management decisions to be made.
[0011] In connection with an organization's enterprise software application or data environment (such as an Oracle Fusion Applications environment or any other type of enterprise software application or data environment) or There is growing interest in developing software applications that leverage the use of data analytics in conjunction with Software-As-A-Service or cloud environments (e.g., Oracle Analytics Cloud or Oracle Cloud infrastructure environments, or other types of cloud environments).
[0012] According to an embodiment, the analytic application environment enables data analytics associated with an organization's enterprise software application / data environment, or Software-As-A-Service or other type of cloud environment, and supports the development of computer-executable software analytic applications.
[0013] According to an embodiment, a data pipeline / processing, e.g., extraction, transformation, and loading processes, may operate according to an analytical application schema adapted to address a particular analytical use case or best practice to receive data from a customer's (tenant's) enterprise software application / data environment for loading into the data warehouse instance.
[0014] According to an embodiment, each customer (tenant) can be further associated with a customer tenancy and a customer schema. The data pipeline / processing adds data received from the enterprise software applications / data environment to the data warehouse instance and database tables as defined by the combination of the analytic application schema and the customer schema.
[0015] According to embodiments, technical advantages of the described systems and methods include utilizing a system-wide application schema or data model or a shared analytical application schema or data model maintained in an analytical application environment (cloud) tenancy in conjunction with tenant-specific customer schemas maintained in a customer tenancy to automatically or periodically (e.g., hourly / daily / weekly or other basis) populate or map actual data (actual tables) received from an enterprise software application / data environment to each customer's (tenant's) data warehouse instance or database table to reflect best practices for a particular analytical use case. 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 tables may then be utilized to create computer executable software analytical applications or to determine data analytics or other information associated with the data.
[0016] According to an embodiment, a computer-executable software analytic application may be associated with a data pipeline / processing, such as an ETL (extract, transform, load) process or an ELT (extract, load, transform) process, maintained by a data integration component, such as an ODI (Oracle Data Integrator) environment or other type of data integration component.
[0017] According to an embodiment, the analysis application environment is, for example, ADW (Oracle The analytics application environment may operate with a data warehouse environment or component, such as Oracle Autonomous Data Warehouse (ADWC), Oracle Autonomous Data Warehouse Cloud (ADWC), or other types of data warehouse environments or components adapted to store large amounts of data. Data may be added to the data warehouse environment or component via, for example, a star schema sourced from an enterprise software application / data environment, such as Oracle Fusion Applications, or other types of enterprise software application / data environments. Data made available to each customer (tenant) of the analytics application environment may be provisioned, for example, in an ADWC tenancy. The ADWC tenancy is associated with and accessible only to that customer (tenant), while providing access to other features of the shared infrastructure.
[0018] For example, according to an embodiment, an analytical application environment may include a data pipeline / processing tier coupled to a shared data pipeline / processing infrastructure that provides a common transformation map or repository. The data pipeline / processing tier enables customers (tenants) to ingest data extracted from their Oracle Fusion Applications environments that is loaded into a data warehouse instance within the ADWC tenancy, and includes support for functionality such as multiple data warehouse schemas, data extract and target schemas, and monitoring of the data pipeline / processing stages.
[0019] Introduction According to an embodiment, a data warehouse environment or component, such as, for example, an Oracle Autonomous Data Warehouse (ADW), an Oracle Autonomous Data Warehouse Cloud (ADWC), or any other type of data warehouse environment or component adapted to store large amounts of data, can provide a central repository for storing data collected by one or more business applications.
[0020] For example, according to an embodiment, a data warehouse environment or component may be provided as a multi-dimensional database employing OLAP (Online Analytical Processing) or other techniques to generate business-related data from multiple disparate sources of data. 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.
[0021] Horizontal business applications include ERP, HCM, CX, SCM, and EPM, as mentioned above, and can provide a wide range of functions across various corporate organizations.
[0022] Vertical applications are generally narrower in scope than horizontal applications, but provide access to a set of data up or down within a defined area or industry, such as medical software or banking software for use within a particular organization.
[0023] Software vendors are increasingly offering enterprise software products or components, such as Oracle Fusion Applications, as SaaS or cloud-oriented offerings, while other enterprise software products or components, such as Oracle ADWC, are also offering them as SaaS, PaaS ( It can be delivered as one or more of a Platform-as-a-Service, or hybrid subscription. Enterprise users of traditional Business Intelligence (BI) applications and processes are typically faced with the task of extracting data from horizontal and vertical line of business applications and putting the extracted data into a data warehouse, a process that can require both a lot of time and resources.
[0024] According to an embodiment, the analytical application environment enables a customer (tenant) to develop computer-executable software analytical applications for use with a BI component, such as, for example, an OBIA (Oracle Business Intelligence Applications) environment or other type of BI component adapted to examine large amounts of data obtained by the customer (tenant) itself or from multiple third-party entities.
[0025] For example, according to an embodiment, when used with a SaaS business productivity software product suite that includes a data warehouse component, the analytic application environment can be utilized to populate the data warehouse component with data from the business productivity software applications of the suite. Defined data integration flows can automate the ETL process of data between the business productivity software applications and the data warehouse, a process that may previously have been performed manually by users of the service.
[0026] As another example, according to embodiments, the analytical application environment can be pre-configured with a database schema for storing integrated data obtained across various business productivity software applications of the SaaS product suite. Such pre-configured database schema can be used to homogenize across the productivity software applications and corresponding transactional databases offered in the SaaS product suite while avoiding the user having to manually design, tune, and model the provided data warehouse.
[0027] As another example, according to an embodiment, the analytical application environment may be utilized to pre-populate the reporting interface of the data warehouse instance with associated metadata describing business-related data objects associated with various business productivity software applications, for example, to include pre-defined dashboards, key performance indicators (KPIs), or other types of reports.
[0028] Analytical Application Environment FIG. 1 is a diagram illustrating a system for providing an analysis application environment according to an embodiment.
[0029] As shown in FIG. 1, according to an embodiment, the analytical application environment 100 may be provided by or operate on a computer system having computer hardware (e.g., processor, memory) 101, 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.
[0030] According to an embodiment, the components and processes illustrated in FIG. 1 and further described 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. do.
[0031] For example, according to an embodiment, the components and processes described herein may be provided by a cloud computing system, or other suitably programmed computer system.
[0032] According to an embodiment, the control plane operates to control cloud or other software products offered in connection with a SaaS or cloud environment, such as, for example, an Oracle Analytics Cloud or Oracle Cloud Infrastructure environment, or any other type of cloud environment.
[0033] For example, according to an embodiment, under the control of a customer (tenant) 20 and / or a cloud environment having a provisioning component 111, the control plane may include a console interface 110 that allows access by a client computing device 10 having device hardware 12, management application 14, and user interface 16.
[0034] According to an embodiment, the console interface may allow 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 a SaaS or cloud environment provider and its customers (tenants).
[0035] For example, according to an embodiment, the console interface may provide an interface that enables a customer to provision services for use within the customer's SaaS environment, and an interface that enables the customer to configure those provisioned services.
[0036] According to an embodiment, the provisioning component may include various functions for provisioning the service specified by the provisioning command.
[0037] For example, according to an embodiment, a customer (tenant) can access and utilize the provisioning component via a console interface to purchase one or more suites of business productivity software applications along with a data warehouse instance for use with those software applications.
[0038] According to an embodiment, a customer (tenant) can request provisioning of a customer schema 164 in the data warehouse. The customer can also provide a number of attributes associated with the data warehouse instance through a console interface, including required attributes (e.g., login credentials) and optional attributes (e.g., size or speed). A provisioning component can then provision the requested data warehouse instance including the data warehouse customer schema and populate the data warehouse instance with the appropriate customer-provided information.
[0039] Additionally, according to an embodiment, the provisioning component can be utilized to update or edit a data warehouse instance and / or ETL processes operating in the data plane, for example, by changing or updating the requested frequency of ETL process execution for a particular customer (tenant).
[0040] Also, according to an embodiment, the provisioning component, as further described below, may comprise a provisioning application programming interface (API) 112, a number of workers 115, a metering manager 116, and a data plane API 118. When a command, instruction, or other input is received at the console interface to provision a service or change the configuration of a provisioned service within the SaaS environment, the console interface may communicate with the provisioning API, for example, by making an API call.
[0041] According to an embodiment, the data plane API can communicate with the data plane. 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.
[0042] According to an embodiment, the metering manager may include various functions for metering services and usage of services provisioned through the control plane.
[0043] For example, according to an embodiment, the metering manager can record the usage of processors provisioned via the control plane over time for a particular customer (tenant) for billing purposes. Similarly, the metering manager can record the amount of data warehouse storage space partitioned for use by a customer of a SaaS environment for billing purposes.
[0044] According to an embodiment, the data plane may include a data pipeline / processing layer 120 and a data transformation layer 134. Together, the data pipeline / processing layer 120 and the data transformation layer 134 process operational or transactional data from an organization's enterprise software application / data environment, such as, for example, business productivity software applications provisioned in a customer's (tenant's) SaaS environment. The data pipeline / processing may include various functions to extract transactional data from business applications and databases provisioned in the SaaS environment and then load the transformed data into a data warehouse.
[0045] According to an embodiment, the data transformation layer may include data models, such as knowledge models (KMs) or other types of data models, that the system utilizes to transform transactional data received from business applications and corresponding transactional databases provisioned in the SaaS environment into a model format understood by the analytical application environment. The model format may be provided in any data format suitable for storage in a data warehouse.
[0046] According to an embodiment, the data pipeline / processing provided by the data plane may comprise a monitoring component 122, a data staging component 124, a data quality component 126, and a data projection component 128, as further described below.
[0047] According to an embodiment, the data transformation layer may include a dimension creation component 136, a fact creation component 138, and an aggregate creation component 140, as described further below. The data plane may also include a data / configuration user interface 130 and a mapping / configuration database 132.
[0048] According to an embodiment, the data warehouse is configured with a default analysis application schema. The analysis warehouse schema may include an analysis warehouse schema (referred to herein, in accordance with some embodiments, as an analytic warehouse schema) 162, and a customer schema, as described above, for each customer (tenant) of the system.
[0049] According to an embodiment, the data plane is responsible for performing ETL (extract, transform, load) operations that include extracting transactional data from an organization's enterprise software application / data environment, such as business productivity software applications and corresponding transactional databases provided in a SaaS environment, transforming the extracted data into a model format, and loading the transformed data into customer schemas in a data warehouse.
[0050] For example, according to an embodiment, each customer (tenant) of the environment may be associated with its own customer tenancy in the data warehouse. The customer tenancy may be associated with its own customer schema and may additionally be provided with read-only access to an analytical application schema. The analytical application schema may be updated periodically or on other basis by a data pipeline / processing, e.g., an ETL process.
[0051] According to an embodiment, to support multiple tenants, the system may enable the use of multiple data warehouses or multiple data warehouse instances.
[0052] For example, according to an embodiment, a first warehouse customer tenancy of a first tenant may be comprised of a first database instance, a first staging area, and a first data warehouse instance of the multiple data warehouses or multiple data warehouse instances, and a second customer tenancy of a second tenant may be comprised of a second database instance, a second staging area, and a second data warehouse instance of the multiple data warehouses or multiple data warehouse instances.
[0053] According to an embodiment, the data pipeline / processing can be scheduled to extract transactional data at regular intervals (e.g., hourly / daily / weekly) from an enterprise software application / data environment, such as, for example, a business productivity software application and corresponding transaction database 106 provisioned in a SaaS environment.
[0054] According to an embodiment, an extraction process 108 can extract the transactional data, which can then be inserted into a data staging area by a data pipeline / processing. The data staging area can act as a temporary staging area for the extracted data. Data quality and data protection components can be used to ensure the integrity of the extracted data.
[0055] For example, according to an embodiment, the data quality component can perform validation of the extracted data while it is temporarily held in the data staging area.
[0056] According to an embodiment, once the extraction process has completed the extraction, a data transformation layer can begin a transformation process to change the extracted data into a model format for loading into the customer schema of the data warehouse.
[0057] As mentioned above, according to an embodiment, the data pipeline / processing can work in combination with a data transformation layer to transform the data into a model format. The data / configuration database may store metadata and data mappings that define the data models used by the data transformations. A data / configuration user interface (UI) may facilitate access to and modification of the mapping / configuration database.
[0058] According to an embodiment, based on the data model defined in the mapping / configuration database, the monitoring component can determine dependencies of the different data sets to be converted. Based on the determined dependencies, the monitoring component can determine which of the different data sets should be converted to the model format first.
[0059] For example, according to an embodiment, if a first model dataset has no dependencies on other model datasets, and a second model dataset has a dependency on the first model dataset, the monitoring component can transform the first dataset before the second dataset to accommodate the dependency of the second dataset on the first dataset.
[0060] According to an embodiment, the data transformation layer can transform the extracted data into a format suitable for loading into a data warehouse customer schema, for example according to a data model as described above. During transformation, the data transformation can create dimensions, create facts, and create aggregates as appropriate. Creating dimensions can include creating dimensions or fields for loading into the data warehouse instance.
[0061] For example, according to an embodiment, a dimension may include a number of categories of data, such as, for example, "Name," "Address," or "Age." Creating a fact involves creating values that data can take on or that can be "measured." Facts are mapped to appropriate dimensions in the data warehouse instance. Creating an aggregate involves creating a data mapping that computes an aggregation of transformed data to existing data in the customer schema 164 of the data warehouse instance.
[0062] According to an embodiment, once the transformations have been performed (as defined by the data model), a data pipeline / processing can read the source data, apply the transformations, and send this data to a data warehouse instance.
[0063] According to an embodiment, data transformations can be expressed as rules and values can be persisted in a staging area as soon as the transformations are performed. In the staging area, data quality and data projection components can validate the integrity of the transformed data before it is uploaded to a customer schema in a data warehouse instance. Monitoring can occur as the extract, transform, load process is executed, for example, on multiple compute instances or multiple virtual machines. Also, dependencies can be persisted during the extract, transform, load process and the data pipeline / processing can handle such ordering decisions.
[0064] According to an embodiment, after transforming the extracted data, the data pipeline / processing can execute a warehouse load procedure 150 to load the transformed data into a customer schema instance of the data warehouse. Following loading the transformed data into the customer schema, the transformed data can be analyzed and utilized in a variety of additional business intelligence processes.
[0065] Horizontally and vertically integrated business software applications generally target real-time data collection. This includes: Horizontally and vertically integrated business software applications are commonly used for daily workflow and store data in transactional databases, meaning that typically only the most recent data is stored in such databases.
[0066] For example, an HCM application may update records associated with an employee if the employee moves locations, but such HCM applications typically do not maintain records of each location that the employee has worked at during their tenure with the company. Thus, BI-related queries that attempt to determine employee movements within the company do not have sufficient records in the transactional database to complete such queries.
[0067] 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 a BI application, a data warehouse instance populated using the above techniques provides resources for the BI application to process such queries, for example, utilizing an interface provided by a business productivity / analytics product suite or by a customer's chosen SQL tool.
[0068] Data Pipeline Process FIG. 2 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0069] 2, according to an embodiment, the data pipeline process described above can be utilized to obtain data, for example, from a customer's (tenant's) enterprise software application / data environment (106) and, in the case of custom data 109, from one or more customer-specific applications 107, and loaded into a data warehouse instance. In some examples, the data warehouse instance includes the use of object storage 105 to store the data.
[0070] According to an embodiment, the data pipeline / processing maintains an analytical application schema, e.g., as a star schema, for each customer (tenant), which is updated by the system periodically or on other basis according to best practices for a particular analytical use case, e.g., Human Capital Management (HCM) analytics or Enterprise Resource Planning (ERP) analytics.
[0071] According to an embodiment, for each customer (tenant), the system utilizes an analytic application schema that the system maintains and updates in the analytic application environment (cloud) tenancy 114 to pre-populate the customer's data warehouse instance based on analysis of data in that customer's enterprise application environment and in the customer tenancy 117. In this manner, the analytic application schema maintained by the system enables the data pipeline / processing to retrieve data "live" from the customer's environment and load it into the customer's data warehouse instance.
[0072] Additionally, according to an embodiment, the analytical application environment provides, for each customer of the environment, a customer schema that can be easily modified by the customer. The customer schema allows the customer to supplement or utilize the data in the data warehouse instance. For each customer of the analytical application environment, the resulting data warehouse instance is The application acts as a database, the contents of which are partly controlled by the Customer and partly controlled by the analytical application environment (system), including where the database is pre-populated with appropriate data retrieved from the enterprise application environment to address various analytical use cases, such as HCM analytics or ERP analytics.
[0073] For example, according to an embodiment, a data warehouse (e.g., Oracle Autonomous Data Warehouse, ADWC) may include analytical application schemas and customer schemas sourced from the enterprise software application / data environment for each customer / tenant. Data provisioned in the data warehouse tenancy (e.g., ADWC tenancy) is accessible only to that tenant, but at the same time enables access to various functions, e.g., ETL-related functions or other functions of the shared analytical application environment.
[0074] According to an embodiment, to support multiple customers / tenants, the system enables the use of multiple data warehouse instances. For example, a first customer tenancy may be comprised of a first database instance, a first staging area, and a first data warehouse instance, and a second customer tenancy may be comprised of a second database instance, a second staging area, and a second data warehouse instance.
[0075] According to an embodiment, for each particular customer / tenant, once that data has been extracted, a data pipeline / processing can insert the extracted data into a data staging area for the tenant. The data staging area can act as a temporary staging area for the extracted data. Data quality and data protection components can be used to ensure the integrity of the extracted data, for example, by validating the extracted data while it is temporarily held in the data staging area. Once the extraction process has completed the extraction, a data transformation layer can be used to initiate a transformation process to change the extracted data into a model format for loading into the customer schema in the data warehouse.
[0076] Extract, Transform, Load / Publish FIG. 3 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0077] As shown in FIG. 3 , in accordance with an embodiment, utilizing the data pipeline process described above to, for example, extract data from a customer's (tenant's) enterprise software application / data environment, or in the case of custom data, source that data from one or more customer-specific applications, and load or refresh this data in a data warehouse instance generally involves three broad stages performed by ETP services 160 or processes including one or more of an extract service 163, a transform service 165, and a load / publish service 167 performed by one or more compute instance(s) 170.
[0078] Extraction: According to an embodiment, a list of view objects to extract can be submitted to an OracleBICC (Oracle BI Cloud Connector) component, for example by a ReST call. The extracted files can be uploaded to an object storage component for storing data, such as an OSS (Oracle Storage Service) component.
[0079] Conversion: According to an embodiment, the conversion process is performed by an object storage component (such as It takes data files from an application (e.g. OSS) and applies business logic while loading the data files into a target data warehouse, e.g. ADWC database. The target data warehouse exists inside the data pipeline / processing and is invisible to the customer (tenant).
[0080] Load / Publish: According to an embodiment, a load / publish service or process takes data from, for example, an ADWC database or warehouse and publishes it to a data warehouse instance accessible to customers (tenants).
[0081] Multiple customers (tenants) FIG. 4 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0082] As shown in FIG. 4, which illustrates operation of an embodiment of a system with multiple tenants (customers), the data pipeline process described above can be used to obtain data from, for example, each of multiple customer (tenant) enterprise software application / data environments and load it into a data warehouse instance.
[0083] According to an embodiment, the data pipeline / processing maintains an analytical application schema for each of multiple customers (tenants), e.g., Customer A 180, Customer B 182, that the system updates periodically or on other basis according to best practices for the particular analytics use case.
[0084] According to an embodiment, for each of a number of customers (e.g., Customer A, B), the system utilizes analytical application schemas 162A, 162B maintained and updated by the system to pre-populate the customer's data warehouse instance so that a data pipeline / processing can retrieve data from the customer's environment and load it into the customer's data warehouse instance 160A, 160B based on analysis of data in that customer's enterprise application environment 106A, 106B and in each customer's tenancy (e.g., Customer A tenancy 181, Customer B tenancy 183).
[0085] According to an embodiment, the analytic application environment also provides a customer schema (e.g., customer A schema 164A, customer B schema 164B) for each of multiple customers of the environment, which enables the customers to supplement and utilize the data in their data warehouse instance.
[0086] As described above, according to an embodiment, for each of multiple customers of the analytical application environment, the resulting data warehouse instance acts as a database, the contents of which are partly controlled by the customer and partly controlled by the analytical application environment (system), including where the database is pre-populated with appropriate data retrieved from the enterprise application environment to address various analytical use cases. Upon completion of the extraction process 108A, 108B for a particular customer, a data transformation layer can be used to initiate a transformation process that changes the extracted data into a model format for loading into the customer schema of the data warehouse.
[0087] Activation Plan FIG. 5 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0088] According to an embodiment, activation plans 186 may be utilized to control the operation of a customer's data pipeline / processing services for a particular functional area to address the specific needs of that customer (tenant).
[0089] For example, according to an embodiment, an activation plan may specify multiple extract services / steps, transform services / steps, and store (publish) services / steps to be executed in a particular order, at a particular time, and within a particular time period.
[0090] According to an embodiment, each customer may be associated with its own activation plan(s). For example, a first customer A's activation plan may determine which tables to retrieve from that customer's enterprise software application environment (e.g., a Fusion Applications environment) or determine how services and their processes are sequenced, and a second customer B's activation plan may similarly determine which tables to retrieve from that customer's enterprise software application environment or determine how services and their processes are sequenced.
[0091] According to an embodiment, activation plans can be stored in a mapping / configuration database and can be customized by customers via a data / configuration UI. Each customer can have multiple activation plans. Compute instances / services (virtual machines) running ETL processes for various customers can be dedicated to a specific service to use the activation plan according to the activation plan and then released for use by other services and activation plans.
[0092] According to an embodiment, based on determining historical performance data recorded over a period of time, the system can optimize the execution of, for example, an activation plan for one or more functional areas associated with a particular tenant, or an entire set of activation plans associated with multiple tenants, to address the utilization of VMs and Service Level Agreements (SLAs) for those tenants. Such historical data can include load volume and load time statistics.
[0093] For example, according to an embodiment, the historical data may include extract size, number of extracts, extract time, warehouse size, conversion time, publish (load) time, view object extract size, number of view object extract records, view object extract time, number of warehouse tables, number of processed records for a table, warehouse table conversion time, number of publish tables, and publish time. Such historical data may be utilized to forecast and plan current and future activation plans, for example, to orchestrate various tasks to execute sequentially or in parallel to achieve minimum time execution of an activation plan. In addition, the collected historical data may be utilized to optimize the overall activation plans of a tenant. In some embodiments, optimization of activation plans (i.e., jobs that are executed in a particular order, such as ETL) based on historical data may be automated.
[0094] ETL process flow FIG. 6 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0095] 6, according to an embodiment, the system enables the flow of data from each customer's enterprise software application environment (e.g., Fusion Applications environment) controlled by a data configuration / management / ETL / status service 190 in a (e.g., Oracle) management tenancy. In this example, the data flow includes data flow through a BICC component, a storage cloud service 192, e.g., an OSS, and from there to a data warehouse instance.
[0096] As discussed above, according to an embodiment, the flow of data may be managed by one or more services (e.g., including the extraction services discussed above, transformation services, as described in ETL repository 193) that take data from the storage cloud services and load it into an internal target data warehouse (e.g., ADWC database) 194. The target data warehouse is internal to the data pipeline / processing and is invisible to the customer.
[0097] According to an embodiment, data is moved in multiple stages to the data warehouse and then to database table change log 195. A load / publish service can load customer data from database table change log 195 into a target data warehouse instance in the customer tenancy that is associated with and accessible to the customer.
[0098] ETL Stages FIG. 7 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0099] According to an embodiment, extracting data from enterprise applications, transforming it, and loading it into a data warehouse instance involves multiple stages, each of which may have several sequential or parallel jobs, running on different space / hardware, including different staging areas 196, 198 for each customer.
[0100] Analyze Application Environment Metrics FIG. 8 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0101] As shown in FIG. 8, according to an embodiment, the metering manager may provide provisioned metrics 142 including functionality for metering services and usage of services provisioned through the control plane.
[0102] For example, a metering manager can record the usage of processors provisioned through the control plane over time for a particular customer (tenant) for billing purposes. Similarly, a metering manager can record the amount of data warehouse storage space partitioned for use by a customer of a SaaS environment for billing purposes.
[0103] Customizing your analytical application environment FIG. 9 further illustrates a system for providing an analytical application environment, according to an embodiment.
[0104] As shown in FIG. 9, in accordance with embodiments, in addition to data available from a customer's enterprise software application / data environment using, for example, the data pipeline process described above, an object store may be used to store data in some instances. One or more additional custom data 109A, 109B from one or more customer specific applications 107A, 107B can be extracted, transformed, and loaded into the data warehouse instance using either a data pipeline process as described above, including using a custom ETL process 144 or other process that can be modified from a customer perspective. Once the data is loaded into the data warehouse instance, the customer can create business database views that combine tables from both the customer schema and the software analysis application schema, and can query the data warehouse instance using an interface provided, for example, by the business productivity / analytics product suite or by the customer's SQL tool of choice.
[0105] Analytical Application Environment Methodology FIG. 10 illustrates a flow diagram of a method for providing an analytical application environment, according to an embodiment.
[0106] As shown in Figure 10, according to an embodiment, the analytical application environment provides access to a data warehouse for storing data by multiple tenants at step 200. The data warehouse is associated with an analytical application schema.
[0107] In step 202, each tenant of the multiple tenants is associated with a customer tenancy and a customer schema that the tenant will use when adding data to the data warehouse instance.
[0108] At step 204, the data warehouse instance is populated with the data received from the enterprise software application / data environment. Data associated with a particular tenant in the analytic application environment is provisioned in the data warehouse instance accessible to the particular tenant according to the analytic application schema and customer schema associated with the particular tenant.
[0109] According to various embodiments, the teachings herein may be conveniently implemented by one or more conventional general purpose or special purpose digital computers, computing devices, machines, or microprocessors, including one or more processors, memory, and / or computer-readable storage media programmed according to the teachings of the present disclosure. A programmer skilled in the art can readily prepare appropriate software coding based on the teachings of the present disclosure, as will be apparent to one skilled in the software arts.
[0110] In some embodiments, the present invention includes a computer program product that is a non-transitory computer readable storage medium(s) having instructions stored thereon. A computer can be programmed to perform any of the processes of the present teachings using the computer program product. For example, such storage media can include, but are not limited to, any type of disk, including hard disk drives, hard disks, 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 temporarily storing instructions and / or data.
[0111] The above 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.
[0112] For example, although some of the examples provided herein illustrate operation of an analytics application environment with an enterprise software application / data environment, such as, for example, an Oracle Fusion Applications 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, according to various embodiments, the systems and methods described herein may be used with other types of enterprise software application / data environments, cloud environments, cloud services, cloud computing, or other computing environments.
[0113] The embodiments have been selected and described to best explain the principles of the present teachings and their practical application, thereby enabling those skilled in the art to appreciate the various embodiments and, in addition, various modifications thereof suited to particular applications contemplated. The scope of the present disclosure is indicated by the appended claims and their equivalents.
Claims
1. A system for providing an analysis application environment, comprising: a computer including one or more processors for providing access by an analytical application environment to a data warehouse for storing data by a plurality of tenants, the data warehouse being associated with an analytical application schema; each tenant of the plurality of tenants is associated with a customer tenancy and a customer schema used by the tenant in populating a data warehouse instance; wherein the data warehouse instance is populated with data received from an enterprise software application or data environment, and data associated with a particular tenant of the analytic application environment is provisioned in the data warehouse instance associated with and accessible to the particular tenant in accordance with the analytic application schema and the customer schema associated with the particular tenant.
2. 2. The system of claim 1 , wherein a data pipeline or process operates according to the analytical application schema adapted to address a particular analytical use case or best practice and receives data from the tenant's enterprise software application or data environment for loading into the data warehouse instance.
3. 3. The method of claim 1, wherein a first customer tenancy of a first tenant is comprised of a first database instance, a first staging area, and a first data warehouse instance of a plurality of data warehouses or a plurality of data warehouse instances, and a second customer tenancy of a second tenant is comprised of a second database instance, a second staging area, and a second data warehouse instance of the plurality of data warehouses or the plurality of data warehouse instances.
4. 4. The system of claim 1, wherein the analytics application schema is maintained and updated by the system within an analytics application environment or cloud tenancy to pre-populate a customer's data warehouse instance based on analysis of the data within the customer's enterprise application environment within the customer tenancy.
5. 1. A method for providing an analytical application environment, comprising: providing access by the analytic application environment to a data warehouse for storing data by a plurality of tenants, the data warehouse corresponding to an analytic application schema; the method further comprising: Associating each tenant of the plurality of tenants with a customer tenancy and a customer schema used by the tenant in populating a data warehouse instance; and populating the data warehouse instance with data received from an enterprise software application or data environment, wherein data associated with a particular tenant of the analytic application environment is provisioned in the data warehouse instance associated with and accessible to the particular tenant in accordance with the analytic application schema and the customer schema associated with the particular tenant.
6. 6. The method of claim 5, wherein a data pipeline or process operates according to the analytical application schema adapted to address a particular analytical use case or best practice and receives data from the tenant's enterprise software application or data environment for loading into the data warehouse instance.
7. 7. The method of claim 5, wherein a first customer tenancy of a first tenant is comprised of a first database instance, a first staging area, and a first data warehouse instance of a plurality of data warehouses or a plurality of data warehouse instances, and a second customer tenancy of a second tenant is comprised of a second database instance, a second staging area, and a second data warehouse instance of the plurality of data warehouses or the plurality of data warehouse instances.
8. 8. The method of claim 5, wherein the analytics application schema is maintained and updated by the system within an analytics application environment or cloud tenancy to pre-populate a customer's data warehouse instance based on analysis of the data within the customer's enterprise application environment within the customer tenancy.
9. A non-transitory computer-readable storage medium having instructions that, when read and executed by a computer having one or more processors, cause the computer to perform steps including: providing access by the analytical application environment to a data warehouse for storing data by a plurality of tenants, the data warehouse corresponding to an analytical application schema; Associating each tenant of the plurality of tenants with a customer tenancy and a customer schema used by the tenant in populating a data warehouse instance; and populating the data warehouse instance with data received from an enterprise software application or data environment, wherein data associated with a particular tenant of the analytic application environment is provisioned in the data warehouse instance associated with the particular tenant and accessible to the particular tenant in accordance with the analytic application schema and the customer schema associated with the particular tenant.
10. 10. The non-transitory computer-readable storage medium of claim 9, wherein a data pipeline or process operates according to the analytical application schema adapted to address a particular analytical use case or best practice and receives data from the tenant's enterprise software application or data environment for loading into the data warehouse instance.
11. 11. The non-transitory computer-readable storage medium of claim 9 or 10, wherein a first customer tenancy of a first tenant is comprised of a first database instance, a first staging area, and a first data warehouse instance of a plurality of data warehouses or a plurality of data warehouse instances, and a second customer tenancy of a second tenant is comprised of a second database instance, a second staging area, and a second data warehouse instance of the plurality of data warehouses or the plurality of data warehouse instances.
12. 12. The non-transitory computer-readable storage medium of any one of claims 9 to 11, wherein the analytics application schema is maintained and updated by the system within an analytics application environment or cloud tenancy to pre-populate a customer's data warehouse instance based on analysis of the data within the customer's enterprise application environment within the customer tenancy.
13. 1. A system for utilizing a schema with an analytical application environment, comprising: a computer including one or more processors for providing access by an analytical application environment to a data warehouse for storing data; Each tenant of the multiple tenants: A tenancy provided within said data warehouse; and and a schema provided within the analytical application environment and used by the tenant; Each tenant is provided with access to an analytic application schema that is accessible to the plurality of tenants and updated by the analytic application environment; The system may add data to the instance of the data warehouse associated with a particular tenant using database tables associated with the particular tenant in accordance with a schema of the particular tenant and the analytical application schema.
14. 1. A method for utilizing a schema with an analytic application environment, comprising: providing access by the analytical application environment to a data warehouse for storing data; Each tenant of the multiple tenants: A tenancy provided within said data warehouse; and and a schema provided within the analytical application environment and used by the tenant; Each tenant is provided with access to an analytic application schema that is accessible to the plurality of tenants and updated by the analytic application environment; The method may include populating the data warehouse instance associated with a particular tenant using database tables associated with the particular tenant according to a schema of the particular tenant and the analytical application schema.
Citation Information
Patent Citations
Service management device, data access controller, and data retrieval method
JP2009146350A
Methods for updating a tenant space in a mega-tenancy environment
US20080162509A1
Metadata manager for analytics system
US20140229511A1