Hosting a database in the cloud offers major advantages, like scalability and lower costs, yet also presents potential headaches, like privacy and liability. Here's a look at the pros and cons of cloud computing databases.
Database-as-a-Service versus Data-as-a-Service
Cloud-based database solutions fall into two basic categories: Database-as-a-Service (DBaaS) and Data-as-a-Service (DaaS). The key difference between the two is mainly how the data is managed.
DaaS gives you the ability to define your data and then query against this data from anywhere in the world that has an Internet connection. Unlike traditional database solutions, DaaS does not implement typical RDBMS interfaces such as SQL. Instead, the data is accessed via common set of APIs. Moreover, DaaS is best suited to basic data management querying and manipulation.
DBaaS is a far more robust data solution, offering full database functionality. In a DBaaS, a management layer is responsible for the continuous monitoring and configuring of the database to achieve optimized scaling, high availability, multi-tenancy, and effective resource allocation in the Cloud. Thus, the developer is spared much of the hassles of the tedious ongoing DB management tasks and operations, as those are automatically handled by the service.
There are three basic flavors of Cloud-based database services, which differ on how much flexibility the user has to customize the environment.
At one end of the scale, there are computing clouds where the user has access to a barebones machine with just an operating system to which he/she gets full flexibility in installing and configuring his/her preferred RDBMS software. This setup is known as an Infrastructure as a Service (IaaS) Cloud. A good example of this type of service is Amazon's Elastic Computing Cloud (EC2). This platform would be an excellent choice for someone who wanted to have full control over their hosted database.
Another common model for deploying RDBMS in the Cloud is the Virtual appliance model. A virtual appliance is a Virtual Machine environment image with a pre-installed pre-configured application. Amazon also offers pre-configured MySQL, Oracle, and Microsoft SQL Server virtual appliances for deployment in its EC2 Cloud.
Read the rest about cloud-based database solutions at Database Journal.