-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: mzafari2 <[email protected]>
- Loading branch information
Showing
3 changed files
with
169 additions
and
0 deletions.
There are no files selected for viewing
92 changes: 92 additions & 0 deletions
92
src/software/cloud-computing/AWS/Database Services/DynamoDB/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# Amazon DynamoDB | ||
|
||
## Overview | ||
|
||
Amazon DynamoDB is a fully managed NoSQL database service that provides single-digit millisecond response times, making it ideal for high-traffic applications. DynamoDB supports both key-value and document data models, allowing for flexible and dynamic data structures. | ||
|
||
## Data Model | ||
|
||
- **Key-Value:** Optimized for handling large volumes of simple key-value data. | ||
- **Document-Based:** Suitable for more complex, semi-structured data. | ||
|
||
## Key Features | ||
|
||
- **On-Demand and Provisioned Capacity:** Choose between automatic scaling or pre-allocated capacity for more predictable costs. | ||
- **Global Tables:** Multi-region, fully replicated tables for fast, consistent access across the globe. | ||
- **DynamoDB Streams:** Enable real-time processing of data changes. | ||
- **Integration with AWS Lambda:** Allows for seamless, serverless processing triggered by DynamoDB changes. | ||
|
||
## Use Cases | ||
|
||
DynamoDB is ideal for: | ||
|
||
- Applications needing high throughput and low-latency response times | ||
- Real-time data processing and analytics | ||
- Scalable applications like gaming, IoT, and e-commerce platforms | ||
|
||
## Create a table in DynamoDB | ||
|
||
You can create a table using: | ||
|
||
- AWS Management Console | ||
- AWS CLI | ||
- AWS SDK | ||
|
||
Checkout the link below for steps on how to get started: | ||
|
||
- **[Create a table in DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/getting-started-step-1.html)** | ||
|
||
See the example below on how to create a table using AWS SDK for python(boto3): | ||
|
||
```python | ||
import boto3 | ||
|
||
# Get the service resource. | ||
dynamodb = boto3.resource('dynamodb') | ||
|
||
# Create the DynamoDB table. | ||
table = dynamodb.create_table( | ||
TableName='users', | ||
KeySchema=[ | ||
{ | ||
'AttributeName': 'username', | ||
'KeyType': 'HASH' | ||
}, | ||
{ | ||
'AttributeName': 'last_name', | ||
'KeyType': 'RANGE' | ||
} | ||
], | ||
AttributeDefinitions=[ | ||
{ | ||
'AttributeName': 'username', | ||
'AttributeType': 'S' | ||
}, | ||
{ | ||
'AttributeName': 'last_name', | ||
'AttributeType': 'S' | ||
}, | ||
], | ||
ProvisionedThroughput={ | ||
'ReadCapacityUnits': 5, | ||
'WriteCapacityUnits': 5 | ||
} | ||
) | ||
|
||
# Wait until the table exists. | ||
table.wait_until_exists() | ||
|
||
# Print out some data about the table. | ||
print(table.item_count) | ||
``` | ||
|
||
## 📚 Further Reading | ||
|
||
- **[AWS DynamoDB](https://aws.amazon.com/dynamodb/)** | ||
An overview of the service | ||
|
||
- **[Getting started with DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html)** | ||
A step by step Guide on how to start and manage your DynamoDB table | ||
|
||
- **[Boto3 RDS Service Reference](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/dynamodb.html)** | ||
Boto3 documentation for interacting with AWS DynamoDB using the AWS SDK for Python (Boto3). |
44 changes: 44 additions & 0 deletions
44
src/software/cloud-computing/AWS/Database Services/RDS/README.MD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Amazon Relational Database Service (RDS) | ||
|
||
## Overview | ||
|
||
Amazon RDS (Relational Database Service) is a fully managed service that simplifies the setup, operation, and scaling of relational databases in the cloud. RDS supports popular database engines, enabling users to choose the one that best fits their application’s needs. | ||
|
||
## Supported Database Engines | ||
|
||
Amazon RDS supports several database engines: | ||
|
||
- MySQL | ||
- PostgreSQL | ||
- Oracle | ||
- Microsoft SQL Server | ||
- MariaDB | ||
- Amazon Aurora (MySQL and PostgreSQL compatible) | ||
|
||
## Key Features | ||
|
||
- **Automated Backups:** Automatically managed, including point-in-time recovery. | ||
- **Monitoring and Metrics:** Integration with Amazon CloudWatch for detailed insights. | ||
- **High Availability with Multi-AZ:** Ensures reliability through automatic failover and replication. | ||
- **Performance and Scaling:** Easily modify instance types or storage capacity without downtime. | ||
|
||
## Use Cases | ||
|
||
Amazon RDS is suitable for applications that require: | ||
|
||
- Complex queries and transactions | ||
- High data integrity with ACID compliance | ||
- Enterprise applications needing strong data consistency | ||
|
||
## Creating a DB instance | ||
|
||
You can create an Amazon RDS DB instance using the AWS Management Console, the AWS CLI, or the RDS API. | ||
To Read more about this, please refer to the documentation [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) | ||
|
||
## 📚 Further Reading | ||
|
||
- **[AWS RDS](https://aws.amazon.com/rds/)** | ||
An overview of the service | ||
|
||
- **[Boto3 RDS Service Reference](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rds.html#client)** | ||
Boto3 documentation for interacting with AWS RDS using the AWS SDK for Python (Boto3). |
33 changes: 33 additions & 0 deletions
33
src/software/cloud-computing/AWS/Database Services/README.MD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# AWS Databases | ||
|
||
## Overview of Cloud Databases | ||
|
||
Cloud databases provide a modern solution for data storage and management. By hosting databases on the cloud, AWS allows businesses to focus on utilizing their data rather than managing database infrastructure. AWS databases offer a range of features that make them accessible, scalable, and efficient. | ||
|
||
### Benefits of Cloud Databases | ||
|
||
- **Scalability:** Cloud databases scale resources up or down easily to match demand, ensuring optimal performance. | ||
- **Cost Efficiency:** Pay only for what you use with AWS’s flexible pricing model. | ||
- **Reliability:** AWS databases provide high availability and redundancy for dependable uptime. | ||
- **Managed Services:** AWS takes care of database maintenance, backups, patching, and updates. | ||
- **Security:** AWS databases come with robust encryption, access control, and monitoring options. | ||
|
||
### Types of Databases on AWS | ||
|
||
AWS offers various database types, each offering features to specific workloads and application needs. | ||
|
||
1. **Relational Databases** | ||
|
||
- Structured with predefined schemas, relational databases are ideal for managing structured data and supporting complex transactions. | ||
- **Example:** Amazon RDS (supports MySQL, PostgreSQL, and more). | ||
|
||
2. **Non-Relational Databases (NoSQL)** | ||
- Schema-less and designed to handle large volumes of unstructured or semi-structured data, NoSQL databases offer flexibility and speed. | ||
- **Example:** Amazon DynamoDB, optimized for applications with high scalability and low-latency needs. | ||
|
||
For detailed information on specific AWS database offerings, please refer to the subdirectories on [Amazon RDS](./RDS/README.md) and [DynamoDB](./DynamoDB/README.md). | ||
|
||
## 📚 Further Reading | ||
|
||
- **[AWS Database Services](https://aws.amazon.com/free/database/?gclid=Cj0KCQjw1Yy5BhD-ARIsAI0RbXa24yxekzxUIL2IxfomIdvleV5C2vz_6vw9aknU7JGhCQ_2H1VL2xgaAtJwEALw_wcB&trk=b54801f4-057b-4340-b0a5-1ee26130ff8f&sc_channel=ps&ef_id=Cj0KCQjw1Yy5BhD-ARIsAI0RbXa24yxekzxUIL2IxfomIdvleV5C2vz_6vw9aknU7JGhCQ_2H1VL2xgaAtJwEALw_wcB:G:s&s_kwcid=AL!4422!3!548725068184!e!!g!!aws%20database!11346198399!112250784918)** | ||
An overview of Amazon Database Services, including Free Product Offers. |