Cloud database


A cloud database is a database that typically runs on a cloud computing platform, and access to the database is provided as-a-service.
Database services take care of scalability and high availability of the database. Database services make the underlying software-stack transparent to the user.

Deployment models

There are two primary methods to run a database in a cloud:
; Virtual machine image: Cloud platforms allow users to purchase virtual-machine instances for a limited time, and one can run a database on such virtual machines. Users 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.
; Database-as-a-service : With a database as a service model, application owners do not have to install and maintain the database themselves. Instead, the database service provider takes responsibility for installing and maintaining the database, and application owners are charged according to their usage of the service. This is a type of Saas - Software as a Service.

Architecture and common characteristics

The design and development of typical systems utilize data management and relational databases as their key building blocks. Advanced queries expressed in SQL work well with the strict relationships that are imposed on information by relational databases. However, relational database technology was not initially designed or developed for use over distributed systems. This issue has been addressed with the addition of clustering enhancements to the relational databases, although some basic tasks require complex and expensive protocols, such as with data synchronization.
Modern relational databases have shown poor performance on data-intensive systems, therefore, the idea of NoSQL has been utilized within database management systems for cloud based systems. Within NoSQL implemented storage, there are no requirements for fixed table schemas, and the use of join operations is avoided. "The NoSQL databases have proven to provide efficient horizontal scalability, good performance, and ease of assembly into cloud applications." Data models relying on simplified relay algorithms have also been employed in data-intensive cloud mapping applications unique to virtual frameworks.
It is also important to differentiate between cloud databases which are relational as opposed to non-relational or NoSQL:
; SQL databases: are one type of database which can run in the cloud, either in a virtual machine or as a service, depending on the vendor. While SQL databases are easily vertically scalable, horizontal scalability poses a challenge, that cloud database services based on SQL have started to address.
; NoSQL databases: are another type of database which can run in the cloud. NoSQL databases are built to service heavy read/write loads and can scale up and down easily, and therefore they are more natively suited to running in the cloud. However, most contemporary applications are built around an SQL data model, so working with NoSQL databases often requires a complete rewrite of application code.

Vendors

The following table lists notable database vendors with a cloud database offering, classified by their deployment model – machine image vs. database as a service – and data model, SQL vs. NoSQL.
Virtual Machine DeploymentDatabase as a Service
SQL Data Model
  • Amazon Relational Database Service
  • Amazon Aurora, MySQL based service
  • Clustrix Database as a Service
  • EnterpriseDB Postgres Plus Cloud Database
  • Google Cloud SQL
  • Heroku PostgreSQL as a Service
  • Oracle Database Cloud Service
  • Microsoft Azure SQL Database
  • Snowflake Cloud Data Warehouse
  • Xeround Cloud Database*MySQL front-end
  • NoSQL Data Model
  • Apache Cassandra on Amazon EC2 or Google Compute Engine
  • ArangoDB on Amazon EC2, Google Compute or Microsoft Azure
  • Clusterpoint Database Virtual Box VM
  • CouchDB on Amazon EC2 or Google Cloud Platform
  • EDB Postgres Advanced Server
  • Hadoop on Amazon EC2, Google Cloud Platform, or Rackspace
  • MarkLogic on Amazon EC2 or Google Cloud Platform
  • MongoDB on Amazon EC2, Google Compute Engine, Microsoft Azure, or Rackspace
  • Neo4J on Amazon EC2 or Microsoft Azure
  • Amazon DynamoDB
  • Amazon SimpleDB
  • Azure Cosmos DB
  • Cloudant Data Layer
  • EnterpriseDB Postgres Plus Cloud Database
  • Google Cloud Bigtable
  • Google Cloud Datastore
  • MongoDB Database as a Service
  • Oracle NoSQL Database Cloud Service
  • Amazon DocumentDB