Database Reference
In-Depth Information
SQL to allow developers to provide extra bounding information to the compiler. In
contrast to traditional query optimizers, the objective of the query compiler is not
to find the fastest plan but to avoid performance degradation. Thus, the compiler
choose a potentially slower bounded plan over an unbounded plan that happens to
be faster given the current database statistics. If the PIQL compiler cannot create a
bounded plan for a query, it warns the developer and suggests possible ways to bound
the computation.
In general, adequate SLA monitoring strategies and timely detection of SLA vio-
lations represent challenging research issues in the cloud computing environments.
Salman [10] has suggested that it may be necessary, in the future, for cloud providers
to offer performance-based SLAs for their services with a tiered pricing model, and
charge a premium for guaranteed performance. While this could be one of the direc-
tions to solve this problem, we believe that it is a very challenging goal to delegate
the management of the fine-granular SLA requirements of the consumer applications
to the side of the cloud service provider due to the wide heterogeneity in the work-
load characteristics, details, and granularity of SLA requirements, and cost manage-
ment objectives of the very large number of consumer applications (tenants) that can
be running simultaneously in a cloud environment. Therefore, it becomes a signifi-
cant issue for the cloud consumers to be able to monitor and adjust the deployment of
their systems if they intend to offer viable SLAs to their customers (end users). It is
an important requirement for cloud service providers to enable the cloud consumers
with a set of facilities, tools and framework that ease their job of achieving this goal
ef fe ct ively.
9.6.4 t ransaCtion s uPPort
A transaction is a core concept in the data management world that represents a set
of operations that are required to be executed atomically on a single consistent view
of a database [36]. In general, the expertise gained from building distributed data-
base systems by researchers and practitioners have shown that supporting distrib-
uted transactions hinder the ability of building scalable and available systems [51].
Therefore, to satisfy the scalability requirements of large-scale internet services,
many systems have sacrificed the ability to support distributed transactions. For
example, most of the NoSQL systems (e.g., Bigtable, Dynamo, SimpleDB) supports
atomic access only at the granularity of single keys. This design choice allows these
systems to horizontally partition the tables, without worrying about the need for dis-
tributed synchronization and transaction support. While many web applications can
live with single key access patterns [21,30], many other applications (e.g., payment,
auction services, online gaming, social networks, collaborative editing) would require
atomicity guarantee on multikey accesses patterns. In practice, leaving the burden of
ensuring transaction support to the application programmer normally leads to increased
code complexity, slower application development, and low-performance client-side
transaction management. Therefore, one of the main challenges of cloud-hosted
database systems that has been considered is to support transactional guarantees for
their applications without compromising the scalability property as one of the main
advantages of the cloud environments.
Search WWH ::




Custom Search