CP‐Module‐7 - rFronteddu/general_wiki GitHub Wiki
Databases
The AWS shared responsibility model groups services into three categories based on the ownership of administrative tasks.
Fully Managed
Fully managed AWS database services only require customers to be responsible for designing data structures and managing access controls.
Managed
AWS handles routine tasks like backups, patching, and hardware provisioning while customers are responsible for database configuration, query optimization, and performance tuning decisions.
Unmanaged
With unmanaged databases, customers are responsible for installation, configuration, patching, maintenance tasks, database security, backups, high availability setup, and performance optimization.
Relational DB Services
- Describe relational databases.
- Describe Amazon Relational Database Service (Amazon RDS), including its benefits and use cases.
- Describe Amazon Aurora, including its benefits and use cases.
Relational databases use a rigid schema that organizes collections of data into tables with rows and columns, where relationships exist between different tables. This approach stores data in an easily understandable, consistent, and scalable way that works great for applications requiring structured data management.
Amazon Relational Database Service (Amazon RDS)
Amazon RDS is a $$managed$$ relational database service that handles routine database tasks such as backups, patching, and hardware provisioning. Amazon RDS supports multiple database instance class types that optimize for memory, performance, or input/output (I/O).
To improve data resilience, Amazon RDS offers Multi-AZ deployment and automated backups, but you can also manually create backups using DB snapshots.
Amazon RDS offers security features including network isolation, encryption in transit, and encryption at rest. You can readily scale database resources vertically or horizontally as needed.
Supports many DBs including Amazon Aurora, MySQL, PostgreSQL, Microsoft SQL Server, MariaDB, and Oracle Database.
Aurora
Aurora is a $$managed$$ relational database designed to help reduce unnecessary I/O operations. It's compatible with MySQL (5x faster) and PostgreSQL, provides high performance and availability, and automatically scales alongside your workloads. Aurora replicates data across multiple Availability Zones for enhanced durability and fault tolerance, and features automated backups, encryption at rest, and continuous monitoring.
NoSQL DB Services
- Describe NoSQL databases.
- Describe Amazon DynamoDB, including its benefits and use cases.
NoSQL databases use flexible data schemas for storing and retrieving many different types of information.
Instead of row and column relationships, NoSQL databases build a structure for the data that they contain using key-value pairs instead. Each key has one or more associated attributes, or values, that represent various characteristics of the data.
DynamoDB
DynamoDB is a $$fully managed$$ NoSQL database service that provides fast and predictable performance for both document and key-value data structures.
It's a powerful and incredibly fast database option for use cases that require a flexible schema, and is ideal for applications that require high performance and seamless scaling.
DynamoDB seamlessly scales alongside your data without impacting performance, which means that you only pay for the resources that you use. It also includes built-in security features for enhanced protection, and automatically spreads your data across multiple servers to handle your workload.
In-Memory Caching Services
- Describe in-memory caching as it relates to databases.
- Describe Amazon ElastiCache, including its benefits and use cases.
In-memory caching services are optimized to provide sub-millisecond latency for read and write operations. An in-memory cache is a high-speed storage layer that temporarily stores frequently accessed data in a computer's main memory, or RAM. Retrieving data from RAM provides extremely fast processing and retrieval speeds, often hundreds or thousands of times faster than traditional disk-based storage systems. When applications need specific information, they first check the cache before requesting it from the original data source. This reduces the load on primary databases and speeds up response times for end users. In-memory caches are ideal for storing session data, API responses, database query results, and other information that applications require repeatedly.
ElastiCache
ElastiCache is a $$fully managed$$ in-memory caching service that was built to help reduce the complexity of administering in-memory caching systems. This means that you can continue to use the same Redis, Valkey, or Memcached tools and configurations to scale your workloads. It automatically detects and replaces failed nodes, which makes it ideal for applications that need consistent high performance.
Additional DB Services
- Describe Amazon DocumentDB (with MongoDB compatibility), including its benefits and use cases.
- Describe AWS Backup, including its benefits and use cases.
- Describe Amazon Neptune, including its benefits and use cases.
Amazon DocumentDB
Amazon DocumentDB (with MongoDB compatibility) is fully managed service designed to handle semistructured data, which is information that doesn't conform to rigid relational schemas. Amazon DocumentDB is a MongoDB-compatible database, so it manages JSON-like documents with dynamic schemas.
AWS Backup
AWS Backup streamlines data protection across various AWS resources and on-premises deployments by providing a single dashboard for monitoring and managing backups. It eliminates the complexity of managing multiple backup strategies by supporting multiple storage types, including Amazon Elastic Block Store (Amazon EBS) volumes, Amazon Elastic File System (Amazon EFS) file systems, and various databases.
AWS Backup centralizes and automates data protection processes, improving consistency and reducing administrative overhead. It offers flexible scheduling options, encryption capabilities, and cross-Region backup support for enhanced disaster recovery.
AWS Backup enables automatic replication of backup data across different AWS Regions for disaster recovery purposes.
AWS Backup maintains detailed audit logs and reports to demonstrate compliance with regulatory requirements.
Amazon Neptune
Neptune is a fully managed, purpose-built graph database service that manages highly connected data sets, like those used in social networking applications. It excels at understanding complex relationships that are difficult to identify in traditional relational databases like user connections, friend networks, and interaction patterns. Neptune can maintain high performance even as data complexity grows, and offers high availability with automatic failover and backups.
AWS Database Migration Service (AWS DMS)
Resources
Link | Description |
---|---|
Amazon Relational Database Service (Amazon RDS) | A relational database service supporting multiple engines like MySQL, PostgreSQL, and Microsoft SQL Server with automated maintenance and backups |
Amazon RDS Security | Detailed information about security configurations in Amazon RDS |
Amazon Aurora | A cloud-native database offering superior performance and availability over traditional databases while maintaining MySQL and PostgreSQL compatibility |
AWS Database Migration Service (AWS DMS) | A service that provides seamless database migration between source and target databases while keeping the source database operational |
Amazon DynamoDB | A NoSQL database service providing single-digit millisecond performance at any scale with built-in security |
Amazon ElastiCache | An in-memory caching service that supports Redis, Valkey, or Memcached to improve application performance through faster data retrieval |
Amazon DocumentDB | A MongoDB-compatible document database service designed for mission-critical workloads with automatic scaling |
Amazon Backup | A centralized service for automating and managing data backups across AWS services and on-premises resources |
Amazon Neptune | A graph database service optimized for storing and querying highly connected data relationships |
What Is a Relational Database? | A structured database using tables with predefined schemas, supporting complex queries and transactions through SQL for consistent data relationships |
What Is a NoSQL Database? | A nonrelational database offering flexible schemas and high scalability for varied data types, optimized for specific data models and patterns |
What Is an In-Memory Caching Service? | A high-speed data storage layer using RAM instead of disk storage, delivering microsecond latency for frequently accessed data |
AWS Shared Responsibility Model | AWS is responsible for security of the cloud (infrastructure, hardware, networking, facilities) while customers are responsible for security in the cloud (data, configuration, access management). |