<style> .reveal { font-size: 24px } </style> ### Relational Databases - The Basics <img src="https://hackmd.io/_uploads/HkD-pWFca.jpg" height="300" /> - Relational databases structure data into tables, which are connected to one another through relationships. - They follow a model called the relational model and use a language called SQL (Structured Query Language) for database interaction. --- ### Key Features of Relational Databases <img src="https://hackmd.io/_uploads/BJsMXMKqT.png" height="300" /> - **ACID Properties**: Atomicity, Consistency, Isolation, Durability. - **Structured Data**: Highly organized, allowing complex queries (SQL shines for complex queries) - **Data Integrity**: Ensures accuracy and consistency of data through constraints. --- ### Popular Relational Database Examples <img src="https://hackmd.io/_uploads/HJiTVGtca.jpg" height="300" /> - MySQL - PostgreSQL - Oracle Database - Microsoft SQL Server --- ### When to Use Relational Databases? - Perfect for transactional applications. - Ideal for applications requiring complex queries. - When data integrity and accuracy are paramount (ie finance). --- ### Introduction to Non-Relational Databases - Non-Relational Databases, or NoSQL databases, store data in formats other than the tabular relations used in relational databases. - They are designed for scalability, flexibility, and handling large volumes of unstructured data. <img src="https://hackmd.io/_uploads/BJLdsiyja.png" height="250" /> --- ### Key Features of Non-Relational Databases - **Flexibility**: Easily accommodate changes and a variety of data types. - **Scalability**: Designed to scale out by distributing data across multiple servers. - **BASE principles**: a set of guidelines that non-relational databases follow to provide more flexibility compared to the strict ACID principles. BASE stands for Basically Available, Soft state, and Eventually consistent. <img src="https://hackmd.io/_uploads/Skk6soJo6.png" height="250" /> --- ### Types of Non-Relational Databases - **Document**: MongoDB, Couchbase - **Key-Value**: Redis, DynamoDB - **Graph**: Neo4j, Amazon Neptune --- ### When to Use Non-Relational Databases? - When dealing with large volumes of unstructured data. - For applications requiring rapid development and flexibility. - Where scalability is a critical concern. --- ### Combining Both Worlds - Modern applications often leverage both relational and non-relational databases, choosing based on specific needs. - Polyglot persistence: Using multiple database types within a single application to take advantage of the unique features of each.
{"title":"database ccc session","description":"Title Slide: Understanding Database Principles","contributors":"[{\"id\":\"8a2b9d3f-73af-48e2-bb38-13888be4577f\",\"add\":4591,\"del\":1919}]"}
    141 views
   Owned this note