Patent ID: 8762333

Claim:
A computer readable storage medium, comprising executable instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations comprising: storing load data in new records of an append only table within a data warehouse, without updating or deleting existing records in the append only table, wherein N different data sources store data concurrently directly to N different memory regions of the append only table, wherein storing load data comprises: receiving, from a first data source, a first set of records for bulk storage; receiving, from a distinct second data source, a second set of records for bulk storage; concurrently writing the first and second sets of records to the append only table, wherein concurrently writing comprises: assigning a first memory region of the append only table to the first data source; assigning a second memory region of the append only table to the second data source; and writing the first set of records into the first memory region that is assigned to the first data source while writing the second set of records into the second memory region that is assigned to the second data source; and upon completing the writing of the first set of records, assigning a first completion transaction identifier to the first memory region; maintaining data changes associated with the load data in a separate update table; and merging data from the append only table with data changes from the update table to provide read data, wherein merging data comprises: receiving, from a requestor, a request to read a record in the first set of records; assigning a read request transaction identifier to the request to read the record in the first set of records; determining that the first memory region is visible to read requestors, wherein the determining comprises determining that the first completion transaction identifier was assigned before the read request transaction identifier; determining that data change information for the record is maintained in the update table; generating the read data, wherein the generating comprises applying one or more data changes to the record that correspond to the data change information; and providing the read data to the requestor.