CPC G06F 16/24557 (2019.01) [G06F 16/221 (2019.01); G06F 16/244 (2019.01)] | 6 Claims |
1. A storage system which stores data of a database in at least one non-transitory storage medium, the storage system comprising:
a database management system which manages the database based on an execution of a program by a processor; and
a storage device,
wherein
the storage device includes:
a first storage which stores data of a table of the database;
a second storage in which reading and writing of data is faster than the first storage; and
a third storage, being a cache memory, in which reading and writing of data is faster than the second storage,
the first storage reads and writes a first-data-size-unit data which is data based on a first data size unit and which includes one or more pieces of second-data-size-unit data and data access unit management information and the third storage reads and writes the second-data-size-unit data which is data based on a second data size unit,
the data access unit management information is information for representing that the one or more pieces of second-data-size-unit data exist inside the first-data-size-unit data and at least from where each of the one or more pieces of second-data-size-unit data was acquired and in which column of the table of the database each of the one or more pieces of second-data-size-unit data was included,
the second-data-size-unit data is smaller than the first data size unit,
the size of the second-data-size-unit data is the same as the size where the data access unit management information is removed from the first-data-size-unit data, and
when the database management system executes a query as an inquiry to the database,
the database management system:
interprets the query and identifies a required column which is required for executing the query;
reads out data of the identified required column from the storage device;
executes the query based on the data of the required column read out from the storage device;
when preferentially reading out the data of the required column in order from the third storage, the second storage and the first storage to read out the data of the required column from the storage device, and
in a case where the data of the required column is stored in the first storage and is not stored in the second and third storage,
reads out one or more pieces of first-data-size-unit data including the data of the required column, each of the one or more pieces of first-data-size-unit data including at least part of the data of the required column as one or more pieces of second-data-size-unit data the data access unit management information of the at least part of the data of the required column;
for each of the read-out one or more pieces of first-data-size-unit data, extracts one or more pieces of second-data-size-unit data as the at least part of the data of the required column from the each piece of first-data-size-unit data by removing the data access unit management information from the each piece of first-data-size-unit data, and stores the extracted one or more pieces of second-data-size-unit data in the third storage; and
stores the read-out one or more pieces of first-data-size-unit data in the second storage.
|