Introduction:
As a result of major changes in the world of IT industry in recent years a new way of IT, known as cloud computing, has been introduced. As a consequence, traditional components of IT system have been reshaped. The basic advantage of cloud computing is in uniting benefits of many modern technologies with significantly fewer costs for end users. Cloud computing brought a huge variety of benefits for various purposes. For example, cloud computing is a promising environment for gaining all benefits of business intelligence (BI). BI, as a set of software for improving business decisions, can now run in the Cloud environment and users only pay for resources they really use, instead of dedicated hardware and software installed on various premises. As being integral and, in some cases, the most important part of any IT system, databases experienced significant changes, especially in the field of architecture.
The aim of this essay is to discuss the development of new types of databases, primarily designed to meet the criteria of use and expectations in Cloud environment, how they differ from traditional relational databases. Some important issues, such as sensitive data security will also be discussed. Then I will discuss cloud databases implementation by giving some examples. Finally, I will discuss benefits and drawbacks of new cloud database concept and deploying database systems in the cloud, in general, comparing to traditional relational databases.
1. Cloud Computing
One of the consequences of introducing cloud computing as a new concept is the transition from traditional relational databases, which were dominant in last 40 years, to the concept of cloud databases. The main reasons that led us to development of the latest generation of database systems are those that raised from arose from the demands of Web 2.0, global e-commerce, Big Data, social networks the Internet of Things (IoT). According to Gelogo and Lee (2012) database outsourcing has become very popular during past years since the cost of data transfer is falling and the cost of data management is rising (p. 71). Simply put, cloud computing allows companies to rent IT and hosting services instead of investing in new infrastructure, training of personnel, or licensing new software. Cloud computing service is rented upon request, allowing the users to take as much space of a service as they want and serviced fully by the service provider. Companies pay monthly rent for using this service, so there is no need for immediate and large investments of capital in their own hardware and software that will be amortized in the future.
2. Storage Architecture:
1. Shared-nothing
2. Shared-disk
Shared-nothing concept means that data is divided into independent sets as a result of partitioning. Data sets are located on physically different servers, thus improving scalability, which makes applications suitable for Cloud environment (Arora & Gupta, 2012, p. 78). Problems with functioning shared-nothing databases in cloud environment occur due to the use of data partitioning since it makes virtualization and maintenance of such databases difficult. Issues such as adding a middleware for database requests routing, data repartitioning, increase in data shipping effect negatively on database performance. The most common use of this concept of Cloud databases is for data-intensive applications.
According to Hoseini and Kiadehi (2014), shared-disk storage architecture excludes the need for data partitioning and makes this the best solution for cloud databases (p. 72). All servers, organized in clusters, have all data available and low-cost servers, organized in clusters, can be used. Verma, Chaundhary and Rastogi (2014) go on and say that some of the advantages of shared-disk infrastructure are the requirement for fewer servers, ability to use lower-cost servers, scale-in, easier maintenance and upgrade, high availability, reduced data partitioning and reduced support costs (p. 8).
While traditional relational databases are designed to work with structured data, cloud databases can work with unstructured data and are also characterized by the fact that they can support changes in storage requirements. Shared-disk infrastructure requires fewer servers because each server node is in fact failover solution for the rest of nodes, unlike shared-nothing infrastructure, where a single server is required for each dataset and his backup as well.
3. Cloud Storage
Cloud Storage is a service model which allows customers to put their data in the cloud as if they were stored on any other device. Some services use special tools or a web browser but most allow the manipulation of data in the normal way within the user OS.
DaaS or Data-as-a-Service allows storing data in the cloud. This service is only applicable for basic handling and data manipulating. DBaaS – Database-as-a-Service is the most comprehensive and most powerful solution for working and storing data in the cloud. DBaaS offers the full functionality expected from a modern database. DBaaS can be understood as a subset of SaaS (Software-as-a-Service), which covers the provision of hardware and software for the database as a service. When selecting type of service providers should take into account the needs and nature of applications planned to be used, for example do we need a remote data storage, in which case it can also serve simplest cloud storage or we maybe request qualities and performance of database or, for example, does the application require or will require transactions. The term Cloud Database refers to databases adapted for storing data in the cloud environment. The question is what kind of base and DBMS corresponds to the characteristics of the cloud. Some of the basic features that cloud databases should have are high availability, speed, security and privacy, reliability, consistency, scalability of distribution
4. Cloud Database Security
A common reason for hesitation in moving to cloud solutions is the lack of trust in the security of data and services in such system. Results of a survey conducted in 2010 showed that although 60% of the 800 companies surveyed were seriously thinking to move to solutions in the cloud, only 8% of them actually took that step, and due to the lack of confidence in the safety and loss of direct control over their data (Alford and Morton, 2010, p. 34). Each cloud computing model has a different impact on application security in the cloud and no measure is universally applicable to all models. Any combination of cloud services has a special set of risks and requires special protection measures.
Data security is a discipline that is based on an understanding of risk. Users must be aware of potential risks when lodging their data and information into the cloud, or using cloud applications. They must, therefore, employ different processes and techniques to manage these risks, and reduced them to an acceptable level. Security as a concept essentially involves availability (availability to authorized persons), integrity (non-infringement of integrity) and reliability (confidentiality, protection against theft). Security in the cloud must also comply with these basic requirements, and in addition with some specific such as: network security against malicious activity, security of transactions within the data center and between the user and the data center, security platforms and software applications, protection of storage and data warehousing, compliance with legislation and regulations. Basically, the security aspects such as authentication and authorization, encryption and coding, digital certificates, etc., shall also apply to the cloud environment.
Despite all the above-mentioned aspects, security in the cloud can be divided into two basic categories: the security relating to the cloud providers and users. . Service providers must ensure that their cloud architecture is secure, and user data and applications are protected. On the other hand, users must make sure that the cloud provider has taken all necessary measures to protect their data. From a legal point of view, what is considered to be protected in one country – may not be in some other country, which represents an additional complication in the case of data stored in the cloud being compromised by hackers, competitors or other uninvited guests. In case of traditional data centers, security problems and challenges are mostly solved by using a firewall and system for detecting malicious attacks (IDS – Intrusion Detection Systems). However, such protection system in the cloud environment, protecting only the entrance to the system is not enough, as there so many things going on in the cloud, or on the network between servers and virtual machines in the data center.
According to Ferretti, Colajanni and Marchetti (2012) new architectural design is about using encryption methods which will not prevent clients from running SQL queries through DBMS engine (p. 180). All architectural solutions, developed for this purpose, consists of the intermediate proxy server, having a role of mediator between clients and DBMS server. Buckley and Wo (2014) say that Databases represent, probably, the most vulnerable and most important part of every ICT system, because of the significance of all stored data and information (p. 33). This becomes even more important when it comes to the cloud environment. These authors also say that the most common used security policies for cloud database protection are (p. 34):
– Least privilege, meaning access limitation
– Separation of privileges, meaning that different users can perform different actions
– Authorization and Authentication defines access and verifies identity
– Defense in Depth, implementation of security measures at all levels
– Logging and Auditing, tracking and keeping record of all activities
– Information Hiding, protecting sensitive information using cryptography in most cases
– Redundancy
– Monitoring
The quick response of every Cloud database is essential for service performance, and that is the reason why all of the previous measures and security policies are not implemented together in every solution. Security patterns are in most cases based on best practices and knowledge and experience of designers. It is while creating, developing and using databases various types of users need some level of freedom in their activities, which can easily create unwanted opportunity even for authorized users to jeopardize data security.
5. Implementation of Cloud Databases
E-Health
Pabitha (2015) defines e-health as a relatively new concept in the global healthcare practice, which arose as a result of connecting health records, data and processes on one side of modern information systems on the other side (p. 1230). This new achievement in the field of health care has proven to be appropriate from the standpoint of saving resources and costs, and in addition safe for the protection of sensitive and confidential personal data of end users and customers. Alam and Kashish agree with this, stating that the use of cloud computing and cloud databases to manipulate data related to the health of patients is a very good solution for data processing and storing and integration with various services, as well as upgrading the existing system, of course with paying lots of attention to data security (p. 5).
In the case of e-Health, there is no consensus on how to implement this service in a cloud environment. A private cloud provides maximum protection of confidential information while public cloud seems to be economically advantageous, but it is believed that a hybrid solution is the best because it allows the easiest transition from traditional architectural implementation to cloud solutions (Bollineni and Neupane, 2011, p. 59). Sensitive data remain within the medical institutions where the existing IT solutions are transferred to the private cloud solution. On the other hand, when the computing resources needed for data processing or using services that do not reveal the identity of the patient, activity is done in the public cloud. One of the most important issues is the economic viability of the transition from traditional to cloud solutions. A study carried out by consulting company Booz Allen Hamilton shows that the costs of maintaining the institutional services in the cloud are 65-85 percent lower compared to costs of existing solutions (Alford and Morton, 2010, p. 5). In addition, the extensive infrastructure replaced by Cloud solution is the more noticeably cost reduction.
According to Biswas et al. (2014), one possible type of solution is implementing three-tier architecture and cloud database maintenance through Amazon’s SimpleDB, which will also enable integration of any third party additional services in the future. SimpleDB is a good choice for this purpose since it is suitable for Web applications, without a need for indexing and administering (p. 286). In the year 2011, the London Chelsea and Westminster Hospital has established a Cloud EHR solution, in which patients have full control in defining who has access to their data (Fan et al., 2012, p. 5).
Business Intelligence (BI)
Business Intelligence is a term that refers to the collection and processing large amounts of data, thus allowing obtaining different types of reports. Decision-making in many areas of modern business is based on these reports. This field is gaining in importance, especially knowing that the possession of information is a major advantage in obtaining a competitive advantage in the market. BI systems can handle large volumes of data and provide reports, based on which it becomes possible to monitor trends, to discover the pattern of a certain phenomenon, unrelated at first appearance, and even predict future events in a business environment with a high probability of achieving.
Ouf and Nasr (2011) state that cloud infrastructure and using Software-as-a-Service principle is a great solution for the implementation of BI systems and tools, for reasons such as low cost and ease of deployment, eliminating the need for specialized hardware and software. In addition, customers pay only for the resources they actually use and easy upgrade and scalability and high reliability of the system is also provided (p. 751). Cloud databases are a very good solution too because of in this case a very large amount of data, with the trend of constant increase. Growth considerations are very important when choosing the right type of cloud database, which should be based on a shared-nothing architecture and must be able to provide a high level of data compression.
Future Development of Cloud Databases
Schubert and Jeffery (2012) states that when it comes to the future of the cloud concept, one of the obstacles for development could be the problem with unrealistic expectations of end users of cloud systems, because cloud systems inherit many traits related to the existing Internet domains (p. 27). Any problem that happens in the cloud system affects a much larger number of users than it was the case of previous traditional systems. Furthermore, these authors also say that some of the new features of working in a cloud environment, such as manipulation and processing significantly larger amounts of data, the existing restrictions on the system performance as well as significantly increased number of requests of all type of users and still existing physical limitation in the communication system are limiting factors, that is yet to be resolved (p. 28).
While Schubert and Jeffery (2012) states that there is a very big interest from business users for the utilization of the potential cloud environment (p. 27), Haff (2012) agrees but also states that organizations still do not decide to transfer all of their services into the Cloud, mostly because of problems with compliance and security (p. 2). According to the author of this essay, it is certain that the cloud is the future IT concept for all organizations and they will gradually and over time migrate with all their users and systems, due to the benefits provided in relation to the current IT systems based on on-premise resources.
Currently, a large number of systems is already working on this platform, such as social networks that are extremely popular with the vast number of users all over the world, while critical systems, especially those that require the highest level of security (banking systems, governments, security agencies) are still based on highly protected, dedicated and on-premise architecture.
When it comes to future trends in the development of cloud databases, many authors agree with their assessment that development is determined largely by the growing needs of modern society for handling larger quantities of data. This is especially applicable to "Big Data" global phenomenon, determining the direction and development of the entire cloud system and its architecture. This is mentioned by Moniruzzaman and Hossain (2013) as one of the main reasons for the emergence of a new type of structure base, or NoSQL (Not Only SQL) Databases (p. 2). The future belongs to these database types and will be determined by an extremely dynamic development and global domination of new Internet technologies and services, as well as the need for storage and processing of huge amounts of unstructured data that does not require a relational models, for example Amazon, Google, Facebook and other cloud services associated with popular social networks. There is also a huge and constantly growing amount of various multimedia content to be stored. Harrison (2015) also states that new Internet technologies and BigData and Internet of Things (IoT) will be the main trends to determine the future of cloud database development (p. 192). This author goes on and says that today IT experts can choose between a variety of available, mostly non-relational databases, according to specific application that needs to be supported (p. 194).
Conclusion
The emergence of new Internet technologies accompanied with an ongoing need of modern business trends led to the changes in information technology. Cloud services and cloud databases are gaining in importance and even today it is more than obvious that future of It belongs to them. Small and medium corporations have already become aware of the benefits of cloud solutions and migration of their data in the cloud databases as well as the utilization of cloud infrastructure. A big obstacle for large enterprises is still security issue since they are not yet ready to migrate their data to hosted environment. Bringing these problems to the attention shows us that there is still a lot to do in order to make cloud widely accepted solution, especially in the field of data security. It is, therefore, difficult to say when this new concept will become dominant and globally accepted but it surely will not be long. Regarding databases in the cloud environment, a lot of specialized types of databases have been developed, so now it is possible to choose the appropriate type of database according to the needs of specific applications and assessment of future trends and needs of the specific system. The future of databases belongs to NoSQL databases since they are focused on the analytical processing of large-scale datasets, offering increased scalability.