US2016110438A1PendingUtilityA1
Data cube high availability
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Nov 15, 2010Filed: Dec 30, 2015Published: Apr 21, 2016
Est. expiryNov 15, 2030(~4.3 yrs left)· nominal 20-yr term from priority
H04L 67/1095G06F 11/2038G06F 11/1662G06F 16/2315G06F 11/2097G06F 16/27G06F 16/2379G06F 17/30377G06F 17/30575G06F 17/30351
38
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
The subject disclosure is directed towards making cube data highly available and efficient to access by separating the read cube server from the processing cube server, on different physical machines. The read cube server may be mirrored, and the write cube server may be mirrored. When the primary read cube server is not operational (e.g., has failed) or is having its read cube synchronized, the read queries are handled by the mirror read cube server. When a processing cube server (or its write cube) is not operational, its mirror processing cube server takes over and performs cube processing operations via its mirror write cube.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . An apparatus, comprising:
a logic circuit; and logic operative on the logic circuit to communicate a Structured Query Language (SQL) query to a SQL database to determine the state of an active read cube, and direct the SQL query to a passive read cube when the active read cube is not operational or is being synchronized with write data from an active processing cube or from a passive processing cube if the active processing cube is not available.
22 . The apparatus of claim 21 , wherein the logic is further operative to write data changes to the active processing cube or to the passive processing cube if the active processing cube is not operational.
23 . The apparatus of claim 21 , wherein the SQL database comprises a mirrored SQL database.
24 . The apparatus of claim 21 , wherein in the event that the synchronization is occurring on the active read cube and the passive read cube is not operational, the logic further operative to block read queries.
25 . An apparatus, comprising:
a primary read server coupled to a primary read cube, the primary read server configured to handle incoming read queries by returning data from the primary read cube; a backup read server coupled to a backup read cube for the primary read cube, the backup read server configured to handle incoming read queries by returning data from the backup read cube in response to a failover occurrence; a primary processing server coupled to a cube service and a primary write cube, the cube service configured to write data changes in the database to the primary write cube and to synchronize at least one of the primary read cube or the backup read cube based on the data changes; and a backup processing server coupled to a backup cube service and a backup write cube for the primary write cube, the backup cube service configured to write the data changes to the backup write cube and to synchronize at least one of the primary read cube or backup read cube in response to a failover occurrence.
26 . The apparatus of claim 25 , wherein at least one of the primary read cube, the backup read cube, the primary write cube, or the backup write cube comprises an n-dimensional database structure.
27 . The apparatus of claim 25 , wherein the backup processing server further configured to synchronize at least one of the primary read cube or backup read cube with the data changes when the primary processing server or the primary processing cube is not available or is not operational.
28 . The apparatus of claim 25 , wherein the backup processing server further configured to return data from the backup read cube when the primary read server is not operational or when the primary read cube is being synchronized.
29 . The apparatus of claim 25 , wherein the cube service configured to restore a database from a backup and rebuild the primary read cube from the database.
30 . The apparatus of claim 25 , wherein the primary processing server writes a schedule of operations to the database, the backup cube service further configured to access the schedule of operations to perform one or more operations of the schedule when the primary processing server is not operational.
31 . The apparatus of claim 25 , wherein the primary processing server writes state information to a database that indicates when a synchronization of the primary read server is in progress and that indicates when a synchronization of the primary read server is not in progress.
32 . The apparatus of claim 25 further comprising a front end server including logic configured to access state information in a database and direct read queries to the backup read server when the state information indicates that synchronization of the primary read server is in progress.
33 . The apparatus of claim 25 , wherein the cube service synchronizes the backup write cube based on the data changes in a database in a first synchronization operation, synchronizes the backup read cube in a second synchronization operation, and synchronizes the primary read cube in a third synchronization operation.
34 . The apparatus of claim 25 , wherein the primary read server corresponds to a first computing machine or cluster, wherein the backup read server corresponds to a second computing machine or cluster, wherein the primary processing server corresponds to a third computing machine or cluster, wherein the backup processing server corresponds to a fourth computing machine or cluster, wherein the first machine or cluster, second machine or cluster, third machine or cluster and fourth machine or cluster are physically separate from one another.
35 . The apparatus of claim 25 , wherein the cube service writes a first timestamp corresponding to the time of synchronization of the read cube to a database, and writes a second timestamp corresponding to the time of synchronization of the read cube to the write cube, and wherein the cube service is configured to compare the first and second timestamps with each other before a next synchronization to determine whether the write cube and the read cube are still synchronized,.
36 . The apparatus of claim 25 , wherein the cube service performs an incremental synchronization of the write cube and the read cube when the first and second timestamps indicate the write cube and the read cube are still synchronized, or performs full cube processing when the first and second timestamps indicate the write cube and the read cube are not still synchronized.
37 . A computer-implemented method performed at least in part on at least one processor, comprising:
processing read queries directed to an active read cube at an active read server, including querying a database at a first read server to determine a state of a first read cube, and if the first read cube is active, directing the read queries to the first read server, and if not, directing the read queries to a second read server having a second read cube; synchronizing a first write cube or a second write cube of a first write processing server or a second write processing server, respectively, with data changes to the database based on whether the first write cube or the first write processing server is operational; and synchronizing change data corresponding to the data changes with at least one of the first read cube or the second read cube.
38 . The method of claim 37 further comprising writing state information to the database that indicates a synchronization of the first read cube in progress.
39 . The method of claim 37 further comprising rebuilding the first read cube with a restored database from a backup.
40 . The method of claim 39 further comprising restoring the database using a mirrored SQL database as a backup for the database.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.