CPC G06F 16/212 (2019.01) [G06F 16/22 (2019.01); G06F 16/2365 (2019.01)] | 5 Claims |
1. A storage control apparatus, comprising:
a memory having a compression dictionary stored therein;
a network interface coupled to a network;
a processor, coupled to the network interface, configured to communicate to a database via the network;
wherein the processor compresses one or more columns, of a plurality of columns, of one or more tables, of a plurality of tables, stored in the database according to the stored compression dictionary, and
performs, in response to a search request that designates a search range and a search condition, a search for the search range,
wherein the compression dictionary is data constituted of two or more dictionary records corresponding to two or more different values among a plurality of values included in original data of compressed data,
wherein each of the two or more dictionary records includes any value of the two or more values and a compression code of the value,
wherein the compressed data includes, for each value in the original data, a compression code of the value,
wherein the processor generates, from the compression dictionary, an evaluated compression dictionary constituted of one or more evaluation dictionary records,
wherein each of the one or more evaluation dictionary records includes any of the two or more values in the compression dictionary and a compression code of the value,
wherein the processor performs, by generation or update of the evaluated compression dictionary, a condition evaluation as to whether a value corresponding to the compression code corresponds to the search condition,
wherein a compression code of a value determined to correspond to the search condition in the condition evaluation is a condition satisfied code, and
wherein the processor is configured to, in the search, for a compression code in the search range of the compressed data:
output, when there is an evaluation dictionary record including a condition satisfied code matching the compression code, a value in the evaluation dictionary record; and
output, when there is no evaluation dictionary record including a condition satisfied code matching the compression code, a value indicating an inconsistency,
wherein the evaluated compression dictionary is constituted of two or more evaluation dictionary records corresponding to the different two or more values in the compression dictionary,
wherein for each of the two or more evaluation dictionary records,
the evaluation dictionary record includes any value of the different two or more values, a compression code of the value, and a condition evaluation result including any of first to third results for the value,
the first result means that the condition evaluation has not been performed on the value,
the second result means that the condition evaluation has been performed on the value and a compression code of the value is the condition satisfied code, and
the third result means that the condition evaluation has been performed on the value and a compression code of the value is not the condition satisfied code, and
the processor is configured to, in the search, for each compression code in the search range of the compressed data:
perform, when a condition evaluation result in an evaluation dictionary record including a compression code matching the compression code includes the first result, the condition evaluation on a value corresponding to the compression code, and when the matched compression code is the condition satisfied code, include the second result in the evaluation dictionary record and output a value in the evaluation dictionary record, and when the matched compression code is not the condition satisfied code, include the third result in the evaluation dictionary record and output a value that indicates the inconsistency;
output, when a condition evaluation result in an evaluation dictionary record including a compression code matching the compression code includes the second result, a value in the evaluation dictionary record; and
output, when a condition evaluation result in an evaluation dictionary record including a compression code matching the compression code includes the third result, a value that indicates the inconsistency.
|