Big-fast data connector between in-memory database system and data warehouse system
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, by a distributed in-memory database system in real-time or near real-time, a plurality of data events, wherein the in-memory database system comprises a plurality of in-memory database instances operating in parallel, and wherein a listener and a plurality of queues are installed on a single first in-memory database instance of the plurality of in-memory database instances, and wherein the listener receives, from one or more other in-memory database instances of the distributed in-memory database system, notifications of data events received by the one or more other in-memory database instances of the distributed in-memory database system;
receiving, by the listener, a notification that a data event has been received by one of the in-memory database instances of the distributed in-memory database system;
selecting a queue of the plurality of queues in which the data event should be stored, each queue of the plurality of queues comprising a respective microbatch listener;
storing the data event in the selected queue;
determining, by the microbatch listener of the selected queue, that an update condition has been satisfied for updating a data warehouse system with data events stored in the selected queue;
in response, storing the data event in the data warehouse system;
receiving, by the in-memory database system, a query;
obtaining first query results that satisfy the query from historical data in the data warehouse system, the historical data including the received data event stored in the data warehouse system;
obtaining second query results from the in-memory database instance that each identify in-memory data events that are not stored in the data warehouse system; and
providing the first query results and the second query results in a response to the query.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention include systems and methods for insuring better query consistency between at least two different databases, where one faster database has more up-to-date information than another slower database, and wherein updates are typically applied to the faster database first and then to the slower database. In embodiments, the systems and methods also insure that a query to the slower database is not performed until a set of one or more updates from the faster database have been applied to that slower database.
27 Citations
9 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a distributed in-memory database system in real-time or near real-time, a plurality of data events, wherein the in-memory database system comprises a plurality of in-memory database instances operating in parallel, and wherein a listener and a plurality of queues are installed on a single first in-memory database instance of the plurality of in-memory database instances, and wherein the listener receives, from one or more other in-memory database instances of the distributed in-memory database system, notifications of data events received by the one or more other in-memory database instances of the distributed in-memory database system; receiving, by the listener, a notification that a data event has been received by one of the in-memory database instances of the distributed in-memory database system; selecting a queue of the plurality of queues in which the data event should be stored, each queue of the plurality of queues comprising a respective microbatch listener; storing the data event in the selected queue; determining, by the microbatch listener of the selected queue, that an update condition has been satisfied for updating a data warehouse system with data events stored in the selected queue; in response, storing the data event in the data warehouse system; receiving, by the in-memory database system, a query; obtaining first query results that satisfy the query from historical data in the data warehouse system, the historical data including the received data event stored in the data warehouse system; obtaining second query results from the in-memory database instance that each identify in-memory data events that are not stored in the data warehouse system; and providing the first query results and the second query results in a response to the query. - View Dependent Claims (2, 3)
-
-
4. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving, by a distributed in-memory database system in real-time or near real-time, a plurality of data events, wherein the in-memory database system comprises a plurality of in-memory database instances operating in parallel, and wherein a listener and a plurality of queues are installed on a single first in-memory database instance of the plurality of in-memory database instances, and wherein the listener receives, from one or more other in-memory database instances of the distributed in-memory database system, notifications of data events received by the one or more other in-memory database instances of the distributed in-memory database system; receiving, by the listener, a notification that a data event has been received by one of the in-memory database instances of the distributed in-memory database system; selecting a queue of the plurality of queues in which the data event should be stored, each queue of the plurality of queues comprising a respective microbatch listener; storing the data event in the selected queue; determining, by the microbatch listener of the selected queue, that an update condition has been satisfied for updating a data warehouse system with data events stored in the selected queue; in response, storing the data event in the data warehouse system; receiving, by the in-memory database system, a query; obtaining first query results that satisfy the query from historical data in the data warehouse system, the historical data including the received data event stored in the data warehouse system; obtaining second query results from the in-memory database instance that each identify in-memory data events that are not stored in the data warehouse system; and providing the first query results and the second query results in a response to the query. - View Dependent Claims (5, 6)
-
-
7. A computer program product comprising one or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
receiving, by a distributed in-memory database system in real-time or near real-time, a plurality of data events, wherein the in-memory database system comprises a plurality of in-memory database instances operating in parallel, and wherein a listener and a plurality of queues are installed on a single first in-memory database instance of the plurality of in-memory database instances, and wherein the listener receives, from one or more other in-memory database instances of the distributed in-memory database system, notifications of data events received by the one or more other in-memory database instances of the distributed in-memory database system; receiving, by the listener, a notification that a data event has been received by one of the in-memory database instances of the distributed in-memory database system; selecting a queue of the plurality of queues in which the data event should be stored, each queue of the plurality of queues comprising a respective microbatch listener; storing the data event in the selected queue; determining, by the microbatch listener of the selected queue, that an update condition has been satisfied for updating a data warehouse system with data events stored in the selected queue; in response, storing the data event in the data warehouse system; receiving, by the in-memory database system, a query; obtaining first query results that satisfy the query from historical data in the data warehouse system, the historical data including the received data event stored in the data warehouse system; obtaining second query results from the in-memory database instance that each identify in-memory data events that are not stored in the data warehouse system; and providing the first query results and the second query results in a response to the query. - View Dependent Claims (8, 9)
-
Specification