CPC G06F 16/258 (2019.01) [G06F 16/24524 (2019.01); G06F 16/24564 (2019.01); G06F 16/256 (2019.01); G06F 16/27 (2019.01); G06F 16/283 (2019.01)] | 20 Claims |
1. A method comprising:
receiving, by a first set of decoupled compute instances of a distributed database, a plurality of transactional queries against a transactional processing database stored on a first set of decoupled storage instances, the first set of decoupled compute instances being remote from the first set of decoupled storage instances, each of the plurality of transactional queries comprising data manipulation language statements that change data in the transactional processing database, one or more of the first set of decoupled compute instances locally caching portions of the transactional processing database and bypassing a database compiler of the distributed database to process the plurality of transactional queries using locally cached data;
receiving one or more select queries for processing on an aggregated analytical query database of the distributed database;
replicating, by one or more hardware processors, the changed data from the transactional processing database to an object store database of an aggregated analytical query database managed by a second set of decoupled compute instances of the distributed database, the aggregated analytical query database being stored on a second set of decoupled storage instances, the second set of decoupled compute instances being remote from the second set of decoupled storage instances;
generating, by the database compiler of the distributed database, a query plan for execution of the one or more select queries using the second set of compute instances; and
generating, by the second set of decoupled compute instances, an aggregated analytical query result dataset for the one or more select queries according to the query plan.
|