Cloud database

From HandWiki
Short description: Database running on a cloud computing platform

A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. 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.

Database services take care of scalability and high availability of the database. Database services make the underlying software-stack transparent to the user.[1]

Deployment models

There are two primary methods to run a database on a cloud platform:

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.[2]
Database-as-a-service (DBaaS)
With a database as a service model, users pay fees to a cloud provider for services and computing resources, reducing the amount of money and effort needed to develop and manage databases.[2] Users are given tools to create and manage database instances, and control users. Some cloud providers also offer tools to manage database structures and data.[3] Many cloud providers offer both relational (Amazon RDS, SQL Server) and NoSQL (MongoDB, Amazon DynamoDB) databases.[3] This is a type of software as a service (SaaS).

Architecture and common characteristics

  • Most database services offer web-based consoles, which the end user can use to provision and configure database instances.
  • 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.
  • Underlying software-stack stack typically includes the operating system, the database and third-party software used to manage the database. The service provider is responsible for installing, patching and updating the underlying software stack and ensuring the overall health and performance 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.[2]
  • There is typically a commitment for a certain level of high availability (e.g. 99.9% or 99.99%). This is achieved by replicating data and failing instances over to other database instances.[4]

Data model

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.[5]

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.[6] 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."[7] Data models relying on simplified relay algorithms have also been employed in data-intensive cloud mapping applications unique to virtual frameworks.[8]

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

SQL databases
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.[10][need quotation to verify]
NoSQL databases
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,[11] 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.[12]
Some SQL databases have developed NoSQL capabilities including JSON, binary JSON (e.g. BSON or similar variants), and key-value store data types.
A multi-model database with relational and non-relational capabilities provides a standard SQL interface to users and applications and thus facilitates the usage of such databases for contemporary applications built around an SQL data model. Native multi-model databases support multiple data models with one core and a unified query language to access all data models.

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. Hwang, G.; Fu, S. (May 2016). "Proof of Violation for Trust and Accountability of Cloud Database Systems". 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid). pp. 425–433. doi:10.1109/CCGrid.2016.27. ISBN 978-1-5090-2453-7. https://ieeexplore.ieee.org/document/7515718. 
  2. 2.0 2.1 2.2 Chao, Lee (2014). Cloud database development and management. Boca Raton: Taylor & Francis. ISBN 978-1-4665-6506-7. OCLC 857081580. 
  3. 3.0 3.1 McHaney, Roger (2021). Cloud technologies: an overview of cloud computing technologies for managers. Hoboken, NJ. ISBN 978-1-119-76951-4. OCLC 1196822611. 
  4. Sakr, Sherif (June 2014). "Cloud-hosted databases: technologies, challenges and opportunities" (in en). Cluster Computing 17 (2): 487–502. doi:10.1007/s10586-013-0290-7. ISSN 1386-7857. http://link.springer.com/10.1007/s10586-013-0290-7. 
  5. A. Anjomshoaa and A. Tjoa, "How the cloud computing paradigm could shape the future of enterprise information processing", Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services - iiWAS'11, pp. 7-10, 2011.
  6. S. Cass, "Designing for the Cloud", MIT Technology Review, 2009. [Online]. Available: https://www.technologyreview.com/s/414090/designing-for-the-cloud/. Retrieved 2016-10-04.
  7. "NoSQL", Wikipedia, 2016. Retrieved 2016-10-04.
  8. Modi, A (2017). "Live migration of virtual machines with their local persistent storage in a data intensive cloud". International Journal of High Performance Computing and Networking 10 (1): 134. doi:10.1504/IJHPCN.2017.083213. 
  9. https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data Article in 'Microsoft Azure'
  10. Dave Rosenberg, Are databases in the cloud really all that different?, CNET, Retrieved 2011-11-6
  11. Agrawal, Rakesh (2008). "The Claremont report on database research". SIGMOD Record 37 (3): 9–19. doi:10.1145/1462571.1462573. ISSN 0163-5808. http://db.cs.berkeley.edu/claremont/claremontreport08.pdf. 
  12. Ken North, "SQL, NoSQL or SomeSQL?", Dr. Dobb's, Retrieved 2011-11-9.
  13. Deploy your database applications and projects on the cloud, IBM.com, Retrieved 2011-9-1
  14. Chris Kanaracus, "Ingres rolls out cloud database offerings", InfoWorld, Retrieved 2011-8-28.
  15. "Amazon Web Services Announces Two New Database Services – AWS Database Migration Service and Amazon RDS for MariaDB , Amazon Press Releases, retrieved 2015-11-17
  16. "MariaDB Enterprise Cluster + MariaDB MaxScale , Microsoft Azure, retrieved 2015-11-17
  17. "Running MySQL on Amazon EC2 with EBS (Elastic Block Store), Amazon Web Services, retrieved 2011-11-20
  18. Swoyer, Stephen. "NuoDB: A Database for the Cloud." TDWI. Nov. 13, 2012. Retrieved Nov. 26, 2012
  19. Amazon Machine Images - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit , Amazon Web Services, Retrieved 2011-11-9.
  20. "Oracle Database in the Cloud", Oracle.com, Retrieved 2011-11-9.
  21. Chris Kanaracus, "EnterpriseDB Adding New Cloud Option for PostgreSQL Database", PCWorld, retrieved 2011-8-28
  22. "AWS | SAP HANA". Amazon Web Services, Inc.. https://aws.amazon.com/sap/solutions/saphana/. 
  23. "SAP Solutions". Microsoft Azure. https://azure.microsoft.com/en-us/campaigns/sap/. 
  24. "SAP HANA Enterprise Cloud". hana.sap.com. https://hana.sap.com/implementation/deployment/cloud/hana-enterprise-cloud.html. 
  25. "Clustrix Enters the Rackspace Partner Program". Yahoo! Finance. https://finance.yahoo.com/news/clustrix-enters-rackspace-partner-program-120500944.html. 
  26. Tony Baer, "Cockroach DB introduces a serverless tier", ZDNet.com, Retrieved 2021-12-13.
  27. 27.0 27.1 EnterpriseDB
  28. "Cloud SQL - MySQL Relational Database Service". https://cloud.google.com/sql/. 
  29. "Announcing Heroku PostgreSQL Database Add-on", Heroku Blog, Retrieved 2011-11-9.
  30. Noel Yuhanna, SQL Azure Raises The Bar On Cloud Databases, Forrester, Retrieved 2011-11-9.
  31. Pethuru, Raj (2014-03-31) (in en). Handbook of Research on Cloud Infrastructures for Big Data Analytics. IGI Global. ISBN 9781466658653. https://books.google.com/books?id=m95GAwAAQBAJ&dq=Oracle+Cloud+Database&pg=PA223. 
  32. Klint Finley, "7 Cloud-Based Database Services" , ReadWriteWeb, Retrieved 2011-11-9.
  33. "Setting up Cassandra in the Cloud ", Cassandra Wiki, Retrieved 2011-11-10.
  34. "Google Cloud Platform Blog: Click to Deploy Apache Cassandra on Google Compute Engine". https://cloudplatform.googleblog.com/2014/07/click-to-deploy-apache-cassandra-on-google-compute-engine.html. 
  35. "[1]
  36. "Clusterpoint Database Virtual Box VM Installation Guide ", Clusterpoint, Retrieved 2015-03-08.
  37. "Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu[yes|permanent dead link|dead link}}]", Amazon Web Services, Retrieved 2011-11-10.
  38. "CouchDB Cloud Hosting on Google Cloud Platform". https://bitnami.com/stack/couchdb/cloud/google. 
  39. "Amazon Machine Image, Hadoop AMI[yes|permanent dead link|dead link}}]", Amazon Web Services, Retrieved 2011-11-10.
  40. "Cloud Dataproc: Managed Spark & Managed Hadoop Service". https://cloud.google.com/dataproc/. 
  41. ["http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop at Rackspace] ", Rackspace Big Data Platforms, Retrieved 2014-02-24.
  42. "MarkLogic Developer 8 (HVM) on AWS Marketplace". aws.amazon.com. https://aws.amazon.com/marketplace/pp/B00U36DS6Y/ref=wikipedia_cloud_db. 
  43. "Flexible Deployment". http://www.marklogic.com/wp-content/uploads/2016/09/Flexible-Deployment-Datasheet.pdf. 
  44. "MongoDB on Amazon EC2, MongoDB.org, Retrieved 2011-11-10.
  45. "Deploying MongoDB on Google Compute Engine". https://cloud.google.com/solutions/deploy-mongodb/. 
  46. "MongoDB on Azure , MongoDB.org, Retrieved 2011-11-10.
  47. "Easily Scale MongoDB at Rackspace ", Managed MongoDB ObjectRocket by Rackspace, Retrieved 2014-02-24.
  48. "Neo4J in the Cloud ", Neo4J Wiki, Retrieved 2011-11-10.
  49. "Announcing Neo4J on Windows Azure", Neo4J Blog, Retrieved 2011-11-10.
  50. 50.0 50.1 Adrian Bridgwater, "Scylla's real-time NoSQL database tapped by 'super app'", Computerworld, Retrieved 2012-12-27.
  51. Andrew Brust, "Cloudant Makes NoSQL as a Service Bigger", ZDNet, Retrieved 2012-5-22.
  52. "DataStax Astra DB: DataStax managed services powered by Apache Cassandra". DataStax. https://www.datastax.com/products/datastax-astra. 
  53. "Bigtable: Scalable NoSQL Database Service". https://cloud.google.com/bigtable/. 
  54. "Datastore: NoSQL Schemaless Database". https://cloud.google.com/datastore/. 
  55. "MongoDB Atlas: Hosted MongoDB as a Service". http://www.mongodb.com/cloud. 
  56. "NoSQL Database Cloud Service" (in en). Oracle Cloud. https://cloud.oracle.com/en_US/nosql.