Tables that remember exactly what you need
Keep every event, only the latest state per key, or the complete history of every change. Read a table as it was at a past commit, and let the engine settle which version wins when writes arrive out of order.