Cloud database

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

A cloud database is a database that typically runs on a cloud computing platform. 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.

Deployment models

Lua error in package.lua at line 80: module 'strict' not found. 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. For example, Oracle provides a ready-made machine image with an installation of Oracle Database 11g Enterprise Edition on Amazon EC2[1][third-party source needed] and on Microsoft Azure.[2][third-party source needed]
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 such a configuration, 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 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, a SQL-based database service with a MySQL interface; and DynamoDB. Similarly, Microsoft offers the Azure SQL Database service[3][third-party source needed] as part of its cloud offering. Oracle also provides its own DBaaS, allowing users to access Oracle Database 11g and 12c as cloud services.[4][third-party source needed][5]

A third option involves managed database-hosting in the cloud, where the cloud database vendor does not offer the database as a service, but hosts the database and manages it on the application owner's behalf. For example, cloud provider Rackspace offers managed hosting for MySQL on dedicated[6][third-party source needed] and cloud architectures[7][third-party source needed] and NoSQL databases via Object Rocket's managed MongoDB service.[8][third-party source needed] Similarly, on Azure[9][third-party source needed] and on Amazon Web Services, MongoLab provides MongoDB-as-a-Service.[10][third-party source needed]

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.[11][third-party source needed]
  • 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.[12][third-party source needed]
  • 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 to manage the database. The service provider (e.g. MongoLab or ObjectRocket) is responsible for installing, patching and updating the underlying software stack and ensuring the overall health and performance of the database.
  • 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%).

Data model

It is also important to differentiate between cloud databases which are relational as opposed to non-relational or NoSQL:[citation needed]

SQL databases
Such as PostgreSQL, NuoDB, Oracle Database, Microsoft SQL Server, MariaDB and MySQL, are one type of database which can run in the cloud (either in 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,[citation needed] although cloud database services based on SQL have started to address this challenge.[13][need quotation to verify]
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 can scale up and down easily,[14] 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.[15]

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.

Cloud database vendors by deployment and data model
Virtual Machine Deployment Database as a Service
SQL Data Model
NoSQL Data Model

See also

References

  1. 1.0 1.1 Amazon Machine Images - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit, Amazon Web Services, Retrieved 2011-11-9.
  2. List of Oracle VM Images (MSDN), Retrieved 2014-9-22
  3. Azure SQL Database (MSDN), Retrieved 2014-9-22
  4. [1]
  5. [2]
  6. MySQL Server Support at Rackspace, Rackspace.com, Retrieved 2014-02-24.
  7. "MySQL Databases on the Cloud at Rackspace", Rackspace.com, Retrieved 2014-02-24.
  8. "Managed MongoDB at Rackspace", Rackspace.com, Retrieved 2014-02-24.
  9. "MongoLab on Azure", Retrieved 2015-01-26
  10. "MongoLab on AWS", Retrieved 2015-01-26
  11. "AWS Management Console, Amazon RDS Features", Amazon Web Services, Retrieved 2011-11-10.
  12. "Amazon Relational Database Service, Features, Detailed Description", Amazon Web Services, Retrieved 2011-11-10.
  13. Dave Rosenberg, Are databases in the cloud really all that different?, CNET, Retrieved 2011-11-6
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Ken North, "SQL, NoSQL or SomeSQL?", Dr. Dobb's, Retrieved 2011-11-9.
  16. Deploy your database applications and projects on the cloud, IBM.com, Retrieved 2011-9-1
  17. Chris Kanaracus, "Ingres rolls out cloud database offerings", Infoworld.com, Retrieved 2011-8-28.
  18. "Amazon Web Services Announces Two New Database Services – AWS Database Migration Service and Amazon RDS for MariaDB, Amazon Press Releases, retrieved 2015-11-17
  19. "MariaDB Enterprise Cluster + MariaDB MaxScale, Microsoft Azure, retrieved 2015-11-17
  20. "Running MySQL on Amazon EC2 with EBS (Elastic Block Store), Amazon Web Services, retrieved 2011-11-20
  21. Swoyer, Stephen. "NuoDB: A Database for the Cloud." TDWI. Nov. 13, 2012. Retrieved Nov. 26, 2012
  22. "Oracle Database in the Cloud", Oracle.com, Retrieved 2011-11-9.
  23. Chris Kanaracus, "EnterpriseDB Adding New Cloud Option for PostgreSQL Database", PCWorld, retrieved 2011-8-28
  24. http://finance.yahoo.com/news/clustrix-enters-rackspace-partner-program-120500944.html
  25. EnterpriseDB#cite note-10
  26. "Announcing Heroku PostgreSQL Database Add-on", Heroku Blog, Retrieved 2011-11-9.
  27. Noel Yuhanna, SQL Azure Raises The Bar On Cloud Databases, Forrester, Retrieved 2011-11-9.
  28. Klint Finley, "7 Cloud-Based Database Services", ReadWriteWeb, Retrieved 2011-11-9.
  29. "Setting up Cassandra in the Cloud", Cassandra Wiki, Retrieved 2011-11-10.
  30. "Clusterpoint Database Virtual Box VM Installation Guide", Clusterpoint, Retrieved 2015-03-08.
  31. "Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu", Amazon Web Services, Retrieved 2011-11-10.
  32. "Amazon Machine Image, Hadoop AMI", Amazon Web Services, Retrieved 2011-11-10.
  33. "Hadoop at Rackspace", Rackspace Big Data Platforms, Retrieved 2014-02-24.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. "MongoDB on Amazon EC2, MongoDB.org, Retrieved 2011-11-10.
  36. "MongoDB on Azure, MongoDB.org, Retrieved 2011-11-10.
  37. "Easily Scale MongoDB at Rackspace", Managed MongoDB ObjectRocket by Rackspace, Retrieved 2014-02-24.
  38. "Neo4J in the Cloud", Neo4J Wiki, Retrieved 2011-11-10.
  39. "Announcing Neo4J on Windows Azure", Neo4J Blog, Retrieved 2011-11-10.
  40. Andrew Brust, "Cloudant Makes NoSQL as a Service Bigger", ZDNet, Retrieved 2012-5-22.
  41. "MongoDB Hosting Center", MongoDB.org, Retrieved 2011-11-10.