You are on page 1of 13

Literature Review

Database Technology and Database management


including

Cloud Database in real time applications

1. Introduction
In recent years, database outsourcing has become an important component of cloud computing. Due to the rapid advancements in a network technology, the cost of transmitting a terabyte of data over long distances has decreased significantly in the past decade. In addition, the total cost of data management is five to ten times higher than the initial acquisition cost. As a result, there is a growing interest in outsourcing database management tasks to third parties that can provide these tasks for much lower cost due to the economy of scale. This new outsourcing model has the benefits of reducing the cost for running Database Management System (DBMS) independently. Cloud computing economics leveraging the power of multi-tenancy delivers extremely fast shared storage at a dramatically reduced cost. Virtualization then compounds these advantages by enabling users to scale elastically and to pay only for the resources they use. The cost/performance advantages have decisively shifted in favor of the shared-disk DBMS. It is just a matter of time before the shared-disk DBMS establishes dominance in the cloud. A Cloud database management system (CDBMS) is a distributed database that delivers computing as a service instead of a product. It is the sharing of resources, software, and information between multiply devices over a network which is mostly the internet. It is expected that this number will grow significantly in the future. An example of this is Software as a Service, or SaaS, which is an application that is delivered through the browser to customers. Cloud applications connect to a database that is being run on the cloud and have varying degrees of efficiency. Some are manually configured, some are preconfigured , and some are native. Native cloud databases are traditionally better equipped and more stable that those that are modified to adapt to the cloud.

2. Background
2.1 Database Management System (DBMS)
A database management system (DBMS) is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators (DBAs) and other specialists. A database is an integrated collection of data records, files, and other objects. A DBMS allows different user application programs to concurrently access the same database. DBMSs may use a variety of database models,

such as the relational model or object model, to conveniently describe and support applications. It typically supports query languages, which are in fact high-level programming languages, dedicated database languages that considerably simplify writing database application programs.

2.2 Cloud Characteristics


One of the oft-cited advantages of cloud computing is its elasticity in the face of changing conditions. For example, during seasonal or unexpected spikes in demand for a product retailed by an e-commerce company, or during an exponential growth phase for a social networking Website, additional computational resources can be allocated on the fly to handle the increased demand in mere minutes (instead of the many days it can take to procure the space and capital equipment needed to expand the computational resources in-house). Similarly, in this environment, one only pays for what one needs, so increased resources can be obtained to handle spikes in load and then released once the spike has subsided. However, getting additional computational resources is not as simple as a magic upgrade to a bigger, more powerful machine on the fly; rather, the additional resources are typically obtained by allocating additional server instances to a task . Having DBMS in the cloud will give advantage in fast and elastic computing.

3. DBMS as a Cloud Service

Most DBMS or database management systems are simply software packages that users can acquire to create, maintain or use a database. However, since the introduction of cloud computing, DBMS has morphed into an entirely new type of service with its own unique benefits and task specific advantages. For one thing, any type of cloud service model will have to employ a dedicated cloud DBMS in order to truly provide customers with excellent access to data and databases. Traditional DBMSs are simply not set up or equipped to deal with the demands of cloud computing. And of course, if DBMS was deployed as a service as part of a larger package provided, it would likely be much more efficient in its duties and therefore cheaper in the long run. The concept of the DBMS has been around since the beginning of commercial computing; such as the navigational DBMS of the1960s. Database management systems are one of the oldest integral components of computing, essentially making it possible to scan, retrieve and organize data on hard drives and networks. All DBMS, despite whether traditional or cloud-based, are essentially communicators that function as middlemen between the operating system and the database. How is a cloud DBMS different a traditional one? For one thing, cloud-based DBMS are extremely scalable. They are able to handle volumes of data and processes that would exhaust a typical DBMS. Despite their scalability however, cloud DBMS are still somewhat lacking in their ability to scale up to extremely large processes; this is expected to be remedied in the coming months and years however. Currently, the use of cloud DBMSs are principally used in the testing and development of new cloud applications and processes. But while a stand-alone DBMS can be used on a cloud infrastructure;

most are not designed to take full advantage of cloud resources. DBMS as a cloud service-type models seek to capitalize on the disparity between antiquated DBMS models and their lack of full cloud functionality. Cloud DBMS may utilize all of these components or may have devised new strategies that combine one or more elements (like combining data structures and the data query language, for example). Many organizations are exploring the option of utilizing pre-existing modeling languages as a basis for expansion in a cloud model. This strategy ultimately saves on the time spent developing cloud DBMSs as well as enhances their overall effectiveness, since traditional modeling languages are more than adequate for handling data. Despite the benefits offered by cloud-based DBMS, many people still have apprehensions about them. This is most likely due to the various security issues that have yet to be dealt with. These security issues stem from the fact that cloud DBMS are hard to monitor since they often span across multiple hardware stacks and/or servers. Security becomes a serious issue with cloud DBMS when theres multiple Virtual Machines (which might be accessing databases via any number of applications) that might be able to access a database without being noticed or setting off any alerts. In this type of situation a malicious person could potentially access pertinent data or cause serious harm to the integral structure of a database, putting the entire system in jeopardy. There is however a proposed method for dealing with these types of incongruence. An obvious solution is the deployment of an autonomous network agent, which rigorously monitor and defends all activities related to database access. The limitation of this method however, is that a network agent may be unable to handle extremely large and dense volumes of activity / traffic. Arguably, the best solution for dealing with security issues is to employ continuous database auditing. This involves setting up a system that meticulously records, analyze and report on all activities regarding database access, especially suspicious database access. All information regarding these activities is logged and stored in an extremely remote and secure location with alerts being sent out to cloud management (or including any other individuals they might have designated to receive this information) in the event of a breach. This will provide those in charge of security with the information necessary to determine who is responsible, where they are located as well as the specifics of their machine / hardware. While deployment of a dedicated and thorough cloud DBMS hasnt occurred yet, it is certainly under development. The emergence of a comprehensive solution for all cloud service models regarding database management will open the door to a new era of cloud computing. Many of these cloud databases are designed to run on a cluster of hundreds to thousands of nodes, and are capable of serving data ranging from hundreds of terabytes to petabytes. Compared with traditional relational database servers, such cloud databases may offer less querying capability and often weaker consistency guarantees, but scale much better by providing built -in support on availability, elasticity, and load balancing. On the other hand, data management tools are an important part of relational and analytical data management business since business analysts are often not technically advanced and do not feel comfortable interfacing with low -level database software directly. These tools typically interface with the database using ODBC or JDBC, so database software that want to work these products must accept SQL queries. Therefore, a novel technology to combine DBMS capability with Cloud scale scalability is highly desirable.

4. Why DBMS in Cloud?


Database Management Systems as a cloud service are engineered to run as a scalable, elastic service available on a cloud infrastructure. These DBMS are available only as a cloud offering and are not necessarily relational. For example, Microsoft s SQL Azure is fully relational DBMS, while Microsoft s SQL services, Amazons simpleDB and Googles Big Table are not relational and have different persistence models. Cloud-based DBMS services are provided in a multi-tenancy environment with elastic resources allocation, for use in simple to complex transactions. DBMS as a cloud service excludes those DBMS that will run on the cloud infrastructure, but are not purpose-built as a cloud service. Most of the currently available DBMS engines will run on cloud infrastructure, but are not specifically engineered to take advantage of the cloud. This differentiation is the reason for the change in name from DBMS in the Cloud to DBMS as a cloud Service; running on cloud infrastructure does not define a DBMS as a cloud service . All currently available cloud DBMS are relatively new. SQL azure, the only fully relational DBMS available, began full production at the beginning of 2012 and still has some size limitations; Microsoft plans to reduce, and eventually lift, these restrictions. Today, DBMS as a cloud service are used primarily for development and testing of applications- where database sizes are small and issues of security and collocation with multiple users are not concern. One big advantages of cloud DBMS is their elasticity: the more you use, the more you pay; the less you use, the less you pay . Initially, cloud DBMSs will have an impact for vendors desiring a less expensive platform for evelopment. As cloud infrastructure with DBMSs gains maturity especially in scalability, reliability and security, cloud implementations used for short-term projects such as small departmental applications and rapid development platforms will show marked cost reductions compared with implementations within the IT department. This advantages reinforced by the ability to set up a cloud DBMS environment without the use of expensive IT personnel. The speed of setup will be a primary driver to rapid deployment of systems without the usual requirements and planning necessary for IT projects within the IT department. This will also reduce the necessity for IT to respond to short notice and short duration projects, reducing overall costs in IT. Data management applications are potential candidates for deployment in the cloud. This is because an on premises enterprise database system typically comes with a large, sometimes prohibitive up-front cost, both in hardware and in software. For many companies (especially for start-ups and medium-sized businesses), the pay as- you-go cloud computing model, along with having someone else worrying about maintaining the hardware, is very attractive. Due to the ever-increasing need for more analysis over more data in todays corporate world, along with an architectural match in currently available deployment options, we conclude that read-mostly analytical data management applications are better suited for deployment in the cloud than transactional data management applications. We thus outline a research agenda for large scale data analysis in the cloud, showing why currently available systems are not ideally-suited for cloud deployment, and arguing that there is a need for a newly designed DBMS, architected specifically for cloud computing platforms .

5. DBMS in Cloud Architecture

In Cloud Architecture, first layer is the storage, followed by databases and the upper layer is application layer. In terms of performance, it provides efficient data access with a better distribution of values for some data. Stores frequently used SQL statements in memory, avoiding the need for time-consuming recompilation at run-time. Produces a detailed report on each step used for data access, allowing you to accurately implement performance enhancements. Data is encrypted when stored or backed up, without any need for programming to encrypt and decrypt.

Real Time Databases


A growing number of applications require time-constrained access to data. For these applications, the timeliness of the data is part of the correctness criteria. Timing constraints can be derived from the temporal consistency requirements of the application and must be enforced by the DBMS. Examples of applications that require the processing of varying quantities of data with timing constraints range from chemical and power plant control, to network management, air traffic control, and multimedia systems.

Real Time Database on Cloud


Real-time database systems are emerging as a structured and systematic approach to manage data, avoiding application-dependent designs.This approach combines techniques from the database systems community with the existing methods for real-time computing.At least part of the database must be placed in main memory, in order to avoid the non-determinism of disks. However, a fast database executing in main memory is not necessarily a real-time database. For some applications completing each transaction within its deadline is more important than the average transaction rate. This requires a specialized design which ensures that transactions meet their deadlines.To overcome this the latest trend today is cloud computing which offers unlimited and flexible shared storage server in a computer system. It can be used by any organizations and provides services anytime anywhere. It gives user satisfaction because it enhances efficiency, preserves resource utilization, and improves information sharing. Software licensing and manpower training are no longer needed.

Example of real time applications on cloud


Supervisory Control and Data Acquisition (SCADA) SCADA are a category of distributed control systems being used in many industries. A SCADA system helps monitor and control a large number of distributed events of interest. In SCADA systems, sensors are scattered at various geographic locations to collect raw data (called events of interest). These data are then processed and stored in a real-time database. The database models (or reflects) the current state of the environment and is updated frequently to make it a realistic model of the up-to-date state of the environment. An example of a SCADA application is an Energy Management System (EMS). An EMS helps to carry out load balancing in an electrical energy distribution network. It senses the energy consumption at the distribution points and computes the load across different phases of power supply. It also helps dynamically balance the load. Another example of a SCADA system is a system that monitors and controls traffic in a computer network. Depending on the sensed load in different segments of the network, the SCADA system makes the router change its traffic routing policy dynamically. The time constraint in such a SCADA application is that the sensors must sense the system state at regular intervals (say, every few milliseconds) and the same must be processed before the next state is sensed.

Accounting Software Hosting


Real Time Cloud Services hosts all popular accounting software, such as, QuickBooks accounting software, Peachtree accounting software, MYOB accounting software, etc., in the cloud. Real Time Cloud Services hosts all versions of QuickBooks accounting software including Pro, Premier, Enterprise, QuickBooks Canada and all industry specific versions from year 2006 onwards in a multi-user environment.

CRM Software Hosting:


Cloud database host Customer Relationship Management (CRM) software which is an important tool to manage and grow business through efficient handling of customer and prospect data.

Benefits of Real time applications over cloud

1.

Increased speed in responding to unforeseen events

With cloud deployments, capacity and location planning are no longer in the hands of the customer, but are the responsibility of the cloud vendor. This allows companies to respond quickly to any business changes that may arise unexpectedly because operations are handled by the cloud vendors. 2. Easy to get the latest and greatest updates

Software updates and renewals are also handled by the cloud vendor and occur several times a year at no cost to the customer. This ensures that the user interface remains modern and up-todate with business demands. 3. Adoption is quick and simple

As mentioned earlier, users access cloud applications on standard web browsers anytime, anywhere. Using web style user interfaces, like that of eBay or Yahoo, allows for more widespread adoption across the company without the need for detailed training. 4. Improved information security

One of the top concerns of cloud skeptics is the fear of sacrificing data security when allowing company data to exist outside the internal firewall. Well according to SuccessFactors, security is actually increased when using cloud solutions due to strict ISO security standards that cloud providers must adhere to, in addition to the regular security audits. This means no more worrying about lost laptops with confidential data and treacherous hacking threats. 5. Deployment time decreases from years to months

Time to value with cloud solutions is significantly lower than with on-premise applications. A go live for cloud solutions takes typically 2-3 quarters, whereas on-premise solutions require 2-3 years to implement. Not only is implementation time reduced, but the IT resources required to roll-out cloud solutions are much less. 6. Lower risk with subscription based cost model

With a pay-as-you-go, subscription-based cost structure, cloud services require a lower initial investment and typically much lower overall costs than on-premise. In addition, cloud solutions provide an easy out if the customer is dissatisfied with the product. Therefore, the business risk is in the hands of the cloud vendor and not the company itself.

Cloud Challenges

Cloud-Based Database Services

Oracle Database Cloud Service


It is a tool for rapid application development, RESTful web services, SQL and PL/SQL support, and pre-packaged business productivity applications.

Google Cloud service SimpleDB


Amazon Web Services has its own NoSQL cloud database service called SimpleDB.

Microsoft SQL Azure Database


Microsoft offers SQL Azure Database as a standalone service.

Database.com
Database.com is based on the same technology that powers Salesforce.com's flagship CRM service.

CouchOne
CouchOne, the sponsor company of the NoSQL solution CouchDB, offers a free CouchDB hosting service. The service is still in beta.

Recent Research work in Cloud Database


Data management in mobile and location-based services Sensor and stream-based data management Modeling of bioinformatics and climate data Privacy-preserving data mining Outlier detection and analysis Text mining of biomedical literature Workflow and business process management Database performance analysis in distributed, parallel and cloud-based settings.

Conclusion
Real Time Cloud Services (RTCS) has emerged as a leading provider of Cloud Computing and application hosting services. It provides hosting solutions of all popular business applications including hosting of Dedicated Workgroup Servers. All cloud hosting and application hosting services include live 24x7 support with high performance.

Benefits:
Significant cost savings through economies of scale Universities are aided in becoming more competitive Improved use of IT real estate across an organization The provision of resilient, cost effective architectures Services can be scaled to users needs Enhanced agility and flexibility Automated procedures may enable researchers to do more without assistance from IT support staff

Challenges
The possible consequences of a move to cloud computing are not yet fullyunderstood Legal compliance Managing relationships between users and cloud providers Current functionality may be more limited than inother computing models Existing systems may not always scale effectively A larger proportion of operations must be automated Data security

The Way Forward


Cloud storage for real time application is the most modern technology so lots of issues are remained to consider. It has many open issues some are technical that includes scalability, elasticity ,data handling mechanism , reliability, license software,ownership, performance, system development and management and non-technical issues like legalistic and economic aspect. Cloud storage is still unknown killer application will establish so many challenges and solutions must develop to make this technology work in practice So the research is not stop here much work can be done in future. .

Research Paper reviewed


Cloud-Based Storage for Education (March 2013)
Sushma Satpute
IT Dept, Cummins college of Engg., R T M N University, Nagpur, Maharashtra, India sushma.satpute@gmail.com

Dr. Bharat Singh Deora


Department of Computer Science & IT, JRN Rajasthan Vidyapeeth University, Udaipur Rajasthan, India bsdrvu@yahoo.com

Technology is becoming an important element in todays educational system. Educational institutions and schools are now allowing students and faculty to use their own digital devices, computers, notebooks, and smart phones to study and to access the resources at the institution. The recent initiative by the government to bring in subsidized tablets to the school going children and college students are examples showing the importance of technology in education and the future direction. As the usage of digital devices will be increased in the educational institutions and among the students, the amount of data storage will increase exponentially and so as the need to effectively use this data and to have the storage capacity with the institution. This paper describes how cloud storage could be used for educational institutions, among the students and faculty to effectively store, share and distribute educational data, and also the benefits of using cloud storage and the challenges and issues with the same.

Database Management System as a Cloud Service (June,2012)


Yvette E. Gelogo and Sunguk Lee Society of Science and Engineering Research Support Korea vette_mis@yahoo.com Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, Korea sunguk@rist.re.kr

A Cloud database management system is a distributed database that delivers computing as a service instead of a product. It is the sharing of resources, software, and information between multiple devices over a network which is mostly the internet. It is expected that this number will grow significantly in the future.As a result, there is a growing interest in outsourcing database management tasks to third parties that can provide these tasks for much lower cost due to the economy of scale just like putting it into the cloud. In this paper, we discuss the recent trend in database management system and the possibilities

of making it as one of the services offered in the cloud. We also proposed an architecture of database management system in the cloud .

Data Management in the Cloud: Limitations and Opportunities


Daniel J. Abadi Yale University New Haven, CT, USA dna@cs.yale.edu
Recently the cloud computing paradigm has been receiving significant excitement and attention in the media and blogosphere. To some, cloud computing seems to be little more than a marketing umbrella, encompassing topics such as distributed computing, grid computing, utility computing, and softwareas-a-service, that have already received significant research focus and commercial implementation. Nonetheless, there exist an increasing number of large companies that are offering cloud computing infrastructure products and services that do not entirely resemble the visions of these individual component topics.In this article we discuss the limitations and opportunities of deploying data management issues on these emerging cloud computing platforms (e.g., Amazon WebServices). We speculate that large scale data analysis tasks, decision support systems, and application specific data marts are more likely to take advantage of cloud computing platforms than operational, transactional database systems (at leastinitially). We present a list of features that a DBMS designed for large scale data analysis tasks runningon an Amazon-style offering should contain. We then discuss some currently available open source and commercial database options that can be used to perform such analysis tasks, and conclude that none of these options, as presently architected, match the requisite features. We thus express the need for a new DBMS, designed specifically for cloud computing environments.

Scalable Transactions in the Cloud: Partitioning


Francisco Maia1, Jose Enrique Armendariz-I~nigo2, M. I. Ruiz-Fuertes3, andRui Oliveira1
1

Computer Science and Technology Center, University of Minho, Braga, Portugal, ffmaia,rcog @di.uminho.pt
2

Departamento de Ingeniera Matematica e Informatica, Universidad Publica de Navarra, Pamplona, Spain,enrique.armendariz@unavarra.es


3

Instituto Tecnologico de Informatica Universidad Politecnica de Valencia, Camino de Vera s/n, 46022 Valencia, Spain, miruifue@iti.upv.es Cloud computing is becoming one of the most used paradigms to deploy highly available and scalable systems. These systems usu-ally demand the management of huge amounts of data, which cannot be solved with traditional nor replicated database systems as we know them. Recent solutions store data in special key-value structures, in an approach that commonly lacks the consistency provided by transactional guarantees, as it is traded for high calability and availability. In order to ensure consistent access to the information, the use of transactions is required. However, it is well-known that traditional replication protocols do not scale well for a cloud environment. Here we take a look at current proposals to deploy transactional systems in the cloud and we propose a new system aiming at being a step forward in achieving this goal. We proceed to focus on data partitioning and describe the key role it plays in achieving high scalability

Shared -Nothing vs. Shared -Disk Cloud Database Architecture


Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr
The cloud computing is the new promising computing system. It is evident that storage plays a major part in the data center and for cloud services. The storage virtualization plays a key part in the dynamic infrastructure attribute of Cloud Computing. Which means the storage is provisioned and de-allocated on demand and usage needs. The cloud protocol, architecture, implementation and services specifications are still in it s immature stage . One of these specifications is the database architecture that is being used . There are two database Architecture , the shared -disk and the shared nothing . The primary database architectures , shared-disk and shared-nothing, each have their advantages. In this paper we discussed the characteristic, advantages and disadvantages of both database architecture for cloud computing.