datastore: refactor transaction & datastore.