How do you ensure transaction isolation and prevent dirty reads in a highly concurrent database environment?