| CPC G06F 16/24568 (2019.01) [G06F 16/22 (2019.01); G06F 16/2365 (2019.01)] | 20 Claims |

|
1. A method, comprising:
determining, by a first node of a cluster of interconnected database nodes that implement a database, data segments from data in a first data file stored at the first node for transfer to a second node of the cluster for a database operation to be performed on the second node, wherein the data segments represent a subset of database data stored in the first data file;
extracting, by the first node, file metadata of the first data file that is about the first data file;
transferring, by the first node, the file metadata of the first data file to the second node;
generating, by the first node, segmentation metadata for each data segment that is about a corresponding data segment, segment metadata including segment offset data for each data segment defining an offset position of the data segment relative to positions in the first data file;
transferring, by the first node, sets of segment data, each set including a data segment and the segment metadata for the data segment, to the second node;
writing, by the second node, the set of segment data received from the first node to a second data file stored at the second node based on received file metadata, data segments, and corresponding segment metadata, writing the sets of segment data comprising:
generating, by the first node and for each data segment, a row index segment mapping cluster keys to rows within the first data file that contain the data segment, wherein each set of the sets of segment data transferred to the second node further includes the row index segment of the data segment; and
writing, by the second node, the row index segment for each of the data segments to a row index of a database file stored at the second node; and
performing the database operation on the set of segment data stored in the second data file.
|