- Flat File Systems vs Relational Databases
- DBMS Advantages – Mind Map
- Roles in a Database System
- Types of Databases
- Cloud Storage and Databases
| Feature | Flat File Systems | Relational Databases |
|---|---|---|
| Structure | Simple text or spreadsheet files | Tables with rows and columns |
| Data Redundancy | High due to repetition | Low due to normalization |
| Relationships | Not supported | Foreign keys and joins support |
| Example Usage | CSV files, Excel | MySQL, PostgreSQL, Oracle |
| Drawbacks | Inefficient, lacks data integrity | Complex design, requires expertise |
A visual mind map showcasing the advantages of using a Database Management System (DBMS).
- System Analyst: Gathers business requirements and translates them into technical needs.
- Database Designer: Designs database schema and models based on the requirements.
- Database Developer: Implements and programs database functionality.
- Database Administrator (DBA): Manages and maintains the database environment.
- Application Developer: Develops front-end/back-end applications interacting with the database.
- BI Developer: Builds reports, dashboards, and handles data analytics.
- Relational Databases:
- Structured, uses SQL.
- Examples: MySQL, Oracle.
- Non-Relational Databases:
- Flexible, schema-less.
- Examples: MongoDB, Cassandra.
- Centralized Databases: All data stored in one location.
- Distributed Databases: Data distributed across multiple locations.
- Cloud Databases: Hosted on cloud platforms (e.g., Azure, AWS).
Cloud storage is a service model where data is stored on remote servers accessed via the internet. In the context of databases, cloud storage provides the underlying infrastructure that supports database functionality through:
- Persistent Storage: Ensures data durability and availability
- Scalable Resources: Automatically adjusts storage capacity based on demand
- Redundancy: Maintains multiple copies of data across different locations
- Accessibility: Global access to data from anywhere with internet connectivity
- Automatic scaling based on demand
- No need for upfront hardware investment
- Pay-as-you-grow pricing models
- Reduced infrastructure and maintenance costs
- No need for dedicated IT staff for hardware management
- Operational expenses instead of capital expenses
- Automated backups and updates
- Built-in monitoring and alerting
- Professional support and maintenance
- Access from anywhere with internet connection
- Multi-region deployment capabilities
- Built-in disaster recovery options
- High-speed networks and optimized infrastructure
- Content delivery networks (CDNs) for faster access
- Advanced caching mechanisms
| Service | Provider | Type | Key Features |
|---|---|---|---|
| Azure SQL Database | Microsoft | Relational | Intelligent performance, automatic tuning |
| Amazon RDS | AWS | Relational | Multi-engine support, automated backups |
| Google Cloud Spanner | Relational | Global consistency, horizontal scaling | |
| MongoDB Atlas | MongoDB | NoSQL | Document database, fully managed |
| Amazon DynamoDB | AWS | NoSQL | Key-value store, serverless |
- Data sovereignty and compliance issues
- Shared responsibility model complexity
- Potential for data breaches in cloud environments
- Reliance on internet connectivity
- Potential latency issues for real-time applications
- Bandwidth limitations for large data transfers
- Unpredictable costs with usage-based pricing
- Potential for bill shock with rapid scaling
- Complex pricing models difficult to understand
- Difficulty migrating between cloud providers
- Proprietary features creating dependencies
- Limited portability of applications and data
- Shared infrastructure can impact performance
- Distance from data centers affects latency
- Less control over hardware optimization
%20-%20visual%20selection.png)