A system (100; 500), comprising: at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising: - intercepting a database query from a client to a database, the database query being a structured query language statement, the database query including a first identifier associated with a first database table; - determining that the first identifier is unresolvable; - determining that a second database table stored at the database corresponds to the first database table, wherein the second database table corresponds to the first database table by at least including a same data as the first database table; - reconstructing the database query by at least replacing the first identifier with a second identifier associated with the second database table, the reconstructed database query being a structured query language statement; - executing the reconstructed database query by at least sending, to the database, the reconstructed database query, wherein the first database table is compressed to form an archive file associated with a third identifier, and wherein the second database table is formed by at least decompressing the archive file; and - in response to the compression of the first database table and/or the decompression of the archive file, updating a mapping table to include at least a mapping between the first identifier and the second identifier. at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising: - intercepting a database query from a client to a database, the database query being a structured query language statement, the database query including a first identifier associated with a first database table; - determining that the first identifier is unresolvable; - determining that a second database table stored at the database corresponds to the first database table, wherein the second database table corresponds to the first database table by at least including a same data as the first database table; - reconstructing the database query by at least replacing the first identifier with a second identifier associated with the second database table, the reconstructed database query being a structured query language statement; - executing the reconstructed database query by at least sending, to the database, the reconstructed database query, - intercepting a database query from a client to a database, the database query being a structured query language statement, the database query including a first identifier associated with a first database table; - determining that the first identifier is unresolvable; - determining that a second database table stored at the database corresponds to the first database table, wherein the second database table corresponds to the first database table by at least including a same data as the first database table; - reconstructing the database query by at least replacing the first identifier with a second identifier associated with the second database table, the reconstructed database query being a structured query language statement; - executing the reconstructed database query by at least sending, to the database, the reconstructed database query, wherein the first database table is compressed to form an archive file associated with a third identifier, and wherein the second database table is formed by at least decompressing the archive file; and - in response to the compression of the first database table and/or the decompression of the archive file, updating a mapping table to include at least a mapping between the first identifier and the second identifier. - in response to the compression of the first database table and/or the decompression of the archive file, updating a mapping table to include at least a mapping between the first identifier and the second identifier.