Des: Dynamic and Elastic Scalability in Cloud Computing Database Architecture

—Nowadays, companies are becoming global organizations. Such organizations do not limit themselves in conducting business in one country. They need dynamic, elastic, scalable cloud computing platform that operates around-the-clock. Full functionality, adaptability, non-stop availability and reduced cost are the major requirements that are expected from cloud computing services. Planned or unplanned system outages are the enemies of the successful business in cloud computing environment. Hence it requires highly available, elastic scalable systems. In this paper, we analyze the benefits of cloud computing and evaluates the database architectures namely shared-disk database architecture and shared-nothing database architecture for high availability, Dynamic and Elastic Scalability.


I. INTRODUCTION
Accessing the remotely available computing resources like hardware and software, over a network is termed as Cloud computing.Cloud computing is a collection of integrated and networked hardware, software and Internet infrastructure called a platform.Using the Internet for communication and transport, it provides hardware, software and networking services to the clients.Users need utilities like computing power and storage on demand.Cloud -the name comes from the cloud-shaped symbol used in system diagrams.Cloud computing systems provide services with a user's data, platform for software development and computation.Cloud computing environment requires platform which supports the key design principles of the cloud architecture [1].One of the core design principles is dynamic scalability i.e. the ability to add and remove servers on demand.Unfortunately, the majority of available database servers are unable to satisfy this key requirement [2].This paper analyzes the benefits of cloud computing and evaluates the database architectures namely shared-disk database architecture and shared-nothing database architecture for their applicability with cloud computing.Section 2 lists out the benefits of cloud computing.Section 3 explains the inconsistency in cloud database.Section 4 analyzes the shared-nothing and shareddisk database architectures of cloud databases.

II. BENEFITS OF CLOUD COMPUTING
Cloud computing is driven by tangible and powerful benefits.Cloud computing is also known as "Elastic Computing".It should be noted that the underlying database is not very elastic and scalable.The following are the features of cloud environment:

1) Computing power is elastic only if workload is parallelizable
2) Data is stored at an untrusted host 3) Data is replicated across large geographic distances 4) Hard to maintain ACID while data is replicated over large geographic distances In a traditional IT model, each development effort needs expertise on staff.But Cloud computing model enables development to be staffed by experts and these services are accessed by large number of customers [2].
The ideal platform needs servers, networking equipment, data storage/backup, power, redundant high-speed connectivity etc.But they are very expensive and can result in a huge start-up cost to develop a single project and this effort may also fail [1].But with Cloud computing the same investment can be utilized over a large number of projects [4].
In an IT company, separate person is needed to manage and schedule the backup process.But with cloud, backup is highly automated for thousands of customers.

B. Key Benefits of Cloud Computing 1) Reduced IT operating costs (25%) 2) Shifting Capital Expenses to Operating Expenses 3) Increased efficiency (55%) 4) Agility 5) Dynamic scalability 6) Enabled us to offer new products/services (24%) 7) Simplified maintenance 8) Large scale prototyping/load testing 9) Increased ability to innovate (32%) 10) Diverse platform support 11) Faster management approval 12) Improved employee mobility (49%) 13) Freed current IT staff for other projects (31%) 14) Faster development www.ijacsa.thesai.org
With the combination of the above listed benefits of cloud computing, we are seeing an explosion of cloud options.Most importantly the Database-as-a-Service (DaaS) -provisioning of database services in the form of cloud databases.The following sections of this paper will focus on the requirements of cloud databases and the various database architectures.

III. CLOUD DATABASE
Business applications demand that the cloud database be ACID (Atomicity, Consistency, Isolation and Durability) compliant.But the cloud database architecture provides Scalability, Availability, but weak form of consistency.The following are the two example scenarios that explain the major problems faced by the companies due to inconsistency.

A. Example I: Customer Cloud Access
Consider a customer-centric music instruments website with DB access.The user makes a search for a violin and the user must be given instant access to the data orelse he/she may jump to other instrument sites.If the data given to the user said that the chosen violin is in inventory and sale is done.It happened because of data inconsistency, but violin is not really in inventory.Hence, the customer is notified that it is on backorder and the violin will be shipped soon.

B. Example II: DB in Corporate Cloud
Consider a company that sells raw materials to manufacturers.A huge company makes a purchase of a load of raw materials which are required to keep its production line running.If the inventory database is incorrect because of inconsistent data, the shipment is delayed.So the company who purchased the raw materials is forced to shut down a production line at a cost.

IV. DYNAMIC SCALABILITY IN CLOUD DATABASE ARCHITECTURE
Cloud computing databases are dynamically and elastically scalable.Hence they can provide around-the-clock data services to the clients.Now we discuss about the two types of database architectures that can be used in cloud computing platform.

1) Shared-Nothing Database Architecture 2) Shared-Disk Database Architecture B. Shared-Nothing Database Architecture
Dynamic scalability is one of the basic principles of cloud computing.In the shared-nothing DB architecture, data is partitioned and kept one partition per server [3] i.e. if there are two servers, 50% of the data is kept in each.When we add a third server, 33% of the data is maintained per server as shown in Figure 1.

It becomes a tedious and time consuming process.
 When many users request the same data, one server will be fully loaded. When user requests related information, we need to check for the data in many servers.It is very big time consuming process and degrades the system.
 Automating the partitioning process remains an indefinite goal.
 Repartitioning make the performance of the system poor.
Hence the performance is decreased with the addition of more servers [3].These are the current problems faced while deploying a shared-nothing database in the cloud [5].Amazon, Facebook and Google use a persistence engine that uses replicated tables that store and retrieve information.This approach supports elastic or dynamic scalability.

C. Shared-Disk Database Architecture
The shared-disk database architecture is illustrated in Figure 2. It eliminates the need to partition data.It uses group of low-cost servers with single collection of data.Without partitioning, the whole data is placed in all of the servers.It is a master-master configuration.If a node fails, any other node provides service [3].Hence it supports elastic and dynamic scalability, high-availability, reduced maintenance.In addition to the vital feature 'elastic scalability', the shared-disk database architecture has other important advantages also that make it very much suitable for deployment in the cloud computing environment.
The following are some of the advantages of shared-disk architecture: 1) Fewer servers required 2) Lower cost servers 3) Scale-in 4) Simplified maintenance/upgrade process 5) High-availability 6) Reduced partitioning and tuning services 7) Reduced Support Costs D. Shared-Nothing Vs Shared-Disk Database Architecture The following Table 1 compares the Shared-Disk and Shared-Nothing Database Architectures in using the parameters like configuration, number of servers required, Utilization of CPU, the cost of servers, Scalability, Maintenance, Availability, Partitioning, Support cost, downtime, Adaptability and performance.
V. CONCLUSION Cloud computing platform needs cloud compatible database architecture.This paper has analyzed the database architectures that can be used with cloud computing environment.Shared-Disk Architecture is write-limited because the related locks must coordinate across the cluster.Shared-Nothing architecture is useful for systems that need high-throughput writes when you shard your data and must be clear about the transactions that span different shards.If you require scalability over consistency, you can use sharednothing architecture.For a business system with two or three servers, Shared-Disk is the best option.Dynamic scalability is the core principle of cloud computing.But, Shared-nothing databases architecture does not support dynamic scalability.On the other hand, Shared-disk database architecture supports elastic scalability and provides high-availability.

TABLE I .
COMPARISON OF SHARED-DISK AND SHARED-NOTHING DB ARCHITECTURE