Exploring cloud databases
A cloud database is a database service created and accessed through a cloud platform.
A cloud database is a collection of information, structured or unstructured, that is hosted in a private, public, or hybrid cloud computing infrastructure platform. There is no structural or conceptual difference between a cloud or on-premises database, it’s just the location that’s different.
Cloud databases are divided into two broad categories: relational and non-relational.
As in the case of databases with traditional ancestors, we have the same definition for a relational database, which is written in Structured Query Language (SQL). It is composed of tables organized in rows and columns with relationships between them, called fields. This relationship is specified in a data schema.
Non-relational databases, also called NoSQL, use a different storage concept based on documents. They do not use a table model to store content as in the traditional approach; they use a single document instead.
A non-relational database is recommended for unstructured data – for example, for social media content, photos, or video storage. There are two models of cloud database environments: traditional (which we discussed earlier) and database as a service (DBaaS).
For the first case, we can host a virtual machine, install the cloud database management system (DBMS), and the database runs on this machine, so the management and monitoring of the database are managed by the organization. On the other hand, the DBaaS model is a paid subscription service in which the database runs on the physical infrastructure of the cloud service provider.
Azure offers a set of fully managed relational, NoSQL, and in-memory databases:
- Azure SQL Database: This is used for applications that scale with intelligent, managed SQL databases in the cloud
- Azure SQL Managed Instance: This is used to modernize your SQL Server applications with a managed, always up-to-date SQL instance in the cloud
- SQL Server on Azure Virtual Machines: This is used to migrate SQL workloads to Azure while maintaining full SQL Server compatibility and OS-level access
- Azure Database for PostgreSQL: This is used to build scalable, secure, fully managed enterprise-grade applications using open source PostgreSQL, scale PostgreSQL with single-node and high performance, or move your PostgreSQL and Oracle workloads to the cloud
- Azure Database for MySQL: This used to provide high availability and elastic scaling for your open source mobile and web apps with the managed community MySQL database service or move your MySQL workloads to the cloud
- Azure Database for MariaDB: This is used to build applications anywhere with guaranteed low latency and high availability at any scale, or move Cassandra, MongoDB, and other NoSQL workloads to the cloud
- Azure Cache for Redis: This is used to run fast and scalable applications with open source compatible in-memory data storage
- Azure Database Migration Service: This is used to accelerate your move to the cloud with a simple, self-paced migration process
- Azure Managed Instance for Apache Cassandra: This is used to modernize existing Cassandra data clusters and apps and enjoy flexibility and freedom with the Managed Instance service