Adapting Distributed Key-Value Datastores For Online Transaction Processing