A cloud database is a type of database service which runs on a cloud computing platform, like Amazon EC2, GoGrid and Rackspace. Cloud databases can use cloud
computing to
achieve optimized scaling, multi-tenancy,
high availability and effective resource allocation.
Moreover, the vendor directly
manages the backend processes of database installation, deployment and resource
assignment tasks.
- Methods to run a database on the cloud:
- Using a Virtual machine Image : Users can purchase virtual machine for limited time period. They can either upload their own machine image with a database installed on it, or use ready-made machine images that already include an optimized installation of a database.
- Purchase access to a database service : it is also refer as Database-as-service (DBaas). In this application owners do not have to install and maintain the database on their own. Instead, the database service provider takes responsibility for installing and maintaining the database, and application owners pay according to their usage.
- Managed database hosting on the cloud: the database is not offered as a service, but the cloud provider hosts the database and manages it on the application owner's behalf.
- Type of databases support:
- SQL databases, like NuoDB, Oracle Database, Microsoft SQL Server, and MySQL.
- NoSQL databases, like Apache Cassandra, CouchDB and MongoDB,
Thought
Cloud database supports SQL databases , they
are not suited to a cloud environment as they are difficult to scale. On the
other hand, NoSQL databases are able to scale up/down easily and therefore they
are more natively suited to running on the cloud.
- Advantages :
- Increased accessibility
- Automatic failover
- Fast automated recovery from failures
- Flexibility and elasticity
- Minimal investment
- Massive scalability
- Easy to maintain
- Potentially better performance
- Almost Unlimited Storage
- Drawbacks:
- Data Protection: security and privacy issues
- User Authentication: Limiting access to data and monitoring who accesses the data
- Disaster and Data Breach Contingency Planning :The potential loss of or inability to access critical data in the event of a disaster or bankruptcy of the cloud database service provider.