A cloud database?is a database that is built, deployed and delivered through a cloud computing platform. It can be deployed either as virtual machine image or as database as a service (DBaaS). When deployed as virtual machine image, the database is installed on a virtual machine on a cloud platform. The database as a service deployment model is slightly different???the database can be used without physically creating a virtual machine instance for the database. In this configuration, the database provider is responsible for installation and maintenance, while the application owner pays according to the usage. Also, a cloud database can use relational (SQL) or non-relational (NoSQL) data storage mechanisms.
Cloud Database Advantages
Running a database on the cloud allows you to take advantage of cloud computing benefits. As the service provider is maintaining the database, you can focus on developing your application without worrying about the underlying infrastructure. The payment model for storage and bandwidth is usually per-use, which is very cost-effective, especially for start-ups and small businesses. Another important advantage of cloud computing is scalability. It allows the application owner to easily assign additional resources to the database in order to keep the application working in peak times or remove some of the resources at times when they are not needed. Some database providers offer auto-scaling, while the others only allow users to scale manually using an API. Almost all cloud database providers offer high availability (most often 99.9% or 99.99% uptime).
Cloud Database Providers
There are many companies that offer database as a service. In this article, I will mention some of the most popular cloud database providers.
Amazon Web Services
As a part of its Web Services, Amazon offers both SQL and NoSQL databases. Amazon RDS? (Relational Database Service) supports a variety of SQL databases: MySQL, PostgreSQL, Oracle, SQL Server and Aurora. On the other hand, Amazon DynamoDB?provides a NoSQL database service. It uses solid-state drives (SSD) for storage and automatically replicates workloads across at least three availability zones. Amazon also offers many additional services, such as ElastiCache (provides in-memory cache???Memcached or Redis), Redshift (data warehouse) and Data Pipeline (integrates data from multiple sources). Auto-scaling and load balancing services are available as well. Although the pricing is complex, they offer a calculator that can help you calculate your costs. Also, new users can get 750 hours of Micro DB Instance each month for one year, 20GB of Storage, and 20GB for Backups with Amazon Relational Database Service (RDS) for free for 12 month using the AWS Free Tier.
Google Cloud SQL
Google has three main database as a service products: Google Cloud SQL?(MySQL database in the cloud), Google Datastore?(NoSQL database service) and Google BigQuery?(an analysis tool for running queries on large datasets). These services are part of the Google App Engine, which “uses a sandbox model which isolates processes thereby reducing the risk that a rogue process on a physical server will disrupt operations of other processes on that server.”1?Although easy to use and get started, programming languages that can be used are limited to Java, Python, Go and PHP. Two pricing models are available: packages and per-use. It is advised to purchase one of the package plans if your instances are used for more than 450 hours per month. Pricing calculator is available for all Google cloud services. As well as Amazon, Google also offers discounts, which are called sustained use discounts.
Microsoft Azure?provides both cloud database deployment models???virtual machine image and database as a service. It has a high-performance and high-availability (99.99%) SQL server and offer security and compliance-related tasks as well. Azure has some very useful features, such as SQL Data Sync, which allows you to synchronize your data with the cloud, and Blobs, which are tables optimized for storing audio and video files. It also supports NoSQL databases, which can be created using the service called Tables. Regarding the pricing, Microsoft Azure uses a per-use model with hourly billing. Find more information about their pricing here.
Cloud databases are not to be used in all cases. Consider its advantages and disadvantages and then decide whether it is better for your business to use cloud databases or traditional ones.
1. “PaaS Providers List: Comparison And Guide”, Dan Sullivan, Retrieved May 19, 2015, from http://www.tomsitpro.com/articles/paas-providers,1-1517.html.] ?