Deeplearning - Ai Deeplearning - Ai
Deeplearning - Ai Deeplearning - Ai
DeepLearning.AI makes these slides available for educational purposes. You may not use or distribute
these slides for commercial purposes. You may make copies of these slides and use or distribute them for
educational purposes as long as you cite DeepLearning.AI as the source of the slides.
Week 1
Source Systems, Data Ingestion,
and Pipelines
Welcome
Working with Source Systems
Course 2 Overview
Data Engineering Lifecycle
Analytics
i Ingestion t Transformation s Serving
Machine
Generation
Learning
st Storage Reverse
ETL
Course Plan
Columns
Structured Data
Semi-Structured Data Data that is not in tabular form but still has some structure
{
JavaScript key “firstName”: “Joe”, value
Object Notation “lastName” : “Reis”
(JSON) “age”: 10 ,
A series of key-value pairs “languages”:[“Python”, “JavaScript”, “SQL”],
“address”: {
Semi-Structured Data Data that is not in tabular form but still has some structure
{
JavaScript key “firstName”: “Joe”, value
Object Notation “lastName” : “Reis”
(JSON) “age”: 10 ,
A series of key-value pairs “languages”:[“Python”, “JavaScript”, “SQL”],
“address”: {
Semi-Structured Data Data that is not in tabular form but still has some structure
Unstructured Data Data that does not have any predefined structure
• dimensions
• pixel colors
Streaming
Databases Files
Systems
C reate
R ead
U pdate
D elete
Database
Management
System
(DBMS)
Database Person/
Storage Application
Streaming
Databases Files
Systems
Relational Non-relational
Store data in an organized way databases (NoSQL) databases
Structured data Key Semi-structured
Value Document data
C reate
}
k3 value 3
Database
Management
System
(DBMS)
Database Person/
Storage Application
Streaming
Databases Files
Systems
Store data in an organized way Sequence of bytes
representing information
Structured data Semi-structured data
Semi-structured data
C reate
R ead
U pdate {
“firstName”: “Joe”,
D elete “lastName” : “Reis”,
“languages”:[“R”, “SQL”],
}
Database
Management
System
(DBMS)
Database Person/
Amazon S3
Storage Application
Streaming
Databases Files
Systems
Store data in an organized way Sequence of bytes Continuous flow of data
representing information
Structured data Semi-structured data
Semi-structured data
Producer
C reate
R ead Consumer
Database
Management
System
(DBMS)
Database Person/
Amazon S3
Storage Application
Streaming
Databases Files
Systems
Store data in an organized way Sequence of bytes Continuous flow of data
representing information
Structured data Semi-structured data
Semi-structured data
Producer
C reate
R ead Consumer
U pdate {
“firstName”: “Joe”,
D elete “lastName” : “Reis”,
Amazon
“languages”:[“R”, “SQL”], Kinesis
} Smart
Thermostat
Database
Management
System
(DBMS)
Database Person/
Amazon S3
Storage Application
Streaming
Databases Files
Systems
Store data in an organized way Sequence of bytes Continuous flow of data
representing information
Structured data Semi-structured data
Semi-structured data
Source System
Producer
C reate
…
R ead
U pdate {
“firstName”: “Joe”,
D elete “lastName” : “Reis”,
Amazon
“languages”:[“R”, “SQL”], Kinesis
} Smart
Thermostat
Database
Management
System Your ingestion
(DBMS)
Database Person/
Amazon S3 pipeline starts
Storage Application here
Streaming
Databases Files
Systems
Store data in an organized way Sequence of bytes Continuous flow of data
representing information
Ingest
• Structured
• Semi-structured
• Unstructured
Introduction to Source Systems
Relational Databases
Relational Databases
Customers Products
key key
key
• Reduce redundancy
• Make data easier to manage
Orders
Relational Databases
One big table for everything!
Jane Doe 74th Street 12345678 12/08/2024 700 ABC B32 Blender
Jane Doe 74th Street 12345678 12/08/2024 100 GHJ k70 Kettle
Jane Doe
Relational Databases
One big table for everything!
Jane Doe 74th Street 12345678 12/08/2024 700 ABC B32 Blender
Jane Doe 74th Street 12345678 12/08/2024 100 GHJ k70 Kettle
Mary Ann 19th Avenue 98765432 13/08/2024 899 STU w40 Washer
John Ken 1st Link 36891623 14/08/2024 899 STU w40 Washer
Ivy Tan 67th Street 98639513 15/08/2024 899 STU w40 Washer
Relational Databases
One big table for everything!
Inconsistency
name address phone date_time amount brand SKU description
Jane Doe 74th Street 12345678 12/08/2024 100 GHJ k70 Kettle
Ivy Tan 67th Street 98639513 15/08/2024 899 STU w40 Washer
Inconsistency
Jane Doe SKU
now lives on 11th Avenue now w31
Relational Databases
Single
product
Single
Customers Products
customer
id first_name last_name age address id brand SKU description
1 Jane Doe 24 74th Ave.
11th St. 1 ABC b32 Blender
2 Mary Ann 65 19th Ave. 2 XYZ i56 Iron
3 John Ken 27 1st Link 3 GHJ k70 Kettle
4 Ivy Tan 18 67th St. 4 STU w40
w31 Washer
Orders
Database schema
Relational Databases
Customers Products
Keys id first_name last_name age address id brand SKU description
1 Jane Doe 24 74th Ave.
11th St. 1 ABC b32 Blender
Primary key: 2 Mary Ann 65 19th Ave. 2 XYZ i56 Iron
uniquely 3 John Ken 27 1st Link 3 GHJ k70 Kettle
identifies each 4 Ivy Tan 18 67th St. 4 STU w40
w31 Washer
row in a table
id customer_id product_id date_time purchase_amount
Foreign key:
references the primary key of the customer table
Relational Databases string
Jane Doe 74th Street 12345678 12/08/2024 700 ABC B32 Blender
Jane Doe 74th Street 12345678 12/08/2024 100 GHJ k70 Kettle
Mary Ann 19th Avenue 98765432 13/08/2024 899 STU w40 Washer
John Ken 1st Link 36891623 14/08/2024 899 STU w40 Washer
Ivy Tan 67th Street 98639513 15/08/2024 899 STU w40 Washer
One Big Table (OBT) approach: use cases that need faster processing
Relational Databases
Relational Database
Management System
(RDBMS)
SQL Commands
SQL Queries
customer
The Relational Database customer_id
store_id
payment first_name
• Database for a fictitious DVD rental company payment_id
last_name
email address
called Rentio customer_id
address_id address_id
staff_id
• Database schema rental_id
activebool
create_date
address
address2 city
amount
last_update district city_id
payment_date
active city_id city
postal_code country_id
staff
phone last_update
rental staff_id last_update
rental_id first_name
rental_date last_name country
SQL queries
inventory_id address_id country_id
inventory store
customer_id email
inventory_id store_id country
return_date store_id
Answer business questions film_id manager_staff_id last_update
staff_id active
store_id username address_id
last_update last_update last_update
password
last_update
picture
film customer
actor film_actor film_id customer_id
actor_id actor_id title store_id
first_name film_id description payment first_name
last_name last_update release_year last_name
payment_id
last_update language_id email address
customer_id
rental_duration address_id address_id
film_category staff_id
rental_rate activebool address
category film_id rental_id
length create_date address2 city
category_id category_id amount
replacement_cost last_update district city_id
name last_update payment_date
last_update active city_id city
last_update postal_code country_id
special_features
staff
language phone last_update
rental staff_id last_update
language_id first_name
name rental_id
rental_date last_name country
last_update address_id
inventory inventory_id store country_id
customer_id email
inventory_id store_id country
return_date store_id
film_id manager_staff_id last_update
staff_id active
store_id username address_id
Entity Relationship last_update last_update
password last_update
last_update
picture
film customer
actor film_actor film_id customer_id
actor_id actor_id title store_id
first_name film_id description payment first_name
last_name last_update release_year payment_id last_name
last_update language_id email address
customer_id
rental_duration staff_id address_id address_id
film_category
rental_rate rental_id activebool address
category film_id city
length amount create_date address2
category_id category_id last_update district city_id
replacement_cost payment_date
name last_update active city_id city
last_update
last_update postal_code
special_features country_id
staff
language phone last_update
rental staff_id last_update
language_id first_name
rental_id
name last_name
rental_date country
last_update address_id
inventory inventory_id store country_id
customer_id email
inventory_id store_id country
return_date store_id
film_id manager_staff_id last_update
staff_id active
store_id username address_id
Entity Relationship last_update last_update
password last_update
last_update
picture
film customer
actor film_actor film_id customer_id
actor_id actor_id title store_id
first_name film_id description payment first_name
last_name last_update release_year last_name
payment_id
last_update language_id email address
customer_id
rental_duration address_id address_id
film_category staff_id
rental_rate activebool address
category film_id rental_id
length create_date address2 city
category_id category_id amount
replacement_cost last_update district city_id
name last_update payment_date
rating active city_id city
last_update postal_code country_id
last_update
staff
language special_features phone last_update
rental staff_id last_update
language_id first_name
name rental_id
rental_date last_name country
last_update address_id
inventory inventory_id store country_id
customer_id email
inventory_id store_id country
return_date store_id
film_id manager_staff_id last_update
staff_id active
store_id username address_id
last_update last_update last_update
password
last_update
picture
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
last_update
special_features
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
LIMIT last_update
special_features
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
LIMIT last_update
special_features
category film_category film
category_id film_id film_id Exploring the films that are less than 60 minutes long.
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
WHERE
LIMIT last_update
special_features
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
WHERE last_update
special_features
ORDER
LIMITBY
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
WHERE last_update
special_features
ORDER BY
LIMIT
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
WHERE
JOIN last_update
special_features
ORDER BY
LIMIT
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
JOIN last_update
special_features
WHERE
ORDER BY
LIMIT
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
JOIN last_update
special_features
WHERE
ORDER BY
LIMIT
category film_category film
category_id film_id film_id
name category_id title INNER JOIN
last_update last_update description
release_year
language_id
SELECT JOIN: combine the records from both tables
rental_duration
rental_rate that have a matching column value specified
FROM length in the ON statement.
replacement_cost
JOIN last_update film has a row with film_id = 123
special_features film_category does not have a row with film_id= 123
WHERE
ORDER BY
LIMIT
The row with film_id = 123 will not be in the join results
category film_category film
category_id film_id film_id
name category_id title INNER JOIN
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length LEFT JOIN
replacement_cost
JOIN last_update
special_features
WHERE
RIGHT JOIN
ORDER BY
LIMIT
FULL JOIN
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM length
replacement_cost
JOIN last_update
special_features
WHERE
ORDER BY
GROUP
LIMIT
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
FROM
COUNT length
replacement_cost
JOIN last_update
special_features
WHERE
GROUP BY
ORDER BY
LIMIT
category film_category film
category_id film_id film_id
name category_id title
last_update last_update description
release_year
language_id
SELECT rental_duration
rental_rate
COUNT length
replacement_cost
FROM last_update
special_features
JOIN
WHERE
GROUP BY
ORDER BY
LIMIT
Common Data Manipulation
SQL Commands Operations
INSERT
SELECT CREATE
INTO
COUNT
UPDATE DELETE
FROM
JOIN
WHERE
GROUP BY
ORDER BY
LIMIT
Introduction to Source Systems
NoSQL Databases
NoSQL Databases
NoSQL
NoSQL Databases
No SQL
NoSQL Databases
Non-Relational Databases
• No predefined schemas
• More flexibility when storing your data
Horizontal Scaling
Data received is
Not
Updated
updated is not up-to-date
read
user 2
write
ACID compliance
Atomicity
Consistency
Isolation
Durability
Specialized Query Language
{
"id": 1, Query
"key": "Blender",
db.products.find({qty: {$gt: 4}})
"qty": 6,
"sku": “b32"
}
key value {
“firstName”: “Joe”,
84620 {“name”: “blender”, “sku”: “b32”, “quantity”:6} “lastName” : “Reis”,
“age”: 10,
64820 {“name”: “iron”, “sku”: “i56”, “quantity”:5}
“address”: {
“city”: “Los Angeles”,
“postalCode”: 90024,
46173 {“name”: “washer”, “sku”: “w40”, “quantity”:6} “country”: “USA”
}
}
Key-Value Database
Key-Value
key value
84620 {“name”: “blender”, “sku”: “b32”, “quantity”:6}
Unique
Identifier 64820 {“name”: “iron”, “sku”: “i56”, “quantity”:5}
• checking out
Document Database
Collection (Like a table)
{
"users" : [
{
keys "id": 1234,
"name": {
"first":"Joe",
"last":"Reis"
},
"favorite_bands" : ["AC/DC", "Slayer", "WuTang Clan", "Action Bronson" ] Single users
},
Documents
{ (Like a row)
"id":1235,
"name": {
"first": "Matt",
"last":"Housley"
},
"favorite_bands" : ["Dave Matthews Band", "Creed", “Nickelback"]
}
]
}
Document Database
{
"users" : [
{ user_id band_id band_id band_name
"id": 1234,
"name": { 1234 1 1 AC/DC
"first":"Joe",
"last":"Reis" 1234 2 2 Slayer
},
"favorite_bands" : ["AC/DC", "Slayer", "WuTang Clan", "Action Bronson" ]
1234 5 3 Creed
},
1234 6 4 Nickelback
{ 1235 7 5 Wutan Clan
"id":1235,
"name": { 1235 3 6 Action Bronson
"first": "Matt",
"last":"Housley" 1235 4 7 Dave Matthews Band
},
"favorite_bands" : ["Dave Matthews Band", "Creed", “Nickelback"]
}
] user_id first_name last_name
}
1234 Joe Reis
• Easy to retrieve all the information about a user (locality) 1235 Matt Housely
Use cases
{
"iot" : [
• Content management {
"id": 24,
• Catalogs "interaction": "some_interaction",
“device": "my_device",
"sensor_reading": 34
• Sensor readings }
]
}
Flexible Schema
Document Database
Change in
data NoSQL Ingest
Document Downstream use
Source system
owner
Introduction to Source Systems
OLTP
Support very high transaction rates (bank account balances, online orders)
ACID Compliance
Atomicity
Consistency
Isolation
Durability
They help ensure transactions are processed
reliably and accurately in an OLTP system.
ACID Compliance
You’d be hoping
$50 $200
A B
200 $250 $0
$250 $0
A B
Any changes to the data made within a transaction follow the set of
Consistency
rules or constraints defined by the database schema.
1 blender 1 1 blender -1
Transaction
Any changes to the data made within a transaction follow the set of
Consistency
rules or constraints defined by the database schema.
Strong Consistency
ACID compliance All nodes provide the same up-to-date
Up-to-date
Atomicity
Consistency
Isolation Up-to-date
Durability
Atomicity ensures that transactions are atomic, treated as a single,
Atomicity
indivisible unit.
Any changes to the data made within a transaction follow the set of
Consistency
rules or constraints defined by the database schema.
Transaction
id product_name quantity
Buy 5 blenders
1 blender 5
0
10
Transaction
Buy 5 blenders
Atomicity ensures that transactions are atomic, treated as a single,
Atomicity
indivisible unit.
Any changes to the data made within a transaction follow the set of
Consistency
rules or constraints defined by the database schema.
Transaction
id product_name quantity
Buy 5 blenders
1 blender 5
10
Transaction
Buy 10
blenders
Atomicity ensures that transactions are atomic, treated as a single,
Atomicity
indivisible unit.
Any changes to the data made within a transaction follow the set of
Consistency
rules or constraints defined by the database schema.
Durability Once a transaction is completed, its effects are permanent and will
survive any subsequent system failures.
Strong Consistency
Data is partitioned
or replicated
Introduction to Source Systems
Lab Walkthrough -
Interacting with Amazon
DynamoDB NoSQL Database
Interacting with Amazon DynamoDB
Amazon DynamoDB
In this video,
• Overview of DynamoDB features
• Data you will work on
• DynamoDB methods that you will use to apply CRUD operations
Amazon DynamoDB
Key-value Database PersonID Attributes
Value
key {“FirstName”: “Joe”, “LastName”: “Reis”, “Phone”: “111-222”,
Key-value Items Person 101 “Country”: “USA”, “FavoriteBands”: {“Action Bronson”,
“Slayer”, “WuTang Clan”}}
Table
• Row: attributes of one item Simple
Key:
primary PersonID Attributes
• Uniquely identified by the key
item’s key. FirstName LastName Phone Country FavoriteBands
• Simple Primary Key: 101
Joe Reis 111-222 USA
{“Action Bronson”, “Slayer”,
partition key “WuTang Clan”}
Table Schema-less: Each item can have its own distinct attributes.
• Row: attributes of one item Simple
Key:
primary PersonID Attributes
• Uniquely identified by the key
item’s key. FirstName LastName Phone Country FavoriteBands
• Simple Primary Key: 101
Joe Reis 111-222 USA
{“Action Bronson”, “Slayer”,
partition key “WuTang Clan”}
Table
Table
Table
Interacting with Amazon DynamoDB
Interact with the tables using Python
Create create_table
Table scan
Read get_item
query
Table
put_item
Update write_batch_items
update_item
Table
Delete delete_item
Data
Load
Product • Information about some products sold on Amazon
Catalog • ID: simple primary key
Table
Object Storage
Object Storage
files
No hierarchy!
Object Storage
Amazon S3
Object Storage
Object Storage
files
No hierarchy!
Object Storage
Object Storage
files
Object Storage
Programs UUID
Object Storage
Programs UUID
• Store files of various data formats without a specific file system structure
• Easily scale out to provide virtually limitless storage space
• Replicate data across several availability zones
Logs
Logs Logs
x
[00101011 11000101 11001001 11000101 110001001] 17462 customer table corrupted fail 01-01-2025:10.38
Log Levels
• “debug”
• “info” user id action status timestamp level
• “warn” 67945 user added a product x to their cart success 01-01-2025:10.30 Info
17462
quantity
customer table corrupted
fail
fail
01-01-2025:10.32
01-01-2025:10.38
error
fatal
• “fatal”
Introduction to Source Systems
Streaming Systems
Terminology
Event Message Stream
Event
Producer
Event Batch
Producer
Collector Processing
Streaming system
Process
Producer message as it
is received
Streaming System
Message
Event Message
Event
Producer Consumer
Message
Event Router /
Streaming Broker
Streaming System
Event Event
Producer Consumer
Event
IoT Device Mobile App Consumer
API Website
Streaming System
Event Event
Producer Consumer
Event
Consumer
Inventory service
Streaming System
Event Event
Producer Consumer
Event Event
Producer Consumer
Event Router /
Streaming Broker
Source System
Event
Consumer
Event Event
Producer Consumer
Event Router /
Streaming Broker
Source System
Event
Consumer
Event Event
Producer Consumer
Event Router /
Streaming Broker
Event
Message Queue
Consumer
Event Streaming
Platform
A queue/buffer that accumulates messages
Message Queue
Message Queue
Event
1
2
3
4
Producer
A queue/buffer that accumulates messages
Message Queue
and delivers those messages to consumers asynchronously.
Message Queue
Event Event
4 3 2 1
Producer Consumer
Message
First-in first-out (FIFO) basis received!
A queue/buffer that accumulates messages
Message Queue
and delivers those messages to consumers asynchronously.
Message Queue
Event Event
5 4 3 2
Producer Consumer
Message Queue
Event Event
5 4 3 2 Consumer
Producer
Streaming Platform
Event
1
2
3
4
Producer
Streaming Platform
Event Event
4 3 2 1
Producer Consumer
Event
Read Consumer
Possible to replay or reprocess any
events in the log
Lesson Overview
Connecting to Source Systems
Data Sources
Connector
JDBC/ODBC
Application
API
Interacting with Source Systems
Encryption Methods
Confidential
GitHub
data
Access
Credentials
Person
Application
Principle of Least Privilege
st Storage
Principle of Least Privilege
st Storage
Principle of Least Privilege
Ingestion
System
Read from specific tables
AWS IAM
IAM
services
AWS Identity and Access
Management (IAM)
AWS IAM AWS account
Resources
Has specific permissions to Policies
IAM User IAM User
certain resources
• Username & password Amazon S3
• Access key
IAM Group
A collection of users that inherit the
IAM Group same permission from the group Amazon RDS Amazon EC2
policy
IAM Role
A user, application, or service that’s (User/
IAM Role been granted temporary permissions application/
service)
AWS IAM
Role
Role
Basics of Networking
Network
Each dot
represents
a region
Region considerations:
• Legal compliance
• Latency : the closer your end users are to the region, the lower the latency
• Availability : the more availability zones, the better you will be able to recover from a disaster
• Cost
AWS Cloud
Region considerations:
• Legal compliance
• Latency
• Availability
• Cost
Virtual Private Cloud
For internet-facing
resources
For internal
resources
Virtual Private Cloud
AWS Cloud
VPC
User
S3 Glue
Glue ETL Crawler
Bucket
Virtual Private Cloud
AWS Cloud
VPC
User
ALB
RDS EC2 Instance Athena
S3 Glue
Glue ETL Crawler
Bucket
Interacting with Source Systems
AWS Networking -
VPCs & Subnets
ALB User
Example Scenario
AWS Cloud
VPC
Availability Zone 1 Availability Zone 2
Public Subnet Public Subnet
VPC VPC
Needs to be configured
AWS Networking - VPCs & Subnets
Define the network Host addresses
16 bits
255
10
0 255
0 255
0 00 /24
255 /16 prefix length
How many bits used for the
8 bit 8 bit 8 bit 8 bit network part of the address
32 bits
EC2 Instance
10.0._._ 10.0._._
0 to 255
AWS Networking - VPCs & Subnets
AWS Cloud
Closed network
AWS Networking -
Internet Gateways & NAT Gateways
AWS Cloud
VPC
Availability Zone 1 Availability Zone 2
Public Subnet Public Subnet
ALB:
Private Subnet Private Subnet • Distributes incoming application traffic
across multiple backend targets
• Handles the load and ensures the
EC2 Instance ALB
EC2 Instance
EC2 Instance
application
EC2 Instance remains responsive and
available
• Keeps those EC2 instances private
ALB User
AWS Cloud
AWS Networking -
Route Tables
ALB User
AWS Cloud
Route table
NAT Gateway NATNAT
gateway
Gateway NAT Gateway NATNAT
gateway
Gateway Route table
AWS Networking -
Network ACLs & Security Groups
ALB User
AWS Cloud
Route table
NAT Gateway NATNAT
gateway
Gateway NAT Gateway NATNAT
gateway
Gateway Route table
Security Groups
AWS Cloud
Network Access
VPC
Control Lists (ACL) Internet gateway
Availability Zone 1 Availability Zone 2
Public Subnet Public Subnet
Route table
NAT Gateway NATNAT
gateway
Gateway NAT Gateway NATNAT
gateway
Gateway Route table
EC2 Instanc
ALB EC2
EC2Instance
Instance
Security group ID: sg-123 Security group ID: sg-456 Security group ID: sg-789
Source Protocol Port Source Protocol Port Source Protocol Port
0.0.0.0/0 sg-123 sg-456
HTTP 80 HTTP 80 TCP 3306
(internet) (ALB) (EC2)
0.0.0.0/0 sg-123
HTTPS 443 HTTPS 443
(internet) (ALB)
AWS Cloud
Route table
NAT Gateway NATNAT
gateway
Gateway NAT Gateway NATNAT
gateway
Gateway Route table
Route Tables • Direct traffic within the VPC and to the internet.
Public Subnets Public subnet Private Subnets
Public subnet Private subnet
Internet Gateway • Allow resources within public subnets to access the internet.
Internet Gateway Internet
2. Verify that the route tables have appropriate rules to direct traffic correctly
3. Verify that the route table associations with the subnets are configured
correctly
4. Check security groups to make sure they have the needed rules in place
Lab Walkthrough -
Database Connectivity and
Troubleshooting on AWS
Database Connectivity and Troubleshooting on AWS
• Skip this video, jump straight into the lab and go for it
• The lab instructions contain hints
• Or, start the lab and follow along with me as you go through this video.
• When an issue occurs, I’ll be inviting you to pause the video
• After that, I’ll show you how to fix it.
Database Connectivity and Troubleshooting on AWS
Working with Source Systems
Week 1 Summary
Week 1 Summary
Understand how source systems work
Relational databases Object Storage
Logs
k1 value 1
{
invalid values typed for product
“firstName”: “Joe”, 38910 fail 01-01-2025:10.32
“lastName” : “Reis”, quantity
“age”: 10,
“address”: {
k2 value 2 “city”: “Los Angeles”,
“postalCode”: 90024, Streaming Systems
“country”: “USA”
k3 value 3 }
} Producer Consumer
• Basics of networking
Data Sources