WO2015067014A1 - Method and system for managing data for performing write back on what-if analysis - Google Patents

Method and system for managing data for performing write back on what-if analysis Download PDF

Info

Publication number
WO2015067014A1
WO2015067014A1 PCT/CN2014/076847 CN2014076847W WO2015067014A1 WO 2015067014 A1 WO2015067014 A1 WO 2015067014A1 CN 2014076847 W CN2014076847 W CN 2014076847W WO 2015067014 A1 WO2015067014 A1 WO 2015067014A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
query
modification
write
current user
Prior art date
Application number
PCT/CN2014/076847
Other languages
French (fr)
Inventor
V Vimal Das KAMMATH
Vijaya Das C R
Jihui TAN
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to CN201480060021.0A priority Critical patent/CN105683961B/en
Publication of WO2015067014A1 publication Critical patent/WO2015067014A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Definitions

  • the present invention relates generally to the field of database technologies.
  • the present invention relates to a method and system for managing multiple versions of data while performing what- if analysis.
  • What-if analysis is a business intelligence technique that enables business users to simulate changes in business and visualize the outcome based on some given hypothesis or scenario. Upon providing changes to existing data, the what-if analysis automatically changes other impacted values in the report.
  • the what-if analysis can be used in various fields including, but not limited to, budgeting process, such as future tax rates, interest rates, inflation rates, employee count and expenses.
  • Fig. 1 illustrates a conventional method of performing write back on what-if analysis.
  • This method involves a business user who uses what-if reports and edits the values of some of the cells in the report to simulate changes in the business and visualize the outcome. Another key role is played by a domain expert who is an expert in the business domain and defines the rules or scenario according to which the changes in one value will impact other values in the report.
  • the business user provides a what-if input to an Online Analytical Processing (OLAP) engine to modify data stored in a data store.
  • the data store can be a traditional relational database or a Multidimensional Online Analytical Processing (MOLAP) data store or a big data store or any other data storage.
  • MOLAP Multidimensional Online Analytical Processing
  • the OLAP engine is the front end which displays the report contents to the user and provides option to change some values.
  • the changed values are provided to what-if analysis engine by the OLAP engine.
  • the what-if analysis engine uses scenario processing engine to apply the rules defined by the domain expert.
  • the scenario processing engine receives a user change as input, applies the rules stored in a scenario and calculates the values of all impacted cells. Finally, the OLAP engine displays the updated report the user.
  • Fig. 2 illustrates an exemplary scenario showing the what-if analysis performed in the field of automobile sector.
  • a car sales scenario wherein a car company wants to change the prices of cars to increase the revenue.
  • the company employee also referred to as user
  • the domain expert defines rules to simulate car sales market scenario. For example, the first rule states that increase or decrease in sale of a car is directly proportional to the reduction or increase in price respectively.
  • the second rule states that the total car sale cannot decrease, so if the sales of one car decrease, the sales of other cars increase uniformly to maintain old sales volume.
  • Fig. 3A illustrates a scenario where calculations are performed for all the data in the database and the updated data are written to the database simultaneously.
  • the method comprises modifying value of an attribute in an OLAP report by a user.
  • what-if analysis engine computes changes in all impacted values in the report based on the user modified value and displays to the user.
  • the user performs write back.
  • the what-if analysis engine now reads all data from original database and computes the changes in all impacted values for complete data and writes the complete updated data back to the database.
  • Fig. 3B illustrates another conventional method of performing write back.
  • all impacted data changes are calculated based on user changed input and are saved to a cache.
  • the method comprises modifying value of an attribute in an OLAP report by a user.
  • the what-if analysis engine computes changes in all impacted values in the report based on the user modified data and displays to the user. Then, user performs write back.
  • the what-if analysis engine now reads all data from original database and computes the changes in all impacted values for complete data and writes the complete updated data to the cache.
  • Future report generations fetch data directly from the cache.
  • the problems with this method is that when the amount of data is more, calculating the impacted change in the data and writing the same to the cache requires more time. Also, when the data is huge, the cache will need more space on the storage media and in the main memory.
  • Fig. 3C illustrates optimizing write back operation by creating a write back partition in database.
  • the data changes are calculated based on user changed input and are saved to a partition in the database.
  • a user modifies value of an attribute in an OLAP report.
  • the what-if analysis engine computes changes in all impacted values in the report based on the user modified data and displays to the user. Then, the user performs write back.
  • the what-if analysis engine now reads all data from an original database and computes the changes in all impacted values for complete data and writes the complete updated data to a changed data partition.
  • Future report generations fetch data directly from the partition.
  • the disadvantages of this method are that when the amount of data is more, calculating the impacted change in the data and writing the same to database partition requires more time. Also, when the data is huge, database will need more space on the storage media and slow query performance is experienced after the change.
  • Fig. 3D illustrates implementation of write back by storing the write back data into a personal workspace.
  • a user modifies value of an attribute in an OLAP report.
  • the what-if analysis engine computes changes in all impacted values in the report based on the user modified data and displays to the user. Then, the user performs write back.
  • the what-if analysis engine now reads all data from original database and computes the changes in all impacted values for complete data and writes the complete updated data to the personal workspace.
  • future report generations fetch data directly from the workspace file.
  • the problems with this method are that when the amount of data is more, calculating the impacted change in the data and writing the same to user workspace file requires more time. Also, as mentioned in above methods, when the data is huge, workspace file will need more space on the storage media.
  • the embodiments of the present invention provide a method for managing data for performing write back on what-if analysis.
  • the method comprises receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database. Then, retrieving the data related to the query from the central database.
  • the method further comprises retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user.
  • the one or more modification inputs are generated by the one or more users in respect of the data in the central database, said one or more modification inputs are stored in the write-back database.
  • the embodiments of the present invention provide a system for managing data for performing write back on what- if analysis.
  • the system comprises a central database configured to store data and an OLAP engine configured to receive a query on data stored in the central database from a current user, said current user is one of one or more users using the central database.
  • the system further comprises a write -back database configured to store one or more modification inputs, and a write-back processor communicably connected to the OLAP engine and the write-back database.
  • the write-back processor is configured to retrieve data related to the query from the central database, retrieve one or more modification inputs stored in the write -back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users.
  • the write-back processor is further configured to obtain change in the data retrieved in response to the query in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs, and provide a report with what-if modified data in respect of the query to the current user.
  • the embodiments of the present invention is related to a non-transitory computer readable medium including operations stored thereon that when processed by at least one processing unit cause a system to receive a query on data stored in a central database from a current user, said current user is one of one or more users using the central database, retrieve the data related to the query from the central database, retrieve one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users, said one or more modification inputs are stored in the write -back database, obtain change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs; and provide a report with what-if modified data in respect of the query to the current user.
  • the embodiments of the present invention provide a computer program for managing data for performing write back on what-if analysis.
  • the computer program comprises a code segment for receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database, code segment for retrieving the data related to the query from the central database, code segment for retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users, said one or more modification inputs are stored in the write-back database, code segment for obtaining change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs and code segment for providing a report with what-if modified data in respect of the query to the current user.
  • Fig.l illustrates a block diagram for performing write back on what-if analysis in accordance with an embodiment of the prior art
  • Fig.2 illustrates a tabular diagram of what-if analysis in accordance with an embodiment of the prior art
  • FIGs. 3A-3D show block diagram of different write back techniques on what-if analysis in accordance with embodiments of the prior art
  • FIG. 4A illustrates a system diagram of write back technique on what-if analysis in accordance with an embodiment of the present invention
  • FIG. 4B and 4C illustrates an apparatus of write back technique on what-if analysis in accordance with an embodiment of the present invention
  • FIGs. 5 and 6 show flowcharts illustrating method of performing write back to manage data for performing what-if analysis in accordance with an embodiment of the present invention.
  • Fig. 7 illustrates an exemplary structure of data in the write-back database in accordance with an embodiment of the present invention.
  • Fig. 4A illustrates a system diagram of write back technique for performing what-if analysis in accordance with an embodiment of the present invention.
  • the system comprises of an OLAP engine 402, a write-back processor 404, a write-back database 406, a central database 408, a rule processing engine 410 and one or more computing devices 412 associated to users and experts.
  • the OLAP engine 402 acts as interface which displays report contents to the user and provides option to change values of attributes in the central database 408 through the computing device 412.
  • the OLAP engine 402 is connected to the write-back processor 404 to invoke what-if analysis, perform write back and display the updated report to the user upon receiving a query from the user.
  • the write-back processor 404 is connected to the write -back database 408 and the central database 406.
  • the write-back database 408 stores only the modification inputs provided by user, instead of all the modified reports. Storing only the modification inputs saves the memory space and ensures that the write back operation is performed without any delay.
  • the central database 406 is a data storage which stores the entire data of an enterprise.
  • the central database 406 can include, but is not limited to, a relational database, a Multidimensional Online Analytical Processing (MOLAP) database or any other data store on which what-if analysis can be performed.
  • MOLAP Multidimensional Online Analytical Processing
  • the write-back processor 404 is configured to execute the what-if scenario using a rule processing engine 410 and compute the impacted changes to the data stored in the central database 406 at query time. As the query from users generally relates to only a fraction of complete data stored in the central database 406, the computation performed by the write-back processor 404 is comparatively faster.
  • Fig. 4B illustrates an apparatus of write back technique for performing what-if analysis in accordance with an embodiment of the present invention.
  • the apparatus comprises the write -back processor 404 and the write-back database 408 which form core of the invention.
  • the apparatus can be fitted into any system to support write-back on what-if analysis.
  • the components of the apparatus are illustrated in Fig. 4C.
  • the write-back database 408 comprises a write-back operation receiver 414, a write-back history manager 416 and a write-back history 418.
  • the write-back processor 404 comprises a user query receiver 420, a source data fetcher 422, a history playback manager 424 and a scenario executer 426.
  • the user provides one or more modification inputs to the write-back operation receiver 414.
  • the write-back operation receiver 414 transmits the one or more modification inputs to the write-back history manager 416 for storing into the write-back history 418 of write-back database 408.
  • the user makes a query in respect of data stored in the central database 408 to the user query receiver 420.
  • the source data fetcher 422 retrieves data from the central database 408.
  • the history playback manager 424 retrieves one or more stored modification inputs from the write-back history 418.
  • the history playback manager 424 retrieves the one or more modification inputs based on visibility of the user making the query.
  • the scenario executer 426 then uses the scenario processing engine 428 to apply each visible modification input on the original data.
  • the modification inputs are applied in a loop, with one modification at a time.
  • the modified data is provided to the user.
  • FIG. 5 and 6 show flowcharts illustrating method of performing write back to manage data for performing what-if analysis in accordance with an embodiment of the present invention.
  • Fig. 5 illustrates method of storing the modification inputs provided by user.
  • the users provide one or more modification inputs for performing what-if analysis on the data stored in the central database 408 at step 502.
  • the modification inputs are received by the OLAP engine 402 and transmitted to the write-back processor 404 at step 504.
  • the write-back processor 404 computes associated changes to the other data stored in the central database 408 based on the received one or more modification inputs at step 506.
  • the changed data from the central database 408 is then displayed to the user at step 508.
  • the user views the displayed results and provides input to write back the changes onto the central database 408 at step 510.
  • the write-back processor 404 stores only the user modification inputs in a personal workspace in the write-back database 406 at step 512.
  • the modification inputs are not applied to the data in the central database 408, and hence the original data in the central database 408 remains unchanged.
  • Fig. 6 illustrates a method for retrieving data from the central database with what-if modifications.
  • a current user sends a query in respect of the data stored in the central database 408 through the associated computing device 412 to the OLAP engine 402 at step 602.
  • the current user is one of the one or more users who use the central database 408 for what-if analysis as well as for viewing data in the central database 408.
  • the OLAP engine 402 receives the query from the current user and transmits the query to the write-back processor 404 for further processing.
  • the write-back processor 404 retrieves the data related to the query from the central database 408 at step 604.
  • the one or more modification inputs previously stored in the write-back database 406 by the one or more users are retrieved at step 606.
  • only the modification inputs which are visible to the current user making the query are retrieved by the write-back processor 404.
  • the permission for viewing modification inputs provided by one or more users to the current user is defined as change accessibility of the current user.
  • each of the retrieved modification inputs are applied to the data retrieved from the central database 408 in respect of the query at step 608.
  • changes to the data from the central database 408 are calculated based on timestamp of creation of each of the retrieved modification inputs.
  • the modification inputs are applied to the data in a loop, with the one user modification input followed by another, based on the timestamp of the modification inputs.
  • the modification input which was created first in the write-back database is applied first on the data, and so on.
  • modification inputs are applied to the data based on one or more predefined rules.
  • the one or more rules are already defined by an expert and stored in the rule processing engine 410.
  • the data report in respect of the generated query is provided to the current user through the user interface at step 610.
  • the data report comprises data which was modified by what-if analysis by other users, depending on change accessibility of the current user.
  • Fig. 7 illustrates an exemplary structure of data in the write-back database 406 in accordance with an embodiment of the present invention.
  • the users relate to a car selling enterprise.
  • a first user, userl changes the price of car model 'D' to '3, 00,000' .
  • the write -back processor 404 inputs an entry into the write-back database 406.
  • the write-back database 406 For each modification input by a user, the write-back database 406 stores identification number of the change/ modification and the user who has performed the change, timestamp of the modification which comprises date and time when the modification was performed. Further, the write-back database 406 stores the change accessibility for each modification input, the attribute to be modified and the modified value of the attribute. For example, the change accessibility for the modifications made by userl are visible to userl, Chief Executive Officer (CEO) and Chief Financial Officer (CFO) of the enterprise. A second user, CEO of the enterprise changes price of car model 'C to ⁇ , 10,000'. The modifications made by CEO are visible to CEO and CFO of the enterprise. In an exemplary embodiment, the change accessibility is preconfigured by concerned authority of the enterprise and can be modified later at any time.
  • the change ID is 'CI'
  • user name is userl
  • timestamp of the modification is June 11, 2013 at 10:25 am.
  • the write back history comprises attribute to be modified with key column as 'car model', key value as 'D', and column change as 'price' .
  • the write back history comprises the modified value of attribute as '3, 00,000' .
  • the write-back processor 404 computes the change in queried sub set of the data with respect to the modification input provided by the userl himself.
  • the one or more rules are applied to the queried subset of data and the visible modification input to obtain a data report for the query.
  • the write back processor 404 computes change in queried sub set of the data with respect to the first modification input made by userl followed by computing the change in queried sub set of the data with respect to the second modification input made by CEO. This order of change computation is based on the timestamp of the modification inputs. As userl has provided modification input before CEO, the modification input of userl will be applied first on the queried subset of data.
  • the data in the central database remains unchanged while performing write back. Also, the write back happens in a constant time irrespective of data size.
  • the method of present invention provides the option of undo and rollback for any of the write back performed earlier.
  • the present invention provides an option to selectively enable and/or disable write back changes performed by the one or more users accessing the database.
  • the described operations may be implemented as a method, system or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof.
  • the described operations may be implemented as code maintained in a "non-transitory computer readable medium", where a processing unit may read and execute the code from the computer readable medium.
  • the processing unit is at least one of a microprocessor and a processor capable of processing and executing the queries.
  • a non-transitory computer readable medium may comprise media such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, DVDs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, etc.), etc.
  • the non-transitory computer-readable media comprise all computer-readable media except for a transitory.
  • the code implementing the described operations may further be implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.).
  • the code implementing the described operations may be implemented in "transmission signals", where transmission signals may propagate through space or through a transmission media, such as an optical fiber, copper wire, etc.
  • the transmission signals in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc.
  • the transmission signals in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a non-transitory computer readable medium at the receiving and transmitting stations or devices.
  • An “article of manufacture” comprises non-transitory computer readable medium, hardware logic, and/or transmission signals in which code may be implemented.
  • a device in which the code implementing the described embodiments of operations is encoded may comprise a computer readable medium or hardware logic.
  • the code implementing the described embodiments of operations may comprise a computer readable medium or hardware logic.
  • Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise.
  • devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
  • FIG. 5 and 6 show certain events occurring in a certain order. In alternative embodiments, certain operations may be performed in a different order, modified or removed. Moreover, steps may be added to the above described logic and still conform to the described embodiments. Further, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet further, operations may be performed by a single processing unit or by distributed processing units.
  • Embodiment of the present invention provides a method to reduce the Input/Output, Memory and CPU usage when performing write back on what- if analysis.
  • Embodiment of the present invention provides a method which provides a constant time performance for write back on what-if analysis irrespective of the size of the data.
  • the method of the present invention can make write back on what-if analysis feasible for Big Data.
  • the method of the present invention supports selective rollback of any of the historical write backs in case of an incremental what-if write back.
  • the method of the present invention supports visualizing the incremental impact of each previous write back by disabling/enabling the changes of any of the previous write back operations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Embodiments of the present invention provide a method and system for managing data for performing write back on what-if analysis.In an embodiment,the method of the present invention stores only minimal data during write back on what-if analysis and actual calculations are deferred to the time when data is actually queried by a user. The present invention comprises a write back processor which stores all the modifications to the original data in a write back database. When the original database is queried by user,the write back processor calculates the changes to the queried data based on the modifications and provides the report.

Description

METHOD AND SYSTEM FOR MANAGING DATA FOR PERFORMING WRITE BACK ON WHAT-IF ANALYSIS
TECHNICAL FIELD
[0001] The present invention relates generally to the field of database technologies. In particular, the present invention relates to a method and system for managing multiple versions of data while performing what- if analysis.
BACKGROUND
[0002] What-if analysis is a business intelligence technique that enables business users to simulate changes in business and visualize the outcome based on some given hypothesis or scenario. Upon providing changes to existing data, the what-if analysis automatically changes other impacted values in the report. The what-if analysis can be used in various fields including, but not limited to, budgeting process, such as future tax rates, interest rates, inflation rates, employee count and expenses.
[0003] Fig. 1 illustrates a conventional method of performing write back on what-if analysis. This method involves a business user who uses what-if reports and edits the values of some of the cells in the report to simulate changes in the business and visualize the outcome. Another key role is played by a domain expert who is an expert in the business domain and defines the rules or scenario according to which the changes in one value will impact other values in the report. In an embodiment, the business user provides a what-if input to an Online Analytical Processing (OLAP) engine to modify data stored in a data store. The data store can be a traditional relational database or a Multidimensional Online Analytical Processing (MOLAP) data store or a big data store or any other data storage. The OLAP engine is the front end which displays the report contents to the user and provides option to change some values. The changed values are provided to what-if analysis engine by the OLAP engine. The what-if analysis engine uses scenario processing engine to apply the rules defined by the domain expert. The scenario processing engine receives a user change as input, applies the rules stored in a scenario and calculates the values of all impacted cells. Finally, the OLAP engine displays the updated report the user.
[0004] Fig. 2 illustrates an exemplary scenario showing the what-if analysis performed in the field of automobile sector. Consider a car sales scenario, wherein a car company wants to change the prices of cars to increase the revenue. The company employee (also referred to as user) wants to know that if they change the price of a certain car model, whether the revenue will increase or decrease and by how much. The domain expert defines rules to simulate car sales market scenario. For example, the first rule states that increase or decrease in sale of a car is directly proportional to the reduction or increase in price respectively. The second rule states that the total car sale cannot decrease, so if the sales of one car decrease, the sales of other cars increase uniformly to maintain old sales volume.
[0005] Now, the user changes the price of "C" model from 2, 50,000 to 3, 00,000, an increase by 20%. Since, first rule states that increase or decrease in sale of a car is directly proportional to the reduction or increase in price respectively, the sales of "C" model reduces by 20% to 80 units. Further, second rule states that the total car sale cannot decrease. Therefore, in order to counter the reduction of sales in "C" model by 20 units, the sales of other models increase equally to accommodate the 20 additional unit sales. The overall revenue increases from 163000000 to 164780000.
[0006] Once user has performed what-if analysis, the write back operation has to be performed, so that all the updated cells are saved back to the database. Once write back is performed, other users of the database can see the changes in the data. Also, other reports and scenarios which are dependent on the same data can see the updated values. In present scenario, during what-if analysis the scenario calculations are usually applied only on the data visible in the report, and reports usually display only a small fraction of the actual data. However, on a write back, the scenario calculations need to be applied on the complete data as the changes to the complete data needs to be computed and all the changed data needs to be updated and committed (saved) back to the database. Therefore, write back actions are usually much slower than what-if analysis on a report.
[0007] Currently, there are several techniques available for performing write back after what-if analysis as illustrated in Figs. 3A to 3D. Fig. 3A illustrates a scenario where calculations are performed for all the data in the database and the updated data are written to the database simultaneously. The method comprises modifying value of an attribute in an OLAP report by a user. Then, what-if analysis engine computes changes in all impacted values in the report based on the user modified value and displays to the user. Then, the user performs write back. The what-if analysis engine now reads all data from original database and computes the changes in all impacted values for complete data and writes the complete updated data back to the database. The problem with this method is that when the amount of data is more, calculating the impacted change in the data and writing the same to database requires more time. Also, visibility of changes cannot be provided to a subset of the users, which may require maintaining confidentiality on data and hence, all users can see the changes in data, which is actually reserved for certain section of users.
[0008] Fig. 3B illustrates another conventional method of performing write back. In this method, all impacted data changes are calculated based on user changed input and are saved to a cache. The method comprises modifying value of an attribute in an OLAP report by a user. The what-if analysis engine computes changes in all impacted values in the report based on the user modified data and displays to the user. Then, user performs write back. The what-if analysis engine now reads all data from original database and computes the changes in all impacted values for complete data and writes the complete updated data to the cache. Future report generations fetch data directly from the cache. The problems with this method is that when the amount of data is more, calculating the impacted change in the data and writing the same to the cache requires more time. Also, when the data is huge, the cache will need more space on the storage media and in the main memory.
[0009] Fig. 3C illustrates optimizing write back operation by creating a write back partition in database. The data changes are calculated based on user changed input and are saved to a partition in the database. In this method, a user modifies value of an attribute in an OLAP report. The what-if analysis engine computes changes in all impacted values in the report based on the user modified data and displays to the user. Then, the user performs write back. The what-if analysis engine now reads all data from an original database and computes the changes in all impacted values for complete data and writes the complete updated data to a changed data partition. Future report generations fetch data directly from the partition. The disadvantages of this method are that when the amount of data is more, calculating the impacted change in the data and writing the same to database partition requires more time. Also, when the data is huge, database will need more space on the storage media and slow query performance is experienced after the change.
[0010] Fig. 3D illustrates implementation of write back by storing the write back data into a personal workspace. In this method, a user modifies value of an attribute in an OLAP report. The what-if analysis engine computes changes in all impacted values in the report based on the user modified data and displays to the user. Then, the user performs write back. The what-if analysis engine now reads all data from original database and computes the changes in all impacted values for complete data and writes the complete updated data to the personal workspace. In this case also, future report generations fetch data directly from the workspace file. The problems with this method are that when the amount of data is more, calculating the impacted change in the data and writing the same to user workspace file requires more time. Also, as mentioned in above methods, when the data is huge, workspace file will need more space on the storage media.
[0011] To summarize the drawbacks in existing solutions, the solutions for write back operation are very slow as the scenario calculations need to be applied for the complete data. This requires all the data to be fetched from the database, the calculations to be performed on the complete data and then the updated values need to be written back. This operation puts strain on the Input/Output, memory and Central Processing (CPU). In case, the write back updates the original database, the changes are visible to all the users and it is not possible to provide visibility of the changed data only to selected users to maintain confidentiality on certain section of data.
[0012] In the alternative solutions mentioned above, if write back data is stored separately either in a partition or user cache or workspace file, visibility to the changed data can be provided only to selected users. However, these solutions need more storage space as the entire copy of modified original data needs to be maintained for each write back.
[0013] In the conventional write back solutions, when incremental write back operations are performed one after the other with one write back using the output of previous write back as source data, it is not possible to rollback any of the previous write backs. Further, it is not possible to visualize the incremental impact of each previous write back by disabling or enabling the changes of any of the previous write back operations.
[0014] Hence, there exists a need for a method and system for managing data for performing write back on what- if analysis to overcome the above mentioned problems.
SUMMARY
[0015] The shortcomings of the prior art are overcome and additional advantages are provided through the embodiments of the present invention. Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed disclosure.
[0016] The embodiments of the present invention provide a method for managing data for performing write back on what-if analysis. The method comprises receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database. Then, retrieving the data related to the query from the central database. The method further comprises retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user. The one or more modification inputs are generated by the one or more users in respect of the data in the central database, said one or more modification inputs are stored in the write-back database. Further, obtaining change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs. Finally, the method provides a report with what-if modified data in respect of the query to the current user. [0017] The embodiments of the present invention provide a system for managing data for performing write back on what- if analysis. The system comprises a central database configured to store data and an OLAP engine configured to receive a query on data stored in the central database from a current user, said current user is one of one or more users using the central database. The system further comprises a write -back database configured to store one or more modification inputs, and a write-back processor communicably connected to the OLAP engine and the write-back database. The write-back processor is configured to retrieve data related to the query from the central database, retrieve one or more modification inputs stored in the write -back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users. The write-back processor is further configured to obtain change in the data retrieved in response to the query in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs, and provide a report with what-if modified data in respect of the query to the current user.
[0018] The embodiments of the present invention is related to a non-transitory computer readable medium including operations stored thereon that when processed by at least one processing unit cause a system to receive a query on data stored in a central database from a current user, said current user is one of one or more users using the central database, retrieve the data related to the query from the central database, retrieve one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users, said one or more modification inputs are stored in the write -back database, obtain change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs; and provide a report with what-if modified data in respect of the query to the current user.
[0019] The embodiments of the present invention provide a computer program for managing data for performing write back on what-if analysis. The computer program comprises a code segment for receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database, code segment for retrieving the data related to the query from the central database, code segment for retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users, said one or more modification inputs are stored in the write-back database, code segment for obtaining change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs and code segment for providing a report with what-if modified data in respect of the query to the current user.
[0020] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects and features described above, further aspects, and features will become apparent by reference to the drawings and the following detailed description.
BRIEF DESCRIPTION OF DRAWINGS
[0021] The novel features and characteristic of the invention are set forth in the appended claims. The embodiments of the invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings. One or more embodiments are now described, by way of example only, with reference to the accompanying drawings.
[0022] Fig.l illustrates a block diagram for performing write back on what-if analysis in accordance with an embodiment of the prior art;
[0023] Fig.2 illustrates a tabular diagram of what-if analysis in accordance with an embodiment of the prior art;
[0024] Figs. 3A-3D show block diagram of different write back techniques on what-if analysis in accordance with embodiments of the prior art;
[0025] Fig. 4A illustrates a system diagram of write back technique on what-if analysis in accordance with an embodiment of the present invention;
[0026] Fig. 4B and 4C illustrates an apparatus of write back technique on what-if analysis in accordance with an embodiment of the present invention;
[0027] Figs. 5 and 6 show flowcharts illustrating method of performing write back to manage data for performing what-if analysis in accordance with an embodiment of the present invention; and
[0028] Fig. 7 illustrates an exemplary structure of data in the write-back database in accordance with an embodiment of the present invention.
[0029] The figures depict embodiments of the disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the disclosure described herein. DESCRIPTION OF EMBODIMENTS
[0030] The foregoing has broadly outlined the features and technical advantages of the present invention in order that the detailed description of the disclosure that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific aspect disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.
[0031] Fig. 4A illustrates a system diagram of write back technique for performing what-if analysis in accordance with an embodiment of the present invention. The system comprises of an OLAP engine 402, a write-back processor 404, a write-back database 406, a central database 408, a rule processing engine 410 and one or more computing devices 412 associated to users and experts. The OLAP engine 402 acts as interface which displays report contents to the user and provides option to change values of attributes in the central database 408 through the computing device 412. The OLAP engine 402 is connected to the write-back processor 404 to invoke what-if analysis, perform write back and display the updated report to the user upon receiving a query from the user. Further, the write-back processor 404 is connected to the write -back database 408 and the central database 406. The write-back database 408 stores only the modification inputs provided by user, instead of all the modified reports. Storing only the modification inputs saves the memory space and ensures that the write back operation is performed without any delay. The central database 406 is a data storage which stores the entire data of an enterprise. In an exemplary embodiment, the central database 406 can include, but is not limited to, a relational database, a Multidimensional Online Analytical Processing (MOLAP) database or any other data store on which what-if analysis can be performed. The write-back processor 404 is configured to execute the what-if scenario using a rule processing engine 410 and compute the impacted changes to the data stored in the central database 406 at query time. As the query from users generally relates to only a fraction of complete data stored in the central database 406, the computation performed by the write-back processor 404 is comparatively faster. [0032] Fig. 4B illustrates an apparatus of write back technique for performing what-if analysis in accordance with an embodiment of the present invention. The apparatus comprises the write -back processor 404 and the write-back database 408 which form core of the invention. The apparatus can be fitted into any system to support write-back on what-if analysis. The components of the apparatus are illustrated in Fig. 4C. The write-back database 408 comprises a write-back operation receiver 414, a write-back history manager 416 and a write-back history 418. Further, the write-back processor 404 comprises a user query receiver 420, a source data fetcher 422, a history playback manager 424 and a scenario executer 426. In an embodiment, the user provides one or more modification inputs to the write-back operation receiver 414. The write-back operation receiver 414 transmits the one or more modification inputs to the write-back history manager 416 for storing into the write-back history 418 of write-back database 408.
[0033] Then, the user makes a query in respect of data stored in the central database 408 to the user query receiver 420. Based on the query, the source data fetcher 422 retrieves data from the central database 408. Further, the history playback manager 424 retrieves one or more stored modification inputs from the write-back history 418. In an embodiment, the history playback manager 424 retrieves the one or more modification inputs based on visibility of the user making the query. The scenario executer 426 then uses the scenario processing engine 428 to apply each visible modification input on the original data. In an embodiment, the modification inputs are applied in a loop, with one modification at a time. Finally, the modified data is provided to the user.
[0034] Fig. 5 and 6 show flowcharts illustrating method of performing write back to manage data for performing what-if analysis in accordance with an embodiment of the present invention.
[0035] Fig. 5 illustrates method of storing the modification inputs provided by user. In any enterprise, the users provide one or more modification inputs for performing what-if analysis on the data stored in the central database 408 at step 502. The modification inputs are received by the OLAP engine 402 and transmitted to the write-back processor 404 at step 504. The write-back processor 404 computes associated changes to the other data stored in the central database 408 based on the received one or more modification inputs at step 506. The changed data from the central database 408 is then displayed to the user at step 508. The user views the displayed results and provides input to write back the changes onto the central database 408 at step 510. The write-back processor 404 stores only the user modification inputs in a personal workspace in the write-back database 406 at step 512. In this scenario, the modification inputs are not applied to the data in the central database 408, and hence the original data in the central database 408 remains unchanged. [0036] Fig. 6 illustrates a method for retrieving data from the central database with what-if modifications. In an embodiment, a current user sends a query in respect of the data stored in the central database 408 through the associated computing device 412 to the OLAP engine 402 at step 602. The current user is one of the one or more users who use the central database 408 for what-if analysis as well as for viewing data in the central database 408. The OLAP engine 402 receives the query from the current user and transmits the query to the write-back processor 404 for further processing. The write-back processor 404 retrieves the data related to the query from the central database 408 at step 604. Then, the one or more modification inputs previously stored in the write-back database 406 by the one or more users are retrieved at step 606. In an embodiment, only the modification inputs which are visible to the current user making the query are retrieved by the write-back processor 404. The permission for viewing modification inputs provided by one or more users to the current user is defined as change accessibility of the current user. Next, each of the retrieved modification inputs are applied to the data retrieved from the central database 408 in respect of the query at step 608. That is, changes to the data from the central database 408 are calculated based on timestamp of creation of each of the retrieved modification inputs. In an embodiment, the modification inputs are applied to the data in a loop, with the one user modification input followed by another, based on the timestamp of the modification inputs. The modification input which was created first in the write-back database is applied first on the data, and so on. Further, modification inputs are applied to the data based on one or more predefined rules. The one or more rules are already defined by an expert and stored in the rule processing engine 410. Finally, the data report in respect of the generated query is provided to the current user through the user interface at step 610. The data report comprises data which was modified by what-if analysis by other users, depending on change accessibility of the current user.
[0037] Consider a non-limiting exemplary embodiment of the present invention, where two write back operations on what-if analysis have been performed by one or more users for the data stored in the central database 408. The write back operations performed by the two users are stored in the write-back database 406. Fig. 7 illustrates an exemplary structure of data in the write-back database 406 in accordance with an embodiment of the present invention. In the illustrated embodiment, the users relate to a car selling enterprise. A first user, userl changes the price of car model 'D' to '3, 00,000' . Upon making the modifications, the write -back processor 404 inputs an entry into the write-back database 406. For each modification input by a user, the write-back database 406 stores identification number of the change/ modification and the user who has performed the change, timestamp of the modification which comprises date and time when the modification was performed. Further, the write-back database 406 stores the change accessibility for each modification input, the attribute to be modified and the modified value of the attribute. For example, the change accessibility for the modifications made by userl are visible to userl, Chief Executive Officer (CEO) and Chief Financial Officer (CFO) of the enterprise. A second user, CEO of the enterprise changes price of car model 'C to Ί, 10,000'. The modifications made by CEO are visible to CEO and CFO of the enterprise. In an exemplary embodiment, the change accessibility is preconfigured by concerned authority of the enterprise and can be modified later at any time.
[0038] As shown in Fig. 7, for the first modification input provided by userl, the change ID is 'CI', user name is userl, timestamp of the modification is June 11, 2013 at 10:25 am. Along with this information, the write back history comprises attribute to be modified with key column as 'car model', key value as 'D', and column change as 'price' . Lastly, the write back history comprises the modified value of attribute as '3, 00,000' .
[0039] Now, when a business user generates a query for viewing data report from the central database 408, only his modification inputs are visible to him. Therefore, the write-back processor 404 computes the change in queried sub set of the data with respect to the modification input provided by the userl himself. The one or more rules are applied to the queried subset of data and the visible modification input to obtain a data report for the query.
[0040] When the CFO generates a query for viewing data report from the central database 408, the changes/ modification inputs provided by the userl as well as CEO are visible to the CFO. In this scenario, the write back processor 404 computes change in queried sub set of the data with respect to the first modification input made by userl followed by computing the change in queried sub set of the data with respect to the second modification input made by CEO. This order of change computation is based on the timestamp of the modification inputs. As userl has provided modification input before CEO, the modification input of userl will be applied first on the queried subset of data.
[0041] In an embodiment, the data in the central database remains unchanged while performing write back. Also, the write back happens in a constant time irrespective of data size. The method of present invention provides the option of undo and rollback for any of the write back performed earlier.
[0042] In an embodiment, the present invention provides an option to selectively enable and/or disable write back changes performed by the one or more users accessing the database.
[0043] The described operations may be implemented as a method, system or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The described operations may be implemented as code maintained in a "non-transitory computer readable medium", where a processing unit may read and execute the code from the computer readable medium. The processing unit is at least one of a microprocessor and a processor capable of processing and executing the queries. A non-transitory computer readable medium may comprise media such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, DVDs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, etc.), etc. The non-transitory computer-readable media comprise all computer-readable media except for a transitory. The code implementing the described operations may further be implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.).
[0044] Still further, the code implementing the described operations may be implemented in "transmission signals", where transmission signals may propagate through space or through a transmission media, such as an optical fiber, copper wire, etc. The transmission signals in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc. The transmission signals in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a non-transitory computer readable medium at the receiving and transmitting stations or devices. An "article of manufacture" comprises non-transitory computer readable medium, hardware logic, and/or transmission signals in which code may be implemented. A device in which the code implementing the described embodiments of operations is encoded may comprise a computer readable medium or hardware logic. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the invention, and that the article of manufacture may comprise suitable information bearing medium known in the art.
[0045] The terms "an embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise.
[0046] The terms "including", "comprising", "having" and variations thereof mean "including but not limited to", unless expressly specified otherwise.
[0047] The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.
[0048] The terms "a", "an" and "the" mean "one or more", unless expressly specified otherwise.
[0049] Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
[0050] A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
[0051] Further, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
[0052] When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality /features. Thus, other embodiments of the invention need not include the device itself.
[0053] The illustrated operations of Figs. 5 and 6 show certain events occurring in a certain order. In alternative embodiments, certain operations may be performed in a different order, modified or removed. Moreover, steps may be added to the above described logic and still conform to the described embodiments. Further, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet further, operations may be performed by a single processing unit or by distributed processing units.
[0054] The foregoing description of various embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
[0055] Additionally, advantages of present invention are illustrated herein.
[0056] Embodiment of the present invention provides a method to reduce the Input/Output, Memory and CPU usage when performing write back on what- if analysis.
[0057] In an embodiment, the time taken to perform write back on what-if analysis has been tremendously reduced.
[0058] Embodiment of the present invention provides a method which provides a constant time performance for write back on what-if analysis irrespective of the size of the data.
[0059] In an embodiment, the method of the present invention can make write back on what-if analysis feasible for Big Data.
[0060] In one embodiment, the method of the present invention supports selective rollback of any of the historical write backs in case of an incremental what-if write back.
[0061] In one embodiment, the method of the present invention supports visualizing the incremental impact of each previous write back by disabling/enabling the changes of any of the previous write back operations.
[0062] Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
[0063]
[0064] With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
[0065] In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
[0066] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims

CLAIMS What is claimed is:
1. A method for managing data for performing write back on what- if analysis, said method comprising:
receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database;
retrieving the data related to the query from the central database;
retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users in respect of the data in the central database;
obtaining change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs; and
providing a report with what- if modified data in respect of the query to the current user.
2. The method as claimed in claim 1, wherein the change in the data retrieved in response to the query is obtained by applying one or more rules defined by a rule processing engine to the queried data and the one or more modification inputs.
3. The method as claimed in claim 2, wherein the timestamp is used to define the order of applying the one or more rules to the one or more modification inputs.
4. The method as claimed in claim 1, wherein the one or more modification inputs comprises details selected from a group comprising attribute to be modified and modified value of the attribute.
5. The method as claimed in claim 4, wherein details including the one or more users performing the modification, timestamp of modification of the attribute and accessibility of modification to the one or more users are stored along with the one or more modification inputs in the write-back database.
6. The method as claimed in claim 1, wherein the change accessibility of the current user defines permission for viewing changes made by the one or more users to the current user.
7. The method as claimed in claim 1, wherein the query is a SQL query or a MDX query.
8. An apparatus for managing data for performing write back on what- if analysis, said apparatus comprising:
a OLAP engine configured to: receive a query on data stored in a central database from a current user, said current user is one of one or more users using the central database;
a write-back database configured to store one or more modification inputs; and
a write -back processor communicably connected to the OLAP engine and the write-back database, said write -back processor is configured to:
retrieve data related to the query from the central database;
retrieve one or more modification inputs stored in the write -back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users;
obtain change in the data retrieved in response to the query in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs; and
provide a report with what-if modified data in respect of the query to the current user.
9. The apparatus as claimed in claim 8, wherein the change in the data retrieved in response to the query is obtained by applying one or more rules defined by a rule processing engine to the queried data and the one or more modification inputs
10. The apparatus as claimed in claim 8, wherein the timestamp defines the order of applying the one or more rules to the one or more modification inputs.
11. The apparatus as claimed in claim 8, wherein the one or more modification inputs comprises details selected from a group comprising attribute to be modified and modified value of the attribute.
12. The apparatus as claimed in claim 11, wherein the write -back database stores details including the one or more users performing the modification, timestamp of modification of the attribute and accessibility of modification to the one or more users along with the one or more modification inputs.
13. The apparatus as claimed in claim 8, wherein the change accessibility of the current user defines permission for viewing changes made by the one or more users to the current user.
14. The apparatus as claimed in claim 8, wherein the OLAP engine is specifically configured to receive the query and the one or more modification inputs from one or more client machines associated to the one or more users.
15. The apparatus as claimed in claim 14, wherein the one or more client machines are selected from at least one of a mobile device, personal computer, Personal Digital Assistants (PDA), and any other communication devices capable of performing data transmission and displaying.
16. A non-transitory computer readable medium including operations stored thereon that when processed by at least one processing unit cause a system to perform the acts of:
receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database;
retrieving the data related to the query from the central database;
retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users, said one or more modification inputs are stored in the write-back database;
obtaining change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs; and
providing a report with what- if modified data in respect of the query to the current user.
17. A computer program for managing data for performing write back on what-if analysis, said computer program comprising:
code segment for receiving a query on data stored in a central database from a current user, said current user is one of one or more users using the central database, code segment for retrieving the data related to the query from the central database, code segment for retrieving one or more modification inputs stored in a write-back database based on change accessibility of the current user, wherein the one or more modification inputs are generated by the one or more users, said one or more modification inputs are stored in the write -back database, code segment for obtaining change in the data retrieved in response to the query, in respect of each of the retrieved one or more modification inputs, said change is obtained based on timestamp of the retrieved one or more modification inputs and code segment for providing a report with what-if modified data in respect of the query to the current user.
PCT/CN2014/076847 2013-11-06 2014-05-06 Method and system for managing data for performing write back on what-if analysis WO2015067014A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201480060021.0A CN105683961B (en) 2013-11-06 2014-05-06 Method and system for managing data for write back of hypothesis analysis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ININ5008/CHE/2013 2013-11-06
IN5008CH2014 2013-11-06

Publications (1)

Publication Number Publication Date
WO2015067014A1 true WO2015067014A1 (en) 2015-05-14

Family

ID=53040841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/076847 WO2015067014A1 (en) 2013-11-06 2014-05-06 Method and system for managing data for performing write back on what-if analysis

Country Status (1)

Country Link
WO (1) WO2015067014A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411590A (en) * 2016-09-29 2017-02-15 中国联合网络通信集团有限公司 Configuration file management method and apparatus
US10909134B2 (en) 2017-09-01 2021-02-02 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010294A1 (en) * 1999-12-02 2006-01-12 Microsoft Corporation Write-back to cells
US20070022120A1 (en) * 2005-07-25 2007-01-25 Microsoft Corporation Caching and modifying portions of a multi-dimensional database on a user device
CN101571871A (en) * 2009-06-09 2009-11-04 陈红 Query rewriting-based What-if hypothetical analysis method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010294A1 (en) * 1999-12-02 2006-01-12 Microsoft Corporation Write-back to cells
US20070022120A1 (en) * 2005-07-25 2007-01-25 Microsoft Corporation Caching and modifying portions of a multi-dimensional database on a user device
CN101571871A (en) * 2009-06-09 2009-11-04 陈红 Query rewriting-based What-if hypothetical analysis method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411590A (en) * 2016-09-29 2017-02-15 中国联合网络通信集团有限公司 Configuration file management method and apparatus
US10909134B2 (en) 2017-09-01 2021-02-02 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment
US11734293B2 (en) 2017-09-01 2023-08-22 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment

Similar Documents

Publication Publication Date Title
US10282446B2 (en) Dynamic selection of source table for DB rollup aggregation and query rewrite based on model driven definitions and cardinality estimates
US20210049190A1 (en) System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment
CA2824319C (en) Column smart mechanism for column based database
US20240078229A1 (en) Generating, accessing, and displaying lineage metadata
CN105683944B (en) Method, equipment and medium for the order training method in machine learning framework
US20120310934A1 (en) Historic View on Column Tables Using a History Table
JP6832292B2 (en) Systems and methods for providing sandbox support for multidimensional database environments
US7822775B2 (en) Method and system for managing complex database information
US11086855B1 (en) Enterprise connectivity
US20140258212A1 (en) Dynamic in-memory database search
US9239858B1 (en) High-concurrency transactional commits
US7415457B2 (en) Using a cache to provide cursor isolation
WO2015067014A1 (en) Method and system for managing data for performing write back on what-if analysis
CN104111962B (en) Enhanced affairs cache with batch operation
US8495043B2 (en) System and method for allowing updates to database objects
CN112364021A (en) Service data processing method, device and storage medium
US20180165339A1 (en) Delta Replication
CN105683961B (en) Method and system for managing data for write back of hypothesis analysis
US20180218159A1 (en) Encryption transition in a database
US11580131B2 (en) Methods and apparatus for monitoring configurable performance indicators
US9201909B1 (en) Data volume attributes for entity-relationship modeling of databases
US9465836B2 (en) Enhanced business object retrieval
US20200192913A1 (en) Automated summarized view of multi-dimensional object in enterprise data warehousing systems
US20150379585A1 (en) Single Sheet Planning
US8392374B2 (en) Displaying hidden rows in a database after an expiration date

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14860185

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14860185

Country of ref document: EP

Kind code of ref document: A1