Databases in the Cloud is an article where the concept as well as the various types and characteristics of cloud database provides a basic understanding of the technology. Databases in the Cloud is a reference article. For easy version of Databases in the Cloud, a regular user can read our previous article on Databases in the Cloud.
Introduction to Databases in the Cloud
Databases are the cornerstone of almost all applications of a company or website and thus have an essential role in its success. Be it a web store, a car manufacturer or a financial service company, all companies use databases to store mission-critical and valuable information and process it. Therefore, database systems robust on data security, system reliability and performance as value. New technologies such as cloud computing raises the question whether the conventional procedures, with their own database servers in the corporate network is still the best way to organize its data management.
In this article, between these two approaches, first has been explored. The objective is to give a basic understanding of the development of cloud computing, common data services in the enterprise and cloud-based data services and also to provide an outlook for the future.
At the beginning of this article, there is about the basics of cloud computing. Here the concept as well as the various types and characteristics of the cloud is provided for a basic understanding. Subsequently, the traditional database services are highlighted. There are different products and detailed information is given.
Cloud Computing and Types of Cloud Services
Cloud computing is the provision of IT services and resources such as applications, processing power, storage capacity, or combinations thereof remotely and often spatially on distributed computing systems, which through the Internet with the on-site terminals and PC workstations, mobile devices, etc. are connected. The National Institute for Standards and Technology (NIST) describes Cloud Computing describes as : Cloud computing is a model for simple, on-demand network access to a shared pool of configurable computing resources (like networks, servers, storage, applications and services), the can be quickly deployed with minimal administration and no interaction of the service provider.
Software-as-a-Service (SaaS) : This term refers to the use out of a program or an application in the cloud. This application does not need to be installed locally on the computer for using. Instead, it is installed on a central server located in the cloud system and offers from there access by many users simultaneously.
Infrastructure-as-a-Service (IaaS) : In order to offer a service like SaaS in the cloud, it does not of course consists only the program itself, but also the entire computing infrastructure as the basis for the implementation of this program. The extension to this same infrastructure is called Infrastructure-as-a-service.
Platform-as-a-Service (PaaS) : This term refers to the provision of complete computing platforms with several different server systems and applications.
Databases in the Cloud
In the cloud, different types of Databases in the Cloud services are offered. The typical relational databases are provided as a service, but also non-relational or NoSQL databases are also provided as a service. Here is the “NoSQL” is not used for “no SQL” but for “Not Only SQL”, not just SQL.
This trend of NoSQL Databases in the Cloud has developed to compensate for the weaknesses of the relational databases, in terms of scalability. While in the SQL standard “scaling” operates, so the server with more hardware resources are available in the cloud and NoSQL uses the “scale-out” method. Here, instead of a server to allocate more resources it simply add more servers (virtual machines or cloud instances).
The coordination of the read and write operations are performed by a load balancer. Thus, with capacity constraints, rapid action is possible and as soon as the resources are no longer needed, just can be removed. These operations can be even automated, so no action is required from the administrative side. In NoSQL, data has no predefined columns or data types, which makes it easy to customize the database to the application requirements. Regarding the distributed data in “scale-out” this is an essential advantage, since the SQL databases working with partitioned tables, a schema update is difficult. NoSQL is divided into different main categories, document-oriented databases, column-oriented databases and so on. The categories differ on their purpose. For relational databases, the resolution of such relationships often needed multiple queries.
Memcache is referred to as a distributed database system that are held in server memory and are designed for fast access times. For this type of database, usually data stores are used for their simplicity and sleek design. Using Memcache for example, cache frequently asked database queries.