A method of providing transactional support to a database hosted in a computing system having multiple servers , the database having a set of key-value pair each with a key and a corresponding value , the method comprising: receiving, at a server in the computing system , a request to update a parameter with a new value in the database , the parameter corresponding to an existing key-value pair having an existing value; and in response to receiving the request, at the server in the computing system , generating a new version value for the key-value pairs in the database ; creating, in the database , a new key-value pair corresponding to the parameter using both the generated new version value and a name of the parameter as a key and the new value as the corresponding value for the created new key-value pair ; determining whether creating the new key-value pair corresponding to the parameter is completed successfully in the database ; and in response to determining that creating the new key-value pair corresponding to the parameter is not completed successfully, maintaining a version value in a committed version record in the database without updating the committed version record with the generated new version value, the maintained version value corresponding to the existing key-value pair of the parameter such that, instead of returning the new value, the existing value is returned as a current value of the parameter in response to a query for the current value of the parameter. receiving, at a server in the computing system , a request to update a parameter with a new value in the database , the parameter corresponding to an existing key-value pair having an existing value; and in response to receiving the request, at the server in the computing system , generating a new version value for the key-value pairs in the database ; creating, in the database , a new key-value pair corresponding to the parameter using both the generated new version value and a name of the parameter as a key and the new value as the corresponding value for the created new key-value pair ; determining whether creating the new key-value pair corresponding to the parameter is completed successfully in the database ; and in response to determining that creating the new key-value pair corresponding to the parameter is not completed successfully, maintaining a version value in a committed version record in the database without updating the committed version record with the generated new version value, the maintained version value corresponding to the existing key-value pair of the parameter such that, instead of returning the new value, the existing value is returned as a current value of the parameter in response to a query for the current value of the parameter. creating, in the database , a new key-value pair corresponding to the parameter using both the generated new version value and a name of the parameter as a key and the new value as the corresponding value for the created new key-value pair ; determining whether creating the new key-value pair corresponding to the parameter is completed successfully in the database ; and in response to determining that creating the new key-value pair corresponding to the parameter is not completed successfully, maintaining a version value in a committed version record in the database without updating the committed version record with the generated new version value, the maintained version value corresponding to the existing key-value pair of the parameter such that, instead of returning the new value, the existing value is returned as a current value of the parameter in response to a query for the current value of the parameter. <EOS>