Enhancing Transactional Key-Value Storage Systems in Datacenters using Precise Clocks and Software-Defined Storage