Definition: A cloud database is a database service built, deployed, and accessed through a cloud computing platform.
In general, cloud databases are tools used to help organizations or individuals manage their relational databases. These databases can be used for anything from storing your users payment information to storing the information about individuals medical details. The purpose of the “cloud” in the cloud database name, is to allow users to not buy/devote hardware/personnel to maintaining and keeping their database running. A cloud database utilizes the infrastructure of the provider to allow users to access the cloud through a virtual machine, letting them store their data and run a relational database engine.
2 main deployment models
Through a virtual machine image (VMI)
Through purchased access to a database service (DBaaS)
a. Subset of SaaS
Refers to databases that store data in a structured format in the form of tables using rows and columns. The values within the table are related to each other
Tables and schemas are defined before capturing data: i.e attribute names, data type, data size, primary key, foreign key
Pay per use: Cost effective strategy where user pays for exactly the benefits used
Zero Maintenance Headaches: Provider is responsible for upgrades. User can just focus on deliverables.
Easy Scalability: Auto-scaling features
Strong Security: Providers securitize information using top-of-the-line security
Fully Accessible: Work from anywhere
Extremely helpful if migrating existing application to cloud database w/o much reengineering
Quick Deployment
ACID: Four guarantees any relation database provides to ensure database modifications are saved in consistent, safe, and robust manner.
Atomicity: ensures either all or none of the operations of transaction are reflected in database.
Consistency: preserve data consistency, no constraint rules are broken.
Isolation: ensures if multiple transactions are concurrently performed, individual updates of transactions will never be interleaved in a way that will result in bad data. For every pair of transactions on the same dataset, one transaction will start execution only after other execution is done.
Durability: any changes done when transaction is successful are permanent.