WO2016146019A1 - Method and restructuring server for restructuring data stores of a multi-dimensional database - Google Patents

Method and restructuring server for restructuring data stores of a multi-dimensional database Download PDF

Info

Publication number
WO2016146019A1
WO2016146019A1 PCT/CN2016/076077 CN2016076077W WO2016146019A1 WO 2016146019 A1 WO2016146019 A1 WO 2016146019A1 CN 2016076077 W CN2016076077 W CN 2016076077W WO 2016146019 A1 WO2016146019 A1 WO 2016146019A1
Authority
WO
WIPO (PCT)
Prior art keywords
restructuring
data
data stores
server
aggregation
Prior art date
Application number
PCT/CN2016/076077
Other languages
French (fr)
Inventor
Ravindra PESALA
Kanaka Kumar AVVARU
Guangcheng Zhou
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 CN201680016992.4A priority Critical patent/CN107408134A/en
Publication of WO2016146019A1 publication Critical patent/WO2016146019A1/en

Links

Images

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Definitions

  • the present disclosure relates generally to database management systems and, in particular, to a system and method for restructuring data stores of a multi-dimensional database.
  • the multi-dimensional data models define the structure of multi-dimensional data stores.
  • the multi-dimensional data models comprise measures and dimensions.
  • the dimensions in turn comprise hierarchy, level, and attributes.
  • Multidimensional Online Analytical Processing is one of the methodologies by which data is stored in multi-dimensional data stores.
  • the data storage is optimized for storing multi-dimensional data by using special indexing structures.
  • MOLAP maintains the multi-dimensional data model, consisting of dimensions, measures, hierarchies, levels and attributes. In the data analysis process, this model information is important for analysts to visualize cube in multi-dimensional model. When the analysis model is refined or updated for modification or addition of new aspects of analysis components, the changes has to be applied in MOLAP System.
  • the process of applying changes to any of the model is known as restructuring of cube or data.
  • the cube restricting may include addition or deletion of measures, addition or deletion of dimensions, addition or deletion of hierarchy, addition or deletion of levels and updating of members.
  • MOLAP reconstruction there are few methods for MOLAP reconstruction.
  • the old cube data is deleted, a cube is recreated and all cube data is reloaded from raw data.
  • this method if the raw data is incomplete or not present, then it causes data loss and data integrity issues.
  • data is inserted into modified cube from raw data through generated scripts by identifying the changes between cube data model and raw data.
  • the method comprises modelling the structure of the relational database to an intermediate representation, say model A and also the structure of the cube is modeled to an intermediate representation, say model B.
  • the two intermediate representations, model A and model B are compared and the differences between the two models are identified.
  • the differences are used to modify the structure of the cube.
  • the modified structure of the cube is used to generate a script for retrieving data from the relational database for insertion into the cube.
  • the script is run and the data is inserted into the modified cube.
  • the relational database contains the original data or raw data. So, if the raw data is incomplete or not present then it causes data loss and data integrity issues. Also, space is wasted for storing raw data as backup. Further, this method identifies the changes only in OLAP model update and does not recognize the cube member data updates.
  • old and new model are compared to identify the differences. Based on the identified differences, a new cube data is created by making changes to old cube data .
  • model restructuring the method comprises reading the difference between the old and new OLAP model to identify the changes such as adding a dimension, delete a level, move level across hierarchies etc. Then, data from OLAP cube is read row by row and data is created for new cube by applying the identified changes.
  • data restructuring the method comprises parsing the meta data changes provided by user and gives inputs such as delete a level member, rename level member, move a member across levels etc. Then, the changes in metadata are parsed and the changes are applied on old cube data to create new cube data row by row.
  • the existing methods for restructuring cube have one or more disadvantages.
  • the existing methods result in lot of load on system when restructure is in progress.
  • user cannot query for long time when restructuring is in progress.
  • the restructuring becomes impractical solution because of lot of resources and time taken for the process completion.
  • the current methods result in wastage of space for storing both raw data and MOLAP data, if solution is based on reload from raw data. Further, the methods result in accuracy and consistency problems if any changes or deletions happen over the time.
  • the objective of the present disclosure is to provide a method and a restructuring server for restructuring data stores of a multi-dimensional database.
  • the present disclosure relates to a method for restructuring data stores of a multi-dimensional database.
  • the method comprises one or more steps performed by a restructuring server.
  • the method comprises receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database, creating a new data store based on the restructuring information, generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores and loading an incremental data into the new data store.
  • the method of present disclosure comprises receiving a query requiring information from the one or more data stores.
  • the method further comprises determining presence of differential metadata in the one or more data stores.
  • the method comprises generating a first aggregation output by performing row wise aggregation of the columns in the query.
  • the method comprises generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules and generating a third aggregation output by applying result level rules on the second aggregation output.
  • the method comprises merging the first and the third aggregation output of each of the one or more data stores to provide result of the query.
  • a restructuring server for restructuring data stores of a multi-dimensional database.
  • the restructuring server comprises a receiving module for receiving restructuring information corresponding to a change in a latest data store of one or more data stores.
  • the system further comprises a data store creation module for creating a new data store based on the restructuring information.
  • the system also comprises a metadata generation module for generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores.
  • the system comprises a data loader for loading incremental data into the new data stores.
  • the receiving module is further configured to receive a query requiring information from the one or more data stores.
  • the restructuring server comprises a query engine for generating a first aggregation output by performing row wise aggregation of the columns in the query, upon determining absence of differential metadata in the each of the one or more data stores. Further, the query engine determining presence of differential metadata in the each of the one or more data stores and performs generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules and generating a third aggregation output by applying result level rules on the second aggregation output. Further, the query engine merges the first and the third aggregation output of each of the one or more data stores to provide result of the query.
  • the present disclosure relates to a non-transitory computer readable medium including operations stored thereon that when processed by at least one processor cause a restructuring server to perform one or more actions by performing the acts of receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database. Then, act of creating a new data store based on the restructuring information is performed. Further, act of generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores is performed. Lastly, act of loading an incremental data into the new data store is performed.
  • the present disclosure relates to a computer program for performing one or more actions on a restructuring server.
  • the computer program comprises code segment for receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database.
  • the computer program also comprises code segment for creating a new data store based on the restructuring information.
  • the computer program also comprises code segment for generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores.
  • the computer program also comprises code segment for loading an incremental data into the new data store is performed.
  • the cube model changes with logical restructure without any heavy data reloading or recreation of entire data cube.
  • only a differential metadata is added to the old cubes.
  • the incremental data is added to a newly created data store.
  • the present disclosure helps in reducing load on system.
  • the cube is available instantly for user analysis after restructuring as the restructure may happen parallely. Further, there is no impact on time for restructuring of higher volumes of data. Therefore, the user does not face query down time.
  • Embodiments of the present disclosure save space as raw data need not to be retained. In an embodiment of the present disclosure, there is no consistency or accuracy problem due to restructuring.
  • Figure 1 shows exemplary environment for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure
  • FIG. 2 shows detailed block diagram of restructuring server in accordance with some embodiments of the present disclosure
  • FIG. 3 shows block diagram of query engine of the restructuring server in accordance with some embodiments of the present disclosure
  • Figure 4 shows block diagram of multidimensional database of the restructuring server in accordance with some embodiments of the present disclosure
  • Figure 5 shows exemplary embodiment of generating a differential metadata for one or more data stores in accordance with some embodiments of the present disclosure
  • Figure 6 illustrates a flowchart showing method for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure
  • Figure 7 illustrates a flowchart showing method for executing a query in accordance with some embodiments of the present disclosure
  • Figures 8A to 8F illustrate an exemplary embodiment of restructuring the cube and query execution in accordance with some embodiments of the present disclosure.
  • Figure 9 illustrates a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
  • Embodiments of the present disclosure relate to a method and a restructuring server for restructuring data stores of a multi-dimensional database.
  • the restructuring server may be used in any database management system for restructuring data stores of the database.
  • the restructuring server of the present disclosure may be used with systems which deal with model changes.
  • the systems may be operating on store models like file based, memory based or a combination thereof.
  • the system may be operating on distributed/non-distributed storage and processing models.
  • the present disclosure provides a restructure solution by maintaining logical data stores for every model and tracking only the model differences in store when restructure is performed by user. Therefore, there is no need to update the old data present in cube as the difference in models is sufficient to perform the required processing on the data during query.
  • Each data store comprises a cube model, differential metadata as per current cube model and data files.
  • a restructure is performed by user with new cube model, a new store is created with the latest cube model.
  • the data in the old stores is not updated, and only differential metadata is added to the old store.
  • This differential metadata represents the differences between the latest cube model and old model.
  • all the incremental data is loaded to the newly created store.
  • the query fields are mapped as per the cube model associated with each store. So, only the fields applicable for that store are considered during data scan.
  • the results returned from each store are reconstructed as per the latest cube model using differential metadata and final query result is prepared.
  • Figure 1 shows exemplary environment for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure.
  • architecture comprises a restructuring server 100 for restructuring data stores of a multi-dimensional database 112.
  • the restructuring server 100 may be an independent system which may be communicatively coupled with server of database management system.
  • restructuring server 100 may be configured within the server of the database management system itself.
  • the architecture also comprises one or more user devices 1081, 1082, . . . 108n (collectively referred to as user devices 108) and a multi-dimensional database 112 connected to the restructuring server 100.
  • user devices 108 are communicatively coupled to the restructuring server 100 through a network 110 for facilitating restructuring of data stores of the multi-dimensional database 112 and querying the multi-dimensional database 112 for information.
  • the user devices 108 comprise an application program that uses the services of the restructuring server 100.
  • the user devices 108 with the application program may be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like.
  • the user devices 108 may be used by various stakeholders or end users of the organization, such as project managers, executives and employees
  • the user devices 108 are used by associated users to provide information for restructuring and to create one or more queries.
  • the user devices 108 are configured with one or more interfaces (not shown in figure 1) for communicating with the restructuring server 100 over the network 110.
  • the restructuring server 100 includes a central processing unit ( “CPU” or “processor” ) 102, a memory 104 and an interface 106.
  • the processor 102 may comprise at least one data processor for executing program components and for executing user-or system-generated requests.
  • a user may include a person, a person using a device such as those included in this invention, or such a device itself.
  • the processor 102 is configured to fetch and execute computer-readable instructions stored in the memory 104.
  • the memory 104 is communicatively coupled to the processor 102.
  • the memory 104 stores processor-executable instructions to restructure data stores of a multi-dimensional database 112.
  • the restructuring server 100 may include the input/output (I/O) interface 106 for communicating with the one or more user devices 108.
  • I/O input/output
  • the restructuring server 100 also acts as user device. Therefore, the one or more inputs or queries are directly received at the restructuring server 100 for query execution and user interaction.
  • the multi-dimensional database 112 stores big data information.
  • the information stored in the multidimensional database 112 may be related to one or more establishments, including, but are not limited to, financial institutions, stocks, commercial establishments, government offices, data security centers, social networks, educational institutions, weather forecast centers and manufacturing industries.
  • the multi-dimensional database 112 stores information relating to mobile subscribers, model name of the mobile device i.e. mobile phone, subscribing data, traffic usage of a subscribing network, bandwidth provided by the subscribed plan, International Mobile Equipment Identity (IMEI) details, brand name of the mobile device, and subscribed plan details etc. which falls under commercial establishments.
  • information of one or more establishments is stored in the multi-dimensional database 112 in a predefined format or structures or extensions. A person skilled in the art should understand that there can be any number of data stores that stores big data information.
  • FIG. 2 shows detailed block diagram of restructuring server in accordance with some embodiments of the present invention.
  • the restructuring server 100 may be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. In an embodiment, the restructuring server 100 is communicatively connected to the multi-dimensional database 112.
  • the multi-dimensional database is illustrated in Fig. 4.
  • the multi-dimensional database 112 comprises one or more data stores 4021, 4022, . . . 402N (collectively referred to as data stores 402) .
  • the number of data stores 402 in the multi-dimensional database depends on the number of restructuring on the data stores of the multi-dimensional database 112.
  • the newly added data store is referred to as latest/new data store 402 of the multi-dimensional database 112.
  • Each of the data stores 402 comprises a cube model, data files and differential metadata.
  • the cube model 4041, 4042, ... 404N (collectively referred to as cube models 404) stores the cube schema definition like measures, dimensions and their properties.
  • the data files 4061, 4062, ... 406N (collectively referred to as data files 406) are the files in the data store 402 which contain the data about dimension members.
  • a data store may comprise one or more files created from one or more data loads.
  • the differential metadata 4081, 4082, ... 408N represent the changes from each of the cube model with a new cube model deployed in the multidimensional database 112.
  • the restructuring server 100 receives data relating to the restructuring and query from the user devices 108.
  • the data may be stored within the memory 104.
  • the data may include, for example, restructuring data 202, query data 204, row level rules 206, result level rules 208, and other data 210.
  • the restructuring data 202 comprises information regarding restructuring of a data store.
  • the information may include, but is not limited to, adding a dimension, deleting a dimension etc.
  • the query data 204 comprises information on the query created by the user to retrieved information on the multi-dimensional database 112.
  • the query data 204 may be relating to one or more data stores 402 of the multi-dimensional database 112.
  • the row level rules 206 and result level rules 208 are applied on the query results upon determining existence of differential metadata to determine the query results.
  • An example of row level rules and result level rules are illustrated in Table 1 below:
  • the data may be stored in the memory 104 in the form of various data structures. Additionally, the aforementioned data may be organized using data models, such as relational or hierarchical data models.
  • the other data 210 may be used to store data, including temporary data and temporary files, generated by the modules in the processor 102 for performing the various functions of the restructuring server 100. In an embodiment, the data are processed by modules of the restructuring server 100. The modules may be stored within the memory 104.
  • the modules may include, for example, a receiving module 212, data store creation module 214, metadata generation module 216, data loader module 218, query engine 220 and a member updation module 222.
  • the restructuring server 100 may also comprise other modules 224 to perform various miscellaneous functionalities of the restructuring server 100. It will be appreciated that such aforementioned modules may be represented as a single module or a combination of different modules.
  • the receiving module 212 receives information regarding restructuring of one or more data stores 402 of a multi-dimensional database 112 from the user devices 108. Also, the receiving module 212 receives one or more queries for querying the data stored in the multi-dimensional database 112.
  • the data store creation module 214 creates a new data store upon receiving request for restructuring.
  • the new data store is created based on the restructuring information received from the user.
  • the metadata generation module 216 generates a differential metadata 408 for the one or more data stores 402.
  • the differential metadata 408 comprises information about difference between the new data store and each of the one or more data stores in the multi-dimensional database 112.
  • the metadata generation module 216 updates all the data stores 402 with the differential metadata by inspecting the changes from the latest cube model given by user to the cube model present in the data store 402. Also, any change in dimension member is stored in a member update model 502.
  • An exemplary representation of metadata generation module is illustrated in Fig. 5. For the old store, data store 1 4021, the metadata generation module 216 creates a differential metadata 4081 which is the model difference between the cube model 4042 and the cube model 4041.
  • the data loader module 218 loads incremental data into the new data store.
  • the incremental data is the data received after creation of the new data store.
  • the query engine 220 executes one or more queries requesting data from the multi-dimensional database 112.
  • the query engine 220 comprises one or more sub modules as illustrated in Fig. 3.
  • the one or more sub modules of the query engine 220 are a query executor 302, a metadata handler 304, a store scanner 306 and result merger 308.
  • the query executor 302 coordinates to initialize the store scanner 306 for the applicable stores files based on query needs.
  • the metadata handler 304 reads the differential metadata from the data store and handles the differences of the current data store against the latest cube model in the multi-dimensional database.
  • the store scanner 306 scans the data files of the data store and performs data aggregation for the data files using the metadata handler 304.
  • the result merger 308 merges the results from all the data stores to provide final query result.
  • the member updation module 222 stores a member update model 502 which comprises changes in dimension members based on the restructuring information.
  • the change in dimension members includes, but is not limited to, adding a dimension member, removing a dimension member and modifying a dimension member. For example, changing the name of a city is stored in the member update model 502.
  • the methods 600 and 700 comprise one or more blocks restructuring data stores of a multi-dimensional database and executing a query relating to extraction of data from the multi-dimensional database respectively.
  • the methods 600 and 700 may be described in the general context of computer executable instructions.
  • computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types.
  • Figure 6 illustrates a flowchart showing method for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure.
  • the restructuring information includes, but is not limited to, adding dimensions, adding measures, adding levels, removing dimensions, removing measures, removing levels, moving a dimension level across hierarchies and updating member of a level.
  • an empty data store is created to accommodate the restructuring of the data store.
  • the differential metadata comprises information about difference between the new data store and each of the one or more data stores.
  • Figure 7 illustrates a flowchart showing method for executing a query in accordance with some embodiments of the present disclosure
  • the query is raised to retrieve information about the data stores 402 of the multi-dimensional database 112.
  • the method determine presence of differential metadata in the one or more data stores.
  • the method proceeds via ‘No’ to block 740.
  • the method generate a first aggregation output by performing row wise aggregation of the columns in the query.
  • the method proceeds via ‘Yes’ to block 750.
  • generate a second aggregation output by performing row wise aggregation of the columns in the query using row level rules.
  • Figures 8A to 8F illustrate an exemplary embodiment of restructuring the cube and query execution in accordance with some embodiments of the present disclosure.
  • the cube model of data store 1 4021 initially comprises one or more dimensions and measures.
  • the dimensions are ‘product’ , ‘location’ and ‘time’ and the measures are ‘quantity’ and ‘sales’ .
  • the cube model of the data store 4021 is stored in MOLAP data store as illustrated in Fig. 8B.
  • the values of each dimension are stored using surrogate keys.
  • the information of the surrogate keys and corresponding values are illustrated in Fig. 8C. For example, year 2012 is represented by ‘1’ and year 2013 is represented by’ 2’ .
  • the table stored in MOLAP store after surrogate key mapping is shown in Fig. 8D.
  • restructuring information to the restructuring server 100 corresponding to a change in a latest data store, i.e. data store 1 4021 of the one or more data stores of a multi-dimensional database.
  • the restructuring information comprises addition of a new dimension namely ‘order status’ and addition of a new measure namely ‘discount amount’ .
  • An exemplary representation of the cube is illustrated in Fig. 8A. Then, restructuring of the data stores is performed using the restructuring information.
  • Fig. 8E illustrates data table illustrating content of base cube model of data store 1 4021 after restructuring.
  • the data store 1 4021 comprises old data and differential metadata of the newly added dimension and the newly added measure.
  • Fig. 8F illustrates an exemplary representation of the newly created data store 2 4022. Also, the newly created data store 2 4022 is loaded with the incremental data.
  • the user generates a query on the one or more data stores 402 of the multi-dimensional database 112 through the user device 108.
  • the example query is
  • step 1 for each row of the data store 1 4021, apply row level rules using differential metadata and produce aggregate output.
  • the row level rule is to consider default value for the newly added measure, i.e. discount amount.
  • result level rule is applied from the differential metadata and store level result is produced.
  • the result level rule is to consider default value for every result row from old data and construct new aggregation key. As illustrated in Fig. 8F, a default value is considered for the dimension ‘order status’ and a new aggregation key is constructed.
  • the row level rules and result level rules are not applied on the data store 2 4022.
  • the data of the data store 2 4022 is aggregated.
  • step 3 the data from each of the data store, i.e. data store 1 4021 and data store 2 4022 is merged and final aggregation is performed.
  • the aggregated result is translated from the surrogate keys to the original values of the dimension members.
  • Figure 9 illustrates a block diagram of an exemplary computer system 900 for implementing embodiments consistent with the present disclosure.
  • the computer system 900 is used to implement the query suggestion server 100.
  • the computer system 900 provides alternate query suggestions for time bound analysis by a user.
  • the computer system 900 may comprise a central processing unit ( “CPU” or “processor” ) 902.
  • the processor 902 may comprise at least one data processor for executing program components for executing user-or system-generated business processes.
  • a user may include a person, a person using a device such as such as those included in this disclosure, or such a device itself.
  • the processor 902 may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
  • the processor 902 may be disposed in communication with one or more input/output (I/O) devices (911 and 912) via I/O interface 901.
  • the I/O interface 901 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB) , infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI) , high-definition multimedia interface (HDMI) , RF antennas, S-Video, VGA, IEEE 802.
  • n /b/g/n/x Bluetooth, cellular (e.g., code-division multiple access (CDMA) , high-speed packet access (HSPA+) , global system for mobile communications (GSM) , long-term evolution (LTE) , WiMax, or the like) , etc.
  • CDMA code-division multiple access
  • HSPA+ high-speed packet access
  • GSM global system for mobile communications
  • LTE long-term evolution
  • WiMax WiMax
  • the computer system 900 may communicate with one or more I/O devices (911 and 912) .
  • the input device 911 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, stylus, scanner, storage device, transceiver, video device/source, etc.
  • the output device 912 may be a printer, fax machine, video display (e.g., Cathode Ray Tube (CRT) , Liquid Crystal Display (LCD) , Light-Emitting Diode (LED) , plasma, Plasma Display Panel (PDP) , Organic Light-Emitting Diode Display (OLED) or the like) , audio speaker, etc.
  • video display e.g., Cathode Ray Tube (CRT) , Liquid Crystal Display (LCD) , Light-Emitting Diode (LED) , plasma, Plasma Display Panel (PDP) , Organic Light-Emitting Diode Display (OLED) or the like
  • audio speaker e.g., a printer, fax machine, video display (e.g., Cathode Ray Tube (CRT) , Liquid Crystal Display (LCD) , Light-Emitting Diode (LED) , plasma, Plasma Display Panel (PDP) , Organic Light-Emitting Diode Display (OL
  • the processor 902 may be disposed in communication with a communication network 909 via a network interface 903.
  • the network interface 903 may communicate with the communication network 909.
  • the network interface 903 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T) , Transmission Control Protocol/Internet Protocol (TCP/IP) , token ring, IEEE 802.11a/b/g/n/x, etc.
  • the communication network 909 may include, without limitation, a direct interconnection, Local Area Network (LAN) , Wide Area Network (WAN) , wireless network (e.g., using Wireless Application Protocol) , the Internet, etc.
  • the computer system 900 may communicate with data aggregator or sensors 910.
  • the processor 902 may be disposed in communication with a memory 905 (e.g., RAM, ROM, etc. not shown in figure 9) via a storage interface 904.
  • the storage interface 904 may connect to memory 905 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as Serial Advanced Technology Attachment (SATA) , Integrated Drive Electronics (IDE) , IEEE-1394, Universal Serial Bus (USB) , fiber channel, Small Computer Systems Interface (SCSI) , etc.
  • the memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID) , solid-state memory devices, solid-state drives, etc.
  • the memory 905 may store a collection of program or database components, including, without limitation, user interface application 906, an operating system 907, web server 908 etc.
  • computer system 900 may store user or application data 906, such as the data, variables, records, etc. as described in this disclosure.
  • databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.
  • the operating system 907 may facilitate resource management and operation of the computer system 900.
  • Examples of operating systems include, without limitation, Apple Macintosh OS X, Unix, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD) , FreeBSD, NetBSD, OpenBSD, etc. ) , Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc. ) , IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc. ) , Apple iOS, Google Android, Blackberry OS, or the like.
  • User interface 917 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities.
  • GUIs may provide computer interaction interface elements on a display system operatively connected to the computer system 900, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc.
  • Graphical User Interfaces may be employed, including, without limitation, Apple Macintosh operating systems’ A qua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc. ) , Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc. ) , or the like.
  • the computer system 900 may implement a web browser 908 stored program component.
  • the web browser may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, etc. Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS) , Secure Sockets Layer (SSL) , Transport Layer Security (TLS) , etc. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, Application Programming Interfaces (APIs) , etc.
  • the computer system 900 may implement a mail server 919 stored program component.
  • the mail server may be an Internet mail server such as Microsoft Exchange, or the like.
  • the mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft . NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, WebObjects, etc.
  • the mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP) , Messaging Application Programming Interface (MAPI) , Microsoft Exchange, Post Office Protocol (POP) , Simple Mail Transfer Protocol (SMTP) , or the like.
  • IMAP Internet Message Access Protocol
  • MAPI Messaging Application Programming Interface
  • POP Post Office Protocol
  • SMTP Simple Mail Transfer Protocol
  • the computer system 900 may implement a mail client stored program component.
  • the mail client may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Mozilla Thunderbird, etc.
  • a computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored.
  • a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor (s) to perform steps or stages consistent with the embodiments described herein.
  • the term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., non-transitory. Examples include Random Access Memory (RAM) , Read-Only Memory (ROM) , volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
  • the present disclosure optimizes the cube model changes with logical restructure without causing the heavy data re-loading or re-creation of entire cube data.
  • the present disclosure avoids data consistency issues that may occur if data is reloaded again from original raw data and original data is not fully available.
  • cube data is available quickly for analysis after restructure even on heavy volumes of cube.
  • the present disclosure provides a convenient way of restructuring for users to change cube model.
  • the present disclosure reduces the load on the Business Intelligence (BI) system by avoiding the heavy lifting of data translation.
  • BI Business Intelligence
  • 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 processor may read and execute the code from the computer readable medium.
  • the processor 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.
  • non-volatile memory devices e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, etc.
  • 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.
  • an embodiment means “one or more (but not all) embodiments of the invention (s) " unless expressly specified otherwise.

Abstract

A method of restructuring data stores of a multi-dimensional database. The first step comprises receiving, by a restructuring server, restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database(610). The second step comprises creating a new data store based on the restructuring information(620). The third step comprises generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores(630). The last step comprises loading an incremental data into the new data store(640).

Description

METHOD AND RESTRUCTURING SERVER FOR RESTRUCTURING DATA STORES OF A MULTI-DIMENSIONAL DATABASE TECHNICAL FIELD
The present disclosure relates generally to database management systems and, in particular, to a system and method for restructuring data stores of a multi-dimensional database.
BACKGROUND
Traditionally data was organized in a tabular manner in relational databases. The tabular format was well suited for transactional systems. However, optimal analysis and visualization of data requires data to be organized in multi-dimensional manner. The multi-dimensional data models define the structure of multi-dimensional data stores. The multi-dimensional data models comprise measures and dimensions. The dimensions in turn comprise hierarchy, level, and attributes.
Multidimensional Online Analytical Processing (MOLAP) is one of the methodologies by which data is stored in multi-dimensional data stores. The data storage is optimized for storing multi-dimensional data by using special indexing structures. MOLAP maintains the multi-dimensional data model, consisting of dimensions, measures, hierarchies, levels and attributes. In the data analysis process, this model information is important for analysts to visualize cube in multi-dimensional model. When the analysis model is refined or updated for modification or addition of new aspects of analysis components, the changes has to be applied in MOLAP System.
The process of applying changes to any of the model is known as restructuring of cube or data. The cube restricting may include addition or deletion of measures, addition or  deletion of dimensions, addition or deletion of hierarchy, addition or deletion of levels and updating of members.
Currently, there are few methods for MOLAP reconstruction. In one conventional method, the old cube data is deleted, a cube is recreated and all cube data is reloaded from raw data. In this method, if the raw data is incomplete or not present, then it causes data loss and data integrity issues.
In another conventional method, data is inserted into modified cube from raw data through generated scripts by identifying the changes between cube data model and raw data. The method comprises modelling the structure of the relational database to an intermediate representation, say model A and also the structure of the cube is modeled to an intermediate representation, say model B. The two intermediate representations, model A and model B are compared and the differences between the two models are identified. The differences are used to modify the structure of the cube. Then, the modified structure of the cube is used to generate a script for retrieving data from the relational database for insertion into the cube. Finally, the script is run and the data is inserted into the modified cube.
However, there are some disadvantages associated with this method. The relational database contains the original data or raw data. So, if the raw data is incomplete or not present then it causes data loss and data integrity issues. Also, space is wasted for storing raw data as backup. Further, this method identifies the changes only in OLAP model update and does not recognize the cube member data updates.
In another conventional method, old and new model are compared to identify the differences. Based on the identified differences, a new cube data is created by making changes to old cube data . For model restructuring, the method comprises reading the difference between  the old and new OLAP model to identify the changes such as adding a dimension, delete a level, move level across hierarchies etc. Then, data from OLAP cube is read row by row and data is created for new cube by applying the identified changes. For data restructuring, the method comprises parsing the meta data changes provided by user and gives inputs such as delete a level member, rename level member, move a member across levels etc. Then, the changes in metadata are parsed and the changes are applied on old cube data to create new cube data row by row.
However, there are some disadvantages with this method. For changes like add or delete dimensions, all the data from old cube has to be processed to create new cube data which is time consuming for big data cases.
Therefore, the existing methods for restructuring cube have one or more disadvantages. The existing methods result in lot of load on system when restructure is in progress. Also, user cannot query for long time when restructuring is in progress. As data volumes increase, the restructuring becomes impractical solution because of lot of resources and time taken for the process completion. Also, the current methods result in wastage of space for storing both raw data and MOLAP data, if solution is based on reload from raw data. Further, the methods result in accuracy and consistency problems if any changes or deletions happen over the time.
SUMMARY
The objective of the present disclosure is to provide a method and a restructuring server for restructuring data stores of a multi-dimensional database.
Additional features and advantages are realized through the techniques of the present disclosure. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed disclosure.
The present disclosure relates to a method for restructuring data stores of a multi-dimensional database. The method comprises one or more steps performed by a restructuring server. The method comprises receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database, creating a new data store based on the restructuring information, generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores and loading an incremental data into the new data store.
In an embodiment, the method of present disclosure comprises receiving a query requiring information from the one or more data stores. The method further comprises determining presence of differential metadata in the one or more data stores. Upon determining absence of differential metadata in the each of the one or more data stores, the method comprises generating a first aggregation output by performing row wise aggregation of the columns in the query. Upon determining presence of differential metadata in the each of the one or more data stores, the method comprises generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules and generating a third aggregation output by applying result level rules on the second aggregation output. Further, the method comprises merging the first and the third aggregation output of each of the one or more data stores to provide result of the query.
A restructuring server is disclosed in the present disclosure for restructuring data stores of a multi-dimensional database. The restructuring server comprises a receiving module for receiving restructuring information corresponding to a change in a latest data store of one or more data stores. The system further comprises a data store creation module for creating a new data store based on the restructuring information. The system also comprises a metadata generation module for generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores. Further, the system comprises a data loader for loading incremental data into the new data stores.
In an embodiment, the receiving module is further configured to receive a query requiring information from the one or more data stores. In an embodiment, the restructuring server comprises a query engine for generating a first aggregation output by performing row wise aggregation of the columns in the query, upon determining absence of differential metadata in the each of the one or more data stores. Further, the query engine determining presence of differential metadata in the each of the one or more data stores and performs generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules and generating a third aggregation output by applying result level rules on the second aggregation output. Further, the query engine merges the first and the third aggregation output of each of the one or more data stores to provide result of the query.
The present disclosure relates to a non-transitory computer readable medium including operations stored thereon that when processed by at least one processor cause a restructuring server to perform one or more actions by performing the acts of receiving  restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database. Then, act of creating a new data store based on the restructuring information is performed. Further, act of generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores is performed. Lastly, act of loading an incremental data into the new data store is performed.
The present disclosure relates to a computer program for performing one or more actions on a restructuring server. The computer program comprises code segment for receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database. The computer program also comprises code segment for creating a new data store based on the restructuring information. The computer program also comprises code segment for generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores. The computer program also comprises code segment for loading an incremental data into the new data store is performed.
In the present disclosure, the cube model changes with logical restructure without any heavy data reloading or recreation of entire data cube. In the present disclosure, only a differential metadata is added to the old cubes. The incremental data is added to a newly created data store. In an embodiment, the present disclosure helps in reducing load on system. In an embodiment of the present disclosure, the cube is available instantly for user analysis after restructuring as the restructure may happen parallely. Further, there is no impact on time for restructuring of higher volumes of data. Therefore, the user does not face query down time. Embodiments of the present disclosure save space as raw data need not to be retained. In an  embodiment of the present disclosure, there is no consistency or accuracy problem due to restructuring.
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 THE DRAWINGS
The novel features and characteristic of the present disclosure are set forth in the appended claims. The embodiments of the present disclosure 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.
Figure 1 shows exemplary environment for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure;
Figure 2 shows detailed block diagram of restructuring server in accordance with some embodiments of the present disclosure;
Figure 3 shows block diagram of query engine of the restructuring server in accordance with some embodiments of the present disclosure;
Figure 4 shows block diagram of multidimensional database of the restructuring server in accordance with some embodiments of the present disclosure;
Figure 5 shows exemplary embodiment of generating a differential metadata for one or more data stores in accordance with some embodiments of the present disclosure;
Figure 6 illustrates a flowchart showing method for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure;
Figure 7 illustrates a flowchart showing method for executing a query in accordance with some embodiments of the present disclosure;
Figures 8A to 8F illustrate an exemplary embodiment of restructuring the cube and query execution in accordance with some embodiments of the present disclosure; and
Figure 9 illustrates a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
The figures depict embodiments of the present 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 present disclosure described herein.
Detailed Description of Illustrative Embodiments
The foregoing has broadly outlined the features and technical advantages of the present disclosure in order that the detailed description of the present disclosure that follows may be better understood. Additional features and advantages of the present disclosure will be described hereinafter which form the subject of the claims of the disclosure. 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 disclosure. It should also be realized by those skilled in the art that such  equivalent constructions do not depart from the scope of the disclosure as set forth in the appended claims. The novel features which are believed to be characteristic of the disclosure, 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 disclosure.
Embodiments of the present disclosure relate to a method and a restructuring server for restructuring data stores of a multi-dimensional database. The restructuring server may be used in any database management system for restructuring data stores of the database. Also, the restructuring server of the present disclosure may be used with systems which deal with model changes. The systems may be operating on store models like file based, memory based or a combination thereof. The system may be operating on distributed/non-distributed storage and processing models. The present disclosure provides a restructure solution by maintaining logical data stores for every model and tracking only the model differences in store when restructure is performed by user. Therefore, there is no need to update the old data present in cube as the difference in models is sufficient to perform the required processing on the data during query. Each data store comprises a cube model, differential metadata as per current cube model and data files. When a restructure is performed by user with new cube model, a new store is created with the latest cube model. The data in the old stores is not updated, and only differential metadata is added to the old store. This differential metadata represents the differences between the latest cube model and old model. During data load, all the incremental data is loaded to the newly created store. During query execution, the query fields are mapped as per the cube model  associated with each store. So, only the fields applicable for that store are considered during data scan. The results returned from each store are reconstructed as per the latest cube model using differential metadata and final query result is prepared.
Henceforth, embodiments of the present invention are explained with the help of exemplary diagrams and one or more examples. However, such exemplary diagrams and examples are provided for the illustration purpose for better understanding of the present invention and should not be construed as limitation on scope of the present invention.
Figure 1 shows exemplary environment for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure.
As shown in figure 1, then architecture comprises a restructuring server 100 for restructuring data stores of a multi-dimensional database 112. In an embodiment, the restructuring server 100 may be an independent system which may be communicatively coupled with server of database management system. In another embodiment, restructuring server 100 may be configured within the server of the database management system itself. The architecture also comprises one or more user devices 1081, 1082, . . . 108n (collectively referred to as user devices 108) and a multi-dimensional database 112 connected to the restructuring server 100. As shown in the figure 1, such user devices 108 are communicatively coupled to the restructuring server 100 through a network 110 for facilitating restructuring of data stores of the multi-dimensional database 112 and querying the multi-dimensional database 112 for information.
The user devices 108 comprise an application program that uses the services of the restructuring server 100. The user devices 108 with the application program may be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a  workstation, a mainframe computer, a server, a network server, and the like. The user devices 108 may be used by various stakeholders or end users of the organization, such as project managers, executives and employees
In an embodiment, the user devices 108 are used by associated users to provide information for restructuring and to create one or more queries. The user devices 108 are configured with one or more interfaces (not shown in figure 1) for communicating with the restructuring server 100 over the network 110.
In one implementation, the restructuring server 100, as shown in figure 1, includes a central processing unit ( “CPU” or “processor” ) 102, a memory 104 and an interface 106. The processor 102 may comprise at least one data processor for executing program components and for executing user-or system-generated requests. A user may include a person, a person using a device such as those included in this invention, or such a device itself. The processor 102 is configured to fetch and execute computer-readable instructions stored in the memory 104. In one implementation, the memory 104 is communicatively coupled to the processor 102. The memory 104 stores processor-executable instructions to restructure data stores of a multi-dimensional database 112. The restructuring server 100 may include the input/output (I/O) interface 106 for communicating with the one or more user devices 108.
In an implementation, the restructuring server 100 also acts as user device. Therefore, the one or more inputs or queries are directly received at the restructuring server 100 for query execution and user interaction.
The multi-dimensional database 112 stores big data information. The information stored in the multidimensional database 112 may be related to one or more establishments, including, but are not limited to, financial institutions, stocks, commercial establishments,  government offices, data security centers, social networks, educational institutions, weather forecast centers and manufacturing industries. For example, the multi-dimensional database 112 stores information relating to mobile subscribers, model name of the mobile device i.e. mobile phone, subscribing data, traffic usage of a subscribing network, bandwidth provided by the subscribed plan, International Mobile Equipment Identity (IMEI) details, brand name of the mobile device, and subscribed plan details etc. which falls under commercial establishments. In an exemplary embodiment, information of one or more establishments is stored in the multi-dimensional database 112 in a predefined format or structures or extensions. A person skilled in the art should understand that there can be any number of data stores that stores big data information.
Figure 2 shows detailed block diagram of restructuring server in accordance with some embodiments of the present invention.
In one implementation, the restructuring server 100 may be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. In an embodiment, the restructuring server 100 is communicatively connected to the multi-dimensional database 112.
The multi-dimensional database is illustrated in Fig. 4. The multi-dimensional database 112 comprises one or  more data stores  4021, 4022, . . . 402N (collectively referred to as data stores 402) . The number of data stores 402 in the multi-dimensional database depends on the number of restructuring on the data stores of the multi-dimensional database 112. The newly added data store is referred to as latest/new data store 402 of the multi-dimensional database 112.
Each of the data stores 402 comprises a cube model, data files and differential metadata. The  cube model  4041, 4042, ... 404N (collectively referred to as cube models 404)  stores the cube schema definition like measures, dimensions and their properties. The data files 4061, 4062, ... 406N (collectively referred to as data files 406) are the files in the data store 402 which contain the data about dimension members. A data store may comprise one or more files created from one or more data loads. The  differential metadata  4081, 4082, ... 408N (collectively referred to as differential metadata 408) represent the changes from each of the cube model with a new cube model deployed in the multidimensional database 112.
In an embodiment, the restructuring server 100 receives data relating to the restructuring and query from the user devices 108. In one example, the data may be stored within the memory 104. In one implementation, the data may include, for example, restructuring data 202, query data 204, row level rules 206, result level rules 208, and other data 210.
In an embodiment, the restructuring data 202 comprises information regarding restructuring of a data store. The information may include, but is not limited to, adding a dimension, deleting a dimension etc.
The query data 204 comprises information on the query created by the user to retrieved information on the multi-dimensional database 112. The query data 204 may be relating to one or more data stores 402 of the multi-dimensional database 112.
The row level rules 206 and result level rules 208 are applied on the query results upon determining existence of differential metadata to determine the query results. An example of row level rules and result level rules are illustrated in Table 1 below:
Figure PCTCN2016076077-appb-000001
Figure PCTCN2016076077-appb-000002
Table 1
In one embodiment, the data may be stored in the memory 104 in the form of various data structures. Additionally, the aforementioned data may be organized using data models, such as relational or hierarchical data models. The other data 210 may be used to store data, including temporary data and temporary files, generated by the modules in the processor 102 for performing the various functions of the restructuring server 100. In an embodiment, the data are processed by modules of the restructuring server 100. The modules may be stored within the memory 104.
The modules may include, for example, a receiving module 212, data store creation module 214, metadata generation module 216, data loader module 218, query engine 220 and a member updation module 222. The restructuring server 100 may also comprise other modules 224 to perform various miscellaneous functionalities of the restructuring server 100. It will be appreciated that such aforementioned modules may be represented as a single module or a combination of different modules.
In one implementation, the receiving module 212 receives information regarding restructuring of one or more data stores 402 of a multi-dimensional database 112 from the user devices 108. Also, the receiving module 212 receives one or more queries for querying the data stored in the multi-dimensional database 112.
The data store creation module 214 creates a new data store upon receiving request for restructuring. The new data store is created based on the restructuring information received from the user.
The metadata generation module 216 generates a differential metadata 408 for the one or more data stores 402. The differential metadata 408 comprises information about difference between the new data store and each of the one or more data stores in the multi-dimensional database 112. In an embodiment, the metadata generation module 216 updates all the data stores 402 with the differential metadata by inspecting the changes from the latest cube model given by user to the cube model present in the data store 402. Also, any change in dimension member is stored in a member update model 502. An exemplary representation of metadata generation module is illustrated in Fig. 5. For the old store, data store 1 4021, the metadata generation module 216 creates a differential metadata 4081 which is the model difference between the cube model 4042 and the cube model 4041.
The data loader module 218 loads incremental data into the new data store. The incremental data is the data received after creation of the new data store.
The query engine 220 executes one or more queries requesting data from the multi-dimensional database 112. The query engine 220 comprises one or more sub modules as illustrated in Fig. 3. The one or more sub modules of the query engine 220 are a query executor 302, a metadata handler 304, a store scanner 306 and result merger 308. The query executor 302  coordinates to initialize the store scanner 306 for the applicable stores files based on query needs. The metadata handler 304 reads the differential metadata from the data store and handles the differences of the current data store against the latest cube model in the multi-dimensional database. The store scanner 306 scans the data files of the data store and performs data aggregation for the data files using the metadata handler 304. The result merger 308 merges the results from all the data stores to provide final query result.
The member updation module 222 stores a member update model 502 which comprises changes in dimension members based on the restructuring information. The change in dimension members includes, but is not limited to, adding a dimension member, removing a dimension member and modifying a dimension member. For example, changing the name of a city is stored in the member update model 502.
As illustrated in Figures 6 and 7, the  methods  600 and 700 comprise one or more blocks restructuring data stores of a multi-dimensional database and executing a query relating to extraction of data from the multi-dimensional database respectively. The  methods  600 and 700 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types.
The order in which the  methods  600 and 700 are described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the  methods  600 and 700. Additionally, individual blocks may be deleted from the  methods  600 and 700 without departing from the spirit and scope of the subject matter  described herein. Furthermore, the  methods  600 and 700 can be implemented in any suitable hardware, software, firmware, or combination thereof.
Figure 6 illustrates a flowchart showing method for restructuring data stores of a multi-dimensional database in accordance with some embodiments of the present disclosure.
At block 610, receive restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database. In an embodiment, the restructuring information includes, but is not limited to, adding dimensions, adding measures, adding levels, removing dimensions, removing measures, removing levels, moving a dimension level across hierarchies and updating member of a level.
At block 620, create a new data store based on the restructuring information. In an embodiment, an empty data store is created to accommodate the restructuring of the data store.
At block 630, generate a differential metadata for the one or more data stores. The differential metadata comprises information about difference between the new data store and each of the one or more data stores.
At block 640, load an incremental data into the new data store. All the data created after the creation of new data store is loaded into the new data store.
Figure 7 illustrates a flowchart showing method for executing a query in accordance with some embodiments of the present disclosure;
At block 710, receive a query requiring information from the one or more data stores. The query is raised to retrieve information about the data stores 402 of the multi-dimensional database 112.
At block 720, determine presence of differential metadata in the one or more data stores. At block 730, if the differential metadata is not present in one or more data stores, the method proceeds via ‘No’ to block 740. At block 740, generate a first aggregation output by performing row wise aggregation of the columns in the query. In the alternative, if the differential metadata is present in one or more data stores, the method proceeds via ‘Yes’ to block 750. At block 750, generate a second aggregation output by performing row wise aggregation of the columns in the query using row level rules.
At block 760, generate a third aggregation output by applying result level rules on the second aggregation output.
At block 770, merge the first and the third aggregation output of each of the one or more data stores to provide result of the query.
Figures 8A to 8F illustrate an exemplary embodiment of restructuring the cube and query execution in accordance with some embodiments of the present disclosure.
Consider an example of data store restructuring. The cube model of data store 1 4021 initially comprises one or more dimensions and measures. The dimensions are ‘product’ , ‘location’ and ‘time’ and the measures are ‘quantity’ and ‘sales’ . The cube model of the data store 4021 is stored in MOLAP data store as illustrated in Fig. 8B. In an embodiment, the values of each dimension are stored using surrogate keys. The information of the surrogate keys and corresponding values are illustrated in Fig. 8C. For example, year 2012 is represented by ‘1’ and year 2013 is represented by’ 2’ . The table stored in MOLAP store after surrogate key mapping is shown in Fig. 8D.
Subsequently user provides restructuring information to the restructuring server 100 corresponding to a change in a latest data store, i.e. data store 1 4021 of the one or more data stores of a multi-dimensional database. The restructuring information comprises addition of a new dimension namely ‘order status’ and addition of a new measure namely ‘discount amount’ . An exemplary representation of the cube is illustrated in Fig. 8A. Then, restructuring of the data stores is performed using the restructuring information.
Fig. 8E illustrates data table illustrating content of base cube model of data store 1 4021 after restructuring. The data store 1 4021 comprises old data and differential metadata of the newly added dimension and the newly added measure.
Fig. 8F illustrates an exemplary representation of the newly created data store 2 4022. Also, the newly created data store 2 4022 is loaded with the incremental data.
Now, the user generates a query on the one or more data stores 402 of the multi-dimensional database 112 through the user device 108. The example query is
Select Year, ‘Order Status’ , Quantity, ‘Discount Amount’ ;
The process of the query execution on data store 1 4021 and data store 2 4022 to determine final query result is illustrated in Fig. 8F.
For each data store, first it is determined whether the data store comprises differential metadata. For first data store 1 4021, it is determined that differential metadata exists for the data store 1 4021.
At step 1, for each row of the data store 1 4021, apply row level rules using differential metadata and produce aggregate output. The row level rule is to consider default value for the newly added measure, i.e. discount amount.
At step 2, result level rule is applied from the differential metadata and store level result is produced. The result level rule is to consider default value for every result row from old data and construct new aggregation key. As illustrated in Fig. 8F, a default value is considered for the dimension ‘order status’ and a new aggregation key is constructed.
For the second data store 4022, it is determined that no differential metadata exists for the data store 2 4022. Therefore, the row level rules and result level rules are not applied on the data store 2 4022. The data of the data store 2 4022 is aggregated.
At step 3, the data from each of the data store, i.e. data store 1 4021 and data store 2 4022 is merged and final aggregation is performed.
At step 4, the aggregated result is translated from the surrogate keys to the original values of the dimension members.
Computer System
Figure 9 illustrates a block diagram of an exemplary computer system 900 for implementing embodiments consistent with the present disclosure. In an embodiment, the computer system 900 is used to implement the query suggestion server 100. The computer system 900 provides alternate query suggestions for time bound analysis by a user. The computer system 900 may comprise a central processing unit ( “CPU” or “processor” ) 902. The processor 902 may comprise at least one data processor for executing program components for executing user-or system-generated business processes. A user may include a person, a person using a device such as such as those included in this disclosure, or such a device itself. The processor 902 may include specialized processing units such as integrated system (bus) controllers,  memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
The processor 902 may be disposed in communication with one or more input/output (I/O) devices (911 and 912) via I/O interface 901. The I/O interface 901 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB) , infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI) , high-definition multimedia interface (HDMI) , RF antennas, S-Video, VGA, IEEE 802. n /b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA) , high-speed packet access (HSPA+) , global system for mobile communications (GSM) , long-term evolution (LTE) , WiMax, or the like) , etc.
Using the I/O interface 901, the computer system 900 may communicate with one or more I/O devices (911 and 912) . For example, the input device 911 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, stylus, scanner, storage device, transceiver, video device/source, etc. The output device 912 may be a printer, fax machine, video display (e.g., Cathode Ray Tube (CRT) , Liquid Crystal Display (LCD) , Light-Emitting Diode (LED) , plasma, Plasma Display Panel (PDP) , Organic Light-Emitting Diode Display (OLED) or the like) , audio speaker, etc.
In some embodiments, the processor 902 may be disposed in communication with a communication network 909 via a network interface 903. The network interface 903 may communicate with the communication network 909. The network interface 903 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T) , Transmission Control Protocol/Internet Protocol (TCP/IP) , token ring,  IEEE 802.11a/b/g/n/x, etc. The communication network 909 may include, without limitation, a direct interconnection, Local Area Network (LAN) , Wide Area Network (WAN) , wireless network (e.g., using Wireless Application Protocol) , the Internet, etc. Using the network interface 903 and the communication network 909, the computer system 900 may communicate with data aggregator or sensors 910.
In some embodiments, the processor 902 may be disposed in communication with a memory 905 (e.g., RAM, ROM, etc. not shown in figure 9) via a storage interface 904. The storage interface 904 may connect to memory 905 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as Serial Advanced Technology Attachment (SATA) , Integrated Drive Electronics (IDE) , IEEE-1394, Universal Serial Bus (USB) , fiber channel, Small Computer Systems Interface (SCSI) , etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID) , solid-state memory devices, solid-state drives, etc.
The memory 905 may store a collection of program or database components, including, without limitation, user interface application 906, an operating system 907, web server 908 etc. In some embodiments, computer system 900 may store user or application data 906, such as the data, variables, records, etc. as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.
The operating system 907 may facilitate resource management and operation of the computer system 900. Examples of operating systems include, without limitation, Apple Macintosh OS X, Unix, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD) , FreeBSD, NetBSD, OpenBSD, etc. ) , Linux distributions (e.g., Red Hat, Ubuntu,  Kubuntu, etc. ) , IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc. ) , Apple iOS, Google Android, Blackberry OS, or the like. User interface 917 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 900, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical User Interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems’ A qua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc. ) , Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc. ) , or the like.
In some embodiments, the computer system 900 may implement a web browser 908 stored program component. The web browser may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, etc. Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS) , Secure Sockets Layer (SSL) , Transport Layer Security (TLS) , etc. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, Application Programming Interfaces (APIs) , etc. In some embodiments, the computer system 900 may implement a mail server 919 stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft . NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, WebObjects, etc. The mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP) , Messaging Application Programming Interface (MAPI) , Microsoft Exchange, Post Office Protocol (POP) , Simple Mail Transfer Protocol (SMTP) , or the like. In some embodiments, the computer system 900 may implement a mail client stored program component.  The mail client may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Mozilla Thunderbird, etc.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor (s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., non-transitory. Examples include Random Access Memory (RAM) , Read-Only Memory (ROM) , volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
Additionally, advantages of present disclosure are illustrated herein.
In an embodiment, the present disclosure optimizes the cube model changes with logical restructure without causing the heavy data re-loading or re-creation of entire cube data.
In an embodiment, the present disclosure avoids data consistency issues that may occur if data is reloaded again from original raw data and original data is not fully available.
In an embodiment, there is no down time for queries as restructure is performed parallely.
In an embodiment, cube data is available quickly for analysis after restructure even on heavy volumes of cube.
The present disclosure provides a convenient way of restructuring for users to change cube model.
In an embodiment, the present disclosure reduces the load on the Business Intelligence (BI) system by avoiding the heavy lifting of data translation.
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 processor may read and execute the code from the computer readable medium. The processor 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. Further, 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. ) .
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.
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.
The terms "including" , "comprising" , “having” and variations thereof mean "including but not limited to" , unless expressly specified otherwise.
The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.
The terms "a" , "an" and "the" mean "one or more" , unless expressly specified otherwise.
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.
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.
The illustrated operations of Figures 6 and 7 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.
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 embodiments of the present invention are intended to be  illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
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 (16)

  1. A method for restructuring data stores of a multi-dimensional database, comprising:
    receiving, by a restructuring server, restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database;
    creating, by the restructuring server, a new data store based on the restructuring information;
    generating, by the restructuring server, a differential metadata for each the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores; and
    loading, by the restructuring server, an incremental data into the new data store.
  2. The method as claimed in claim 1, wherein the restructuring information is selected from at least one of adding dimensions, adding measures, adding levels, removing dimensions, removing measures removing levels, moving a dimension level across hierarchies and updating member of a level.
  3. The method as claimed in claim 1, wherein the incremental data comprises data received after creation of the new data store.
  4. The method as claimed in claim 1, further comprising:
    receiving a query requiring information from the one or more data stores;
    determining presence of differential metadata in the one or more data stores;
    upon determining absence of differential metadata in the each of the one or more data stores, generating a first aggregation output by performing row wise aggregation of the columns in the query;
    upon determining presence of differential metadata in the each of the one or more data stores, performing:
    generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules; and
    generating a third aggregation output by applying result level rules on the second aggregation output; and
    merge the first and the third aggregation output of each of the one or more data stores to provide result of the query.
  5. The method as claimed in claim 4, wherein the row level rule for addition of a measure comprises assigning a default value for each row of the measure.
  6. The method as claimed in claim 4, wherein the result level rule for addition of a dimension comprises assigning a default value for each result row of the measure and generate an aggregation key for the dimension.
  7. A restructuring server for restructuring data stores of a multi-dimensional database, comprising:
    a receiving module for receiving restructuring information corresponding to a change in a latest data store of one or more data stores;
    a data store creation module for creating a new data store based on the restructuring information;
    a metadata generation module for generating a differential metadata for each of the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores; and
    a data loader for loading incremental data into the new data stores.
  8. The restructuring server as claimed in claim 7, wherein the restructuring information is selected from at least one of adding dimensions, adding measures, adding levels, removing dimensions, removing measures removing levels, moving a dimension level across hierarchies and updating member of a level.
  9. The restructuring server as claimed in claim 7, wherein the incremental data comprises data received after creation of the new data store.
  10. The restructuring server as claimed in claim 7, wherein the receiving module is further configured to receive a query requiring information from the one or more data stores.
  11. The restructuring server as claimed in claim 10, further comprising a query engine for:
    generating a first aggregation output by performing row wise aggregation of the columns in the query, upon determining absence of differential metadata in the each of the one or more data stores;
    upon determining presence of differential metadata in the each of the one or more data stores, performing:
    generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules; and
    generating a third aggregation output by applying result level rules on the second aggregation output; and
    merge the first and the third aggregation output of each of the one or more data stores to provide result of the query.
  12. The restructuring server as claimed in claim 11, wherein the row level rule for addition of a measure comprises assigning a default value for each row of the measure.
  13. The restructuring server as claimed in claim 11, wherein the result level rule for addition of a dimension comprises assigning a default value for each result row of the measure and generate an aggregation key for the dimension.
  14. A non-transitory computer readable medium including operations stored thereon that when processed by at least one processing unit cause a restructuring server to perform one or more actions by performing the acts of:
    receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database;
    creating a new data store based on the restructuring information;
    generating a differential metadata for each of the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores; and
    loading an incremental data into the new data store.
  15. The medium as claimed in claim 14, wherein the instructions further cause the at least one processing unit to perform one or more actions by performing the acts of:
    receiving a query requiring information from the one or more data stores;
    determining presence of differential metadata in the one or more data stores;
    upon determining absence of differential metadata in the each of the one or more data stores, generating a first aggregation output by performing row wise aggregation of the columns in the query;
    upon determining presence of differential metadata in the each of the one or more data stores, performing:
    generating a second aggregation output by performing row wise aggregation of the columns in the query using row level rules; and
    generating a third aggregation output by applying result level rules on the second aggregation output; and
    merge the first and the third aggregation output of each of the one or more data stores to provide result of the query.
  16. A computer program for performing one or more actions on a restructuring server, said computer program comprising code segment for receiving restructuring information corresponding to a change in a latest data store of one or more data stores of a multi-dimensional database, code segment for creating a new data store based on the restructuring information, code segment for generating a differential metadata for the one or more data stores, wherein the differential metadata comprises information about difference between the new data store and each of the one or more data stores and code segment for loading an incremental data into the new data store.
PCT/CN2016/076077 2015-03-19 2016-03-10 Method and restructuring server for restructuring data stores of a multi-dimensional database WO2016146019A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201680016992.4A CN107408134A (en) 2015-03-19 2016-03-10 Rebuild the method for the data storage of multi-dimensional database and rebuild server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1381/CHE/2015 2015-03-19
IN1381CH2015 2015-03-19

Publications (1)

Publication Number Publication Date
WO2016146019A1 true WO2016146019A1 (en) 2016-09-22

Family

ID=56918330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/076077 WO2016146019A1 (en) 2015-03-19 2016-03-10 Method and restructuring server for restructuring data stores of a multi-dimensional database

Country Status (2)

Country Link
CN (1) CN107408134A (en)
WO (1) WO2016146019A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739940A (en) * 2018-12-29 2019-05-10 东软集团股份有限公司 On-line analytical processing method, apparatus, storage medium and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036661A1 (en) * 2004-08-13 2006-02-16 Brennan Edward J Jr Database information processing system
CN102171648A (en) * 2008-10-07 2011-08-31 渣普控股有限公司 Synchronization of relational databases with OLAP cubes
CN103810257A (en) * 2014-01-24 2014-05-21 华为技术有限公司 Method and device for upgrading software database and equipment
CN103870571A (en) * 2014-03-14 2014-06-18 华为技术有限公司 Cube reconstruction method and device in MOLAP (multi dimension online analytical processing) system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600435A (en) * 1995-05-24 1997-02-04 Fori Automation, Inc. Intelligent sensor method and apparatus for an optical wheel alignment machine
JP3390357B2 (en) * 1999-02-12 2003-03-24 日本電気株式会社 Tree structure difference output method and apparatus in tree structure data editing system
JP2002092008A (en) * 2000-09-13 2002-03-29 Hitachi Ltd Data distribution processing device and its method
US7631014B2 (en) * 2006-04-27 2009-12-08 International Business Machines Corporation Method and apparatus for fast deletion of physically clustered data
US7640673B2 (en) * 2007-08-01 2010-01-05 Snap-On Incorporated Calibration and operation of wheel alignment systems
CN101561808A (en) * 2008-04-18 2009-10-21 北京瑞佳晨科技有限公司 Method of data reconstruction by search
CN101620431B (en) * 2009-06-22 2012-02-29 江俊逢 Digital control method and system for carrying out real-time compensation for thermal deformation errors
CN102360379B (en) * 2011-10-10 2013-01-16 浙江鸿程计算机系统有限公司 Multi-dimensional data cube increment aggregation and query optimization method
CN103699548B (en) * 2012-09-27 2016-12-21 阿里巴巴集团控股有限公司 A kind of method and apparatus being recovered database data by usage log

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036661A1 (en) * 2004-08-13 2006-02-16 Brennan Edward J Jr Database information processing system
CN102171648A (en) * 2008-10-07 2011-08-31 渣普控股有限公司 Synchronization of relational databases with OLAP cubes
CN103810257A (en) * 2014-01-24 2014-05-21 华为技术有限公司 Method and device for upgrading software database and equipment
CN103870571A (en) * 2014-03-14 2014-06-18 华为技术有限公司 Cube reconstruction method and device in MOLAP (multi dimension online analytical processing) system

Also Published As

Publication number Publication date
CN107408134A (en) 2017-11-28

Similar Documents

Publication Publication Date Title
CN107111647B (en) Method for providing alternative query suggestions for time limit results and query suggestion server
US20160188710A1 (en) METHOD AND SYSTEM FOR MIGRATING DATA TO NOT ONLY STRUCTURED QUERY LANGUAGE (NoSOL) DATABASE
US20190250912A1 (en) Method and system for migrating monolithic enterprise applications to microservice architecture
US9946754B2 (en) System and method for data validation
US20180253669A1 (en) Method and system for creating dynamic canonical data model to unify data from heterogeneous sources
US20180285900A1 (en) Method and system for determining a predictive model for estimating target output for an enterprise
US20180025063A1 (en) Analysis Engine and Method for Analyzing Pre-Generated Data Reports
US11030165B2 (en) Method and device for database design and creation
US10191902B2 (en) Method and unit for building semantic rule for a semantic data
WO2016146019A1 (en) Method and restructuring server for restructuring data stores of a multi-dimensional database
WO2016146057A2 (en) A method and a plan optimizing apparatus for optimizing query execution plan
US20170300539A1 (en) Method and result summarizing apparatus for providing summary reports options on query results
JP6148763B2 (en) Method for grouping data records into a data store across network nodes to optimize data access
US11138508B2 (en) Device and method for identifying causal factors in classification decision making models using subjective judgement
US10423586B2 (en) Method and system for synchronization of relational database management system to non-structured query language database
US11106689B2 (en) System and method for self-service data analytics
US11263388B2 (en) Method and system for dynamically generating summarised content for visual and contextual text data
US11847598B2 (en) Method and system for analyzing process flows for a process performed by users
US20230297930A1 (en) Method and system for building actionable knowledge based intelligent enterprise system
Chandrahas METHOD AND SYSTEM FOR MANAGING DATA FLOW BETWEEN SOURCE SYSTEM AND TARGET SYSTEM
CN107004034B (en) Method for associating columns with functions to optimize query execution and query optimization server
US20200311130A1 (en) System and method for managing dynamic configuration changes in software applications
RAMESH VIEW-TABLE UPDATE REPORT
SAWANT A SYSTEM TO IMPLEMENT A LINEAGE AUTO CAPTURE PLUGIN FOR HIVE
WO2020170217A1 (en) A method and system for managing analytical schema

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: 16764200

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: 16764200

Country of ref document: EP

Kind code of ref document: A1