IP Library Granted Patent US 12,443,625
Granted Patent B2
US 12,443,625 · App. 18/303,810 · Granted Oct 14, 2025

Archiving a table in a data analysis system

Inventors: Manogari Nogi Simanjuntak (San Jose, CA); Sowmya Kameswaran (San Jose, CA); Björn Broll (Waldenbuch, DE); Daniel Martin (Leinfelden-Echterdingen, DE)
Assignee: International Business Machines Corporation
G06F16/278G06F16/215G06F16/2343G06F16/2379G06F16/2445G06F16/24554
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,443,625
App. No.
18/303,810
Granted
Oct 14, 2025
Kind
B2
Abstract

An embodiment for archiving data in a data analysis system. The embodiment may receive a request to archive a source partition of a source table of source database system of the data analysis system. The embodiment may determine whether the source table is partitioned into partitions by ranges of an attribute of the source table. The embodiment may, in response to determining that the source table is partitioned by range, lock the source partition to prevent changes of the source partition. The embodiment may determine whether the source partition is synchronized with a corresponding partition in the target table. In response to determining that the source partition is synchronized with the corresponding partition in the target table, the embodiment may remove data in the source partition from the source table.

Claims (64)

1. A method for archiving data in a data analysis system, the data analysis system comprising a source database system and a target database system, the source database system comprising a source table, the source table being partitioned into source partitions by ranges of an attribute of the source table, the target database system comprising a target table corresponding to the source table, wherein a data synchronization in the data analysis system enables a replication of data of the source table from the source database system to the target database system; the method comprising:

receiving a request to archive a source partition of the source table;

determining whether the source table is partitioned into partitions by ranges of an attribute of the source table;

in response to determining that the source table is partitioned by range, locking the source partition to prevent changes of the source partition;

determining whether the source partition is synchronized with a corresponding partition in the target table;

in response to determining that the source partition is synchronized with the corresponding partition in the target table, removing data of the source partition from the source table;

receiving a query referencing a whole range of the source table;

offloading the received query to the target database system for executing the received query at the target database system on the target table that comprises archived and non-archived partitions of the source table; and

creating at the target database system a first database view representing the non-archived partitions, and a second database view representing the archived and the non-archived partitions, wherein execution of the received query is performed using the second database view.

2. The method of claim 1 , wherein each of the first and the second database views are associated with predicates to indicate whether each of the database views has archived partitions, wherein the execution of the received query is performed using the predicates.

3. The method of claim 1 , wherein the first database view is created upon receiving an archive request and before creating the second database view.

4. The method of claim 1 , wherein the second database view is created in response to removing data of the source partition.

5. The method of claim 1 , wherein determining whether the source partition is synchronized with the corresponding partition of the target table further comprises:

determining whether the data synchronization between the source database system and the target database system is automatically enabled;

in response to determining that the automatic data synchronization between the source database system and the target database system is enabled, determining whether all changes made to the source table until the request is received are propagated to the target database system; and

in response to determining that the automatic data synchronization between the source database system and the target database system is not enabled, loading the source partition to the target database system, thereby determining that the source partition is synchronized with the corresponding partition of the target table.

6. The method of claim 5 , wherein determining whether all the changes made until the request is received are propagated to the target database system further comprises:

sending a timestamp of a latest commit of the source table to the target database system;

receiving a synchronization confirmation from the target database system in response to sending the timestamp; and

in response to receiving the synchronization confirmation, determining that the source table is synchronized with the target table.

7. The method of claim 1 , further comprising:

receiving a query referencing non-archived partitions of the source table; and

executing the received query in the source database system on the non-archived partitions or offloading the received query to the target database system for executing the received query at the target database system on the non-archived partitions.

8. The method of claim 1 , wherein locking the source partition to prevent changes of the source partition further comprises:

creating an image copy of the source partition for enabling a recovery of the source table.

9. The method of claim 1 , wherein removing the data of the source partition from the source table further comprises:

performing a purge operation of the source partition;

unlocking the source partition; and

marking the source partition as a read-only partition.

10. The method of claim 1 , wherein the source database system comprises an online transaction processing (OLTP) system, and the target database system comprises one or more online analytical processing (OLAP) systems.

11. A computer program product for archiving data in a data analysis system, the data analysis system comprising a source database system and a target database system, the source database system comprising a source table, the source table being partitioned into source partitions by ranges of an attribute of the source table, the target database system comprising a target table corresponding to the source table, wherein a data synchronization in the data analysis system enables a replication of data of the source table from the source database system to the target database system, the computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media that when executed by a processor perform the operations of:

receiving a request to archive a source partition of the source table;

determining whether the source table is partitioned into partitions by ranges of an attribute of the source table;

in response to determining that the source table is partitioned by range, locking the source partition to prevent changes of the source partition;

determining whether the source partition is synchronized with a corresponding partition in the target table;

in response to determining that the source partition is synchronized with the corresponding partition in the target table, removing data of the source partition from the source table;

receiving a query referencing a whole range of the source table;

offloading the received query to the target database system for executing the received query at the target database system on the target table that comprises archived and non-archived partitions of the source table; and

creating at the target database system a first database view representing the non-archived partitions, and a second database view representing the archived and the non-archived partitions, wherein execution of the received query is performed using the second database view.

12. The computer program product of claim 11 , wherein each of the first and the second database views are associated with predicates to indicate whether each of the database views has archived partitions, wherein the execution of the received query is performed using the predicates.

13. The computer program product of claim 11 , wherein the first database view is created upon receiving an archive request and before creating the second database view.

14. The computer program product of claim 11 , wherein the second database view is created in response to removing data of the source partition.

15. A computer system for archiving data in a data analysis system, the data analysis system comprising a source database system and a target database system, the source database system comprising a source table, the source table being partitioned into source partitions by ranges of an attribute of the source table, the target database system comprising a target table corresponding to the source table, wherein a data synchronization in the data analysis system enables a replication of data of the source table from the source database system to the target database system, the computer system comprising:

one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is configured to perform a method comprising:

receiving a request to archive a source partition of the source table;

determining whether the source table is partitioned into partitions by ranges of an attribute of the source table;

in response to determining that the source table is partitioned by range, locking the source partition for preventing changes of the source partition;

determining whether the source partition is synchronized with a corresponding partition in the target table;

in response to determining that the source partition is synchronized with the corresponding partition in the target table, removing data of the source partition from the source table;

receiving a query referencing a whole range of the source table;

offloading the received query to the target database system for executing the received query at the target database system on the target table that comprises archived and non-archived partitions of the source table; and

creating at the target database system a first database view representing the non-archived partitions, and a second database view representing the archived and the non-archived partitions, wherein execution of the received query is performed using the second database view.

16. The computer system of claim 15 , wherein the target database system is configured to create a first database view representing the non-archived partitions, and a second database view representing the archived partitions and non-archived partitions.

17. The computer system of claim 15 , wherein locking the source partition for preventing the changes of the source partition further comprises:

creating an image copy of the source partition for enabling a recovery of the source table.

18. The computer system of claim 15 , wherein removing the data of the source partition from the source table further comprises:

performing a purge operation of the source partition; and

unlocking the source partition and marking the source partition as a read-only partition.

19. The computer system of claim 15 , wherein determining whether the source partition is synchronized with the corresponding partition in the target table in the target database system further comprises:

determining whether the data synchronization between the source database system and the target database system is automatically enabled;

in response to determining that the automatic data synchronization between the source database system and the target database system is enabled, determining whether all changes made to the source table until the request is received are propagated to the target database system; and

in response to determining that the automatic data synchronization between the source database system and the target database system is not enabled, loading the source partition to the target database system, thereby determining that the source partition is synchronized with the corresponding partition of the target table.

20. The computer system of claim 15 , wherein the source database system comprises an online transaction processing (OLTP) system, and the target database system comprises one or more online analytical processing (OLAP) systems.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2023
From: SIMANJUNTAK, MANOGARI NOGI; KAMESWARAN, SOWMYA; BROLL, BJÖRN; MARTIN, DANIEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 063388/0353 →
Continuity (1)
Related Publication 20240320237A1 · Sep 26, 2024
References Cited (25)
US 6728709B1 · Plasek · 2004 [cited by examiner]
US 8874512B2 · Jin et al. · 2014 [cited by applicant]
US 10013312B2 · Broll · 2018 [cited by applicant]
US 10216739B2 · Broll · 2019 [cited by applicant]
US 10282363B2 · Hrle · 2019 [cited by applicant]
US 10838934B2 · Becker et al. · 2020 [cited by applicant]
US 11263235B2 · Hrle · 2022 [cited by applicant]
US 11294892B2 · Oliveira Lizardo · 2022 [cited by applicant]
US 11327958B2 · Lee · 2022 [cited by applicant]
US 11360998B2 · Hrle · 2022 [cited by applicant]
US 20070198591A1 · Teng · 2007 [cited by examiner]
US 20090083341A1 · Parees · 2009 [cited by applicant]
US 20150106407A1 · Adayilamuriyil · 2015 [cited by examiner]
US 20150242451A1 · Bensberg · 2015 [cited by examiner]
US 20160179919A1 · Martin · 2016 [cited by applicant]
US 20170293540A1 · Mehta · 2017 [cited by examiner]
US 20190220467A1 · Hrle · 2019 [cited by applicant]
US 20190325055A1 · Lee · 2019 [cited by applicant]
US 20200034365A1 · Martin · 2020 [cited by applicant]
US 20200394182A1 · Lee · 2020 [cited by applicant]
US 20210406259A1 · Oliveira Lizardo · 2021 [cited by applicant]
US 20240134840A1 · Kong · 2024 [cited by examiner]
CN 103617176A · 2014 [cited by applicant]
WO 2021184679A1 · 2021 [cited by applicant]
International Searching Authority, “Notification of Transmittal of the international Search Report and the Written Opinion of the International Searching Authority, or Declaration,” Patent Cooperation Treaty, Sep. 22, 2… [cited by applicant]