Values in the same instance

Published: November 9, 2015 Words: 347

1- ConsXistency in cloud computing

1-1- Definition of consistency

"Consistency is the ACID property that ensures that any changes to values in an instance are consistent with changes to other values in the same instance. A consistency constraint is a predicate on data which serves as a precondition, post-condition, and transformation condition on any transaction." ( http://en.wikipedia.org/wiki/Consistency_(database_systems))

To explain the consistency concept generally, It can be said that it is the following of set of predefined rules. Therefore, all computer systems have consistency requirements. Some of these rules are fundamental such as object references should point to valid object instances, an IP packet must have a header. These requirements are should be easy to involve to, and they are necessary. In addition, there are other consistency requirements which are defined to make it easier to provide correct service to the user; yet they are not crucial. Alternatively, when some of these requirements are relaxed, the operational apace of the system can be expanded. However, since the rules are made to ease the design of the system, if they are relaxed and some rules are broken, more algorithms will be required to deal with these cases.( Restoring Consistency after Network Partitions by Mikael Asplund October 2007 ISBN 978-91-85895-89-2 Linkoping Studies in Science and Technology Thesis No. 1331 ISSN 0280-7971 LiU-Tek-Lic-2007:40)

There are three types of consistency requirements that are traded to increase the availability:

1-2- Cloud computing

"a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction" . (http://en.wikipedia.org/wiki/Cloud_computing)

This definition illustrate that clouds have the following essential characteristics:

Nowadays, software companies are facing great challenge to keep the consistency. In fact distributed systems are becoming more complex and larger which offer huge services to use. Consequently, users are becoming depended on these services being available. Therefore, most of distributed systems trade the consistency to promise availability, performance and scalability.