Nodal data normalization
AssigneeInternational Business Machines Corporation
InventorsEric Lawrence Barsness, Amanda Peters, John Matthew Santosuosso
Life of this patent
Estimating the term…
Abstract
Embodiments of the invention may be used to normalize data stored in an in-memory database on a parallel computer system. The data normalization may be used to achieve memory savings, thereby reducing the number of compute nodes required to store an in-memory database. Thus, as a result, faster response times may be achieved when querying the data. In one embodiment, normalization may be performed in a manner to avoid datasets that cross physical or logical boundaries of the compute nodes of a parallel system.
Claims24
A method comprising:
- identifying a schema of an in-memory database, wherein the in-memory database comprises a database that is stored entirely in internal memory, wherein the schema specifies a plurality of datasets of the in-memory database and relationships among the plurality of datasets, wherein the plurality of datasets includes a first dataset spanning a first count of compute nodes on a parallel computing system, the first count being at least two;
- determining whether the first dataset is likely to span fewer compute nodes when normalized, based on a dataset profile associated with the first dataset;
- and
- upon determining that the first dataset is likely to span fewer compute nodes when normalized, normalizing the dataset based on the dataset profile, comprising:
- evaluating the dataset profile to identify one or more columns to normalize;
- normalizing the one or more columns of the in-memory database;
- updating the schema of the in-memory database to reflect the normalization;
- and
- storing the first dataset across a second count of compute nodes on the parallel computing system, the second count being less than the first count.
A computer-readable storage medium containing a program which, when executed, performs an operation, the operation comprising:
- identifying a schema of an in-memory database, wherein the in-memory database comprises a database that is stored entirely in internal memory, wherein the schema specifies a plurality of datasets of the in-memory database and relationships among the plurality of datasets, wherein the plurality of datasets includes a first dataset spanning a first count of compute nodes on a parallel computing system, the first count being at least two;
- determining whether the first dataset is likely to span fewer compute nodes when normalized, based on a dataset profile associated with the first dataset;
- and
- upon determining that the first dataset is likely to span fewer compute nodes when normalized, normalizing the dataset based on the dataset profile, comprising:
- evaluating the dataset profile to identify one or more columns to normalize;
- normalizing the one or more columns of the in-memory database;
- updating the schema of the in-memory database to reflect the normalization;
- and
- storing the first dataset across a second count of compute nodes on the parallel computing system, the second count being less than the first count.
A parallel computing system, comprising:
- a plurality of compute nodes, each having at least a processor and a memory;
- and
- a control sub-system configured to normalize an in-memory database across the plurality of compute nodes on the parallel computing system by performing the steps of:
- identifying a schema of the in-memory database, wherein the in-memory database comprises a database that is stored entirely in the memory, wherein the schema specifies a plurality of datasets of the in-memory database and relationships among the plurality of datasets, wherein the plurality of datasets includes a first dataset spanning a first count of the plurality of compute nodes, the first count being at least two;
- determining whether the first dataset is likely to span fewer compute nodes when normalized, based on a dataset profile associated with the first dataset;
- and
- upon determining that the first dataset is likely to span fewer compute nodes when normalized, normalizing the dataset based on the dataset profile, comprising:
- evaluating the dataset profile to identify one or more columns to normalize;
- normalizing the one or more columns of the in-memory database;
- updating the database schema of the in-memory database to reflect the normalization;
- and
- storing the first dataset across a second count of the plurality of compute nodes, the second count being less than the first count.
Dependencies are inferred from the claim text.