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.