A computer-implemented method of processing an event (204; 300), each event (204; 300) identifying at least one set of operators that operate on data in at least one row of a database (116; 174), each event (204; 300) comprising a column identifying the type of the at least one operation to be performed; and at least one row of data for each operation to be performed comprising value fields corresponding to the event (204; 300); the method comprising: obtaining the event (204; 300); performing the one or more operations to generate data by executing the set of operators on the data identified by the event (204; 300); storing the generated data in a first column store with a first row/transaction identifier, the first row/transaction identifier configured to identify the data stored in the first column store, wherein the first row/transaction identifier provides access to the data associated with a specific version of one or more corresponding rows in the first column store following the application of the set of operators to the data, comprising identifying the type of the at least one operation performed to generate the data; and identifying at least one row of the first column store that has been impacted by the at least one operation; and storing the first row/transaction identifier in one or more first processing queues; obtaining the first row/transaction identifier from one of the first processing queues; accessing the data in the first column store utilizing the first row/transaction identifier; and further processing the data from the first column store by executing the next set of operators for the event (204; 300). a column identifying the type of the at least one operation to be performed; and at least one row of data for each operation to be performed comprising value fields corresponding to the event (204; 300); obtaining the event (204; 300); performing the one or more operations to generate data by executing the set of operators on the data identified by the event (204; 300); storing the generated data in a first column store with a first row/transaction identifier, the first row/transaction identifier configured to identify the data stored in the first column store, wherein the first row/transaction identifier provides access to the data associated with a specific version of one or more corresponding rows in the first column store following the application of the set of operators to the data, comprising identifying the type of the at least one operation performed to generate the data; and identifying at least one row of the first column store that has been impacted by the at least one operation; and identifying the type of the at least one operation performed to generate the data; and identifying at least one row of the first column store that has been impacted by the at least one operation; and storing the first row/transaction identifier in one or more first processing queues; obtaining the first row/transaction identifier from one of the first processing queues; accessing the data in the first column store utilizing the first row/transaction identifier; and further processing the data from the first column store by executing the next set of operators for the event (204; 300).