A data transaction processing system comprising: a plurality of hardware matching processors (502, 504, 506) that generate messages in a first sequence, the messages transmitted to a data warehouse and a streaming platform in the first sequence, the streaming platform storing the messages across a plurality of partitions (516, 518, 520); a streaming platform reader that retrieves the messages from the plurality of partitions (516, 518, 520) and rearranges the messages to be in the first sequence; an auditing system that compares the messages from the plurality of partitions (516, 518, 520) to the messages transmitted to the data warehouse, wherein the streaming platform reader comprises: a plurality of reader threads, wherein each of the reader threads is configured to retrieve messages from a partition of the plurality of partitions (516, 518, 520) of the streaming platform, wherein each message in the plurality of partitions (516, 518, 520) is associated with a unique identifier, and wherein the streaming platform transmits an end of partition signal to the reader thread associated with an empty partition; a plurality of queues coupled to the plurality of reader threads, wherein each queue is configured to store messages or an end of partition signal from one of the reader threads, wherein each queue stores messages in a sequence messages are retrieved by the corresponding reader thread, and wherein each queue includes a first position that stores the earliest message stored by a queue; and a writer thread controlled by gate control logic that: compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to the memory, the message associated with the earliest identifier; and wherein the gate control logic blocks the writer thread unless each of the queues contains a message or an end of partition signal. a plurality of hardware matching processors (502, 504, 506) that generate messages in a first sequence, the messages transmitted to a data warehouse and a streaming platform in the first sequence, the streaming platform storing the messages across a plurality of partitions (516, 518, 520); a streaming platform reader that retrieves the messages from the plurality of partitions (516, 518, 520) and rearranges the messages to be in the first sequence; an auditing system that compares the messages from the plurality of partitions (516, 518, 520) to the messages transmitted to the data warehouse, wherein the streaming platform reader comprises: a plurality of reader threads, wherein each of the reader threads is configured to retrieve messages from a partition of the plurality of partitions (516, 518, 520) of the streaming platform, wherein each message in the plurality of partitions (516, 518, 520) is associated with a unique identifier, and wherein the streaming platform transmits an end of partition signal to the reader thread associated with an empty partition; a plurality of queues coupled to the plurality of reader threads, wherein each queue is configured to store messages or an end of partition signal from one of the reader threads, wherein each queue stores messages in a sequence messages are retrieved by the corresponding reader thread, and wherein each queue includes a first position that stores the earliest message stored by a queue; and a writer thread controlled by gate control logic that: compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to the memory, the message associated with the earliest identifier; and a plurality of reader threads, wherein each of the reader threads is configured to retrieve messages from a partition of the plurality of partitions (516, 518, 520) of the streaming platform, wherein each message in the plurality of partitions (516, 518, 520) is associated with a unique identifier, and wherein the streaming platform transmits an end of partition signal to the reader thread associated with an empty partition; a plurality of queues coupled to the plurality of reader threads, wherein each queue is configured to store messages or an end of partition signal from one of the reader threads, wherein each queue stores messages in a sequence messages are retrieved by the corresponding reader thread, and wherein each queue includes a first position that stores the earliest message stored by a queue; and a writer thread controlled by gate control logic that: compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to the memory, the message associated with the earliest identifier; and compares the identifiers of all of the messages in the first positions of the queues of the plurality of queues, and forwards, to the memory, the message associated with the earliest identifier; and wherein the gate control logic blocks the writer thread unless each of the queues contains a message or an end of partition signal.