Large object data replication
AssigneeInternational Business Machines Corporation
InventorPhillip Koza
Life of this patent
Estimating the term…
Abstract
Within a database table being replicated from a source database to a target database, a first logged database operation on a database column holding large object (LOB) data is identified. The source database is queried for a plurality of rows of LOB data, each row in the plurality of rows of LOB data comprising LOB data stored in the database column holding LOB data. Responsive to determining that a first row of LOB data in the plurality of rows of LOB data is smaller than a message size threshold, the first row of LOB data is sent to the target database, the sending performed in a first message.
Claims18
A computer-implemented method comprising:
- identifying, within a database table being replicated from a source database to a target database, a first logged database operation on a database column holding large object (LOB) data, wherein the first logged database operation is analyzed as part of log data analysis performed by a main source database replication thread;
- querying the source database for a plurality of rows of LOB data, each row in the plurality of rows of LOB data comprising LOB data stored in the database column holding LOB data, wherein the querying comprises:
- constructing a query statement corresponding to the first logged database operation;
- adding, responsive to determining that a second logged database operation on a second database column holding LOB data meets a batch continuation condition, a data specification to the query statement, the data specification specified by the second logged database operation;
- and executing the query statement in a separate thread, wherein the separate thread executes in parallel with the main source database replication thread;
- and
- sending, responsive to determining that a first row of LOB data in the plurality of rows of LOB data is smaller than a message size threshold, the first row of LOB data to the target database, the sending performed in a first message.
A computer program product comprising one or more computer readable storage medium, and program instructions collectively stored on the one or more computer readable storage medium, the program instructions executable by a processor to cause the processor to perform operations comprising:
- identifying, within a database table being replicated from a source database to a target database, a first logged database operation on a database column holding large object (LOB) data, wherein the first logged database operation is analyzed as part of log data analysis performed by a main source database replication thread;
- querying the source database for a plurality of rows of LOB data, each row in the plurality of rows of LOB data comprising LOB data stored in the database column holding LOB data, wherein the querying comprises:
- constructing a query statement corresponding to the first logged database operation;
- adding, responsive to determining that a second logged database operation on a second database column holding LOB data meets a batch continuation condition, a data specification to the query statement, the data specification specified by the second logged database operation;
- and executing the query statement in a separate thread, wherein the separate thread executes in parallel with the main source database replication thread;
- and
- sending, responsive to determining that a first row of LOB data in the plurality of rows of LOB data is smaller than a message size threshold, the first row of LOB data to the target database, the sending performed in a first message.
A computer system comprising a processor and one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by the processor to cause the processor to perform operations comprising:
- identifying, within a database table being replicated from a source database to a target database, a first logged database operation on a database column holding large object (LOB) data, wherein the first logged database operation is analyzed as part of log data analysis performed by a main source database replication thread;
- querying the source database for a plurality of rows of LOB data, each row in the plurality of rows of LOB data comprising LOB data stored in the database column holding LOB data, wherein the querying comprises:
- constructing a query statement corresponding to the first logged database operation;
- adding, responsive to determining that a second logged database operation on a second database column holding LOB data meets a batch continuation condition, a data specification to the query statement, the data specification specified by the second logged database operation;
- and executing the query statement in a separate thread, wherein the separate thread executes in parallel with the main source database replication thread;
- and
- sending, responsive to determining that a first row of LOB data in the plurality of rows of LOB data is smaller than a message size threshold, the first row of LOB data to the target database, the sending performed in a first message.
Dependencies are inferred from the claim text.