An Oracle story. Read queries can also write to disk due to the way Oracle handles consistency. Information on which transactions last changed particular rows in a table gets stored with the rows. Read query then looks up those transactions to see whether they were committed or not. If not, read query skips rows they touched (and looks up their previous versions). If they were, that transaction info gets cleared up, so next queries don't have to look it up again.
This is simplified explanation, but the point is the process executing a read query is often best positioned to do this maintenance work. This decision trades off a little latency for throughput.