Cloud database Definition
(Wikipedia) - Cloud database
A cloud database is a database that typically runs on a cloud computing platform, such as Amazon EC2, GoGrid, Salesforce, Rackspace, and Microsoft Azure. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider. Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model. Contents
- 1 Deployment model
- 1.1 Architecture and common characteristics
- 2 Data model
- 3 Vendors
- 4 See also
- 5 References
There are two primary methods to run a database on the cloud:
- Virtual machine Image - cloud platforms allow users to purchase virtual machine instances for a limited time. It is possible to run a database on these 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. For example, Oracle provides a ready-made machine image with an installation of Oracle Database 11g Enterprise Edition on Amazon EC2 and on Microsoft Azure.
- Database as a service (DBaaS) - some cloud platforms offer options for using a database as a service, without physically launching a virtual machine instance for the database. In this configuration, 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. For example, Amazon Web Services provides three database services as part of its cloud offering, SimpleDB, a NoSQL key-value store, Amazon Relational Database Service, an SQL-based database service with a MySQL interface, and DynamoDB. Similarly, Microsoft offers the Azure SQL Database service as part of its cloud offering.
A third option is managed database hosting on the cloud, where the database is not offered as a service, but the cloud provider hosts the database and manages it on the application owner''s behalf. For example, cloud provider Rackspace offers managed hosting for MySQL on dedicated and cloud architectures and NoSQL databases via Object Rocket''s managed MongoDB service Architecture and common characteristics
- Most database services offer web-based consoles, which the end user can use to provision and configure database instances. For example, the Amazon Web Services web console enables users to launch database instances, create snapshots (similar to backups) of databases, and monitor database statistics.
- Database services consist of a database manager component, which controls the underlying database instances using a service API. The service API is exposed to the end user, and permits users to perform maintenance and scaling operations on their database instances. For example, the Amazon Relational Database Service''s service API enables creating a database instance, modifying the resources available to a database instance, deleting a database instance, creating a snapshot (similar to a backup) of a database, and restoring a database from a snapshot.
- Database services make the underlying software stack transparent to the user - the stack typically includes the operating system, the database and third-party software used by the database. The service provider is responsible for installing, patching and updating the underlying software stack similar to ObjectRocket, the Rackspace MongoDB data as a service platform.
- Database services take care of scalability and high availability of the database. Scalability features differ between vendors - some offer auto-scaling, others enable the user to scale up using an API, but do not scale automatically. There is typically a commitment for a certain level of high availability (e.g. 99.9% or 99.99%).
It is also important to differentiate between cloud databases which are relational as opposed to non-relational or NoSQL:
- SQL database, such as NuoDB, Oracle Database, Microsoft SQL Server, and MySQL, are one type of database which can be run on the cloud (either as a Virtual Machine Image or as a service, depending on the vendor). SQL databases are difficult to scale, meaning they are not natively suited to a cloud environment, although cloud database services based on SQL are attempting to address this challenge.
- NoSQL databases, such as Apache Cassandra, CouchDB and MongoDB, are another type of database which can run on the cloud. NoSQL databases are built to service heavy read/write loads and are able scale up and down easily, and therefore they are more natively suited to running on 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.
The following table provides the main 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. See the references next to the vendor names for more information or for more Cloud database vendors and products with detailed comparisons.
Cloud database vendors by deployment and data model
Virtual Machine Deployment Database as a Service
SQL Data Model
- Oracle Database
- IBM DB2
- Ingres (database)
- Amazon Relational Database Service
- BitCan (MySQL, MongoDB)
- Google Cloud SQL
- Microsoft Azure SQL Database (MS SQL)
- Heroku PostgreSQL as a Service (shared and dedicated database options)
- Morpheus (MySQL, MongoDB, ElasticSearch, Redis)
- Clustrix Database as a Service
- Xeround Cloud Database* - MySQL front-end (*service no longer available)
- EnterpriseDB Postgres Plus Cloud Database
- ACenterA MySQL and Postgres Cloud Database
NoSQL Data Model
- CouchDB on Amazon EC2
- Hadoop on Amazon EC2 or Rackspace
- Apache Cassandra on Amazon EC2
- Neo4J on Amazon EC2 or Microsoft Azure
- MongoDB on Amazon EC2, Microsoft Azure, or Rackspace
- Amazon DynamoDB
- Amazon SimpleDB
- BitCan (MySQL, MongoDB)
- Cloudant Data Layer (CouchDB)
- Cloudbase.io Cloud Database
- Database.com by SalesForce
- Google App Engine Datastore
- Instaclustr (Apache Cassandra)
- MongoDB Database as a Service (several options)
- Morpheus (MongoDB, ElasticSearch, Redis, MySQL)
Tags:Amazon, Amazon Web Services, Apache, Cloud database, Data, Enterprise Edition, Google, Microsoft, MySQL, Wikipedia