Font size
WorksheetsAWS Database & Networking
Total questions: 45
Worksheet time: 23mins
How many replicas does RDS Aurora support?
15
10
5
5 for Aurora Postgres, 15 for Aurora MySQL
If you need to support tens of thousands of concurrent reads on a regular basis, which database engine might you choose?
DynamoDB
Redshift
RDS Aurora
Definitely not Redshift; more info is needed to decide between DynamoDB and Aurora.
If you needed to support 10 million reads and writes per second with consistent low latency, what database engine might you choose?
Aurora RDS
DynamoDB
Redshift
DynamoDB, or Aurora DBS if it has enough read replicas
What is the one thing that most contributes to RDS Aurora's awesome performance and features?
Distributed multi-master compute nodes
Easy, automated and fast failover
Global databases (cross-region read replicas)
Distributed logical storage tier
When does RDS Aurora performance significantly out-perform standard MySQL or Postgres?
High memory utilization
High concurrency
High availability
High CPU utilization
Does each DynamoDB partition key get its own, dedicated partition storage node?
Yes
No
What is the most optimal way to populate a large data set into Amazon Redshift?
Using INSERT to insert 1 row at a time
Using INSERT to insert many rows at once
Using COPY to load a single file from S3
Using COPY to load multiple files from S3 at once
A Redshift table's distribution style determines:
How data is encoded (aka compressed) on disk
How data is sorted on disk
Which nodes data is stored on
Which node acts as the leader node
DynamoDB has a flexible schema, therefore I do not have to worry about my schema design?
True
False
It is critical to understand ___________________ when designing a DynamoDB table? Select the best answer.
How many hot partitions you will need
The number of partitions in your table
read and write patterns of your application
how many users you will have
How can we scale read capacity in RDS Aurora?
Increase the size of our primary instance (scale up)
Add read replicas (scale out)
Add a cache, like Elasticache for Redis, in front of our database
All of the above
What are we allowed to do with one "write capacity unit" in DynamoDB? Select the best answer.
Write one item per second
Write one item per second, up to 1 KB per item
Write one item per second, up to 400 KB per item
Write one item per second, up to 4 KB per item
What is a DynamoDB "Primary Key"?
A partition key
a distribution key
a sort key, and an optional partition key
A partition key, and an optional sort key
What does a DynamoDB sort key do?
Allows us to the UpdateItem() API without the need to update a global secondary index (GSI)
Allows us to use the PutItem() API without the need to update a local secondary index (LSI)
Allow us to use the Query() API to find our data faster with less searching
Allow us to use the Scan() API to find our data faster with less searching
Why do we use Local Secondary Indexes (LSIs) or Global Secondary Indexes (GSIs) in DynamoDB?
Trick question; DynamoDB supports indexes for the query planner but does not enforce them when you write items.
To let us use GetItem() or Query() APIs on different partition and/or sort keys
To let us use Scan() more efficiently
What's an index?
Which two database engines are compatible with RDS Aurora?
MySQL
Microsoft SQL Server
MariaDB
Postgres
Oracle
With the DynamoDB ______________ capacity mode, you pay for capacity whether or not you use it. With ____________ capacity, you pay only for the API calls you make.
provisioned, reserved
auto-scaling, provisioned
provisioned, on-demand
on-demand, provisioned
What are the Amazon DynamoDB read and write limits for a single partition?
100 WCU / 300 WCU
1,000 WCU / 3,000 RCU
3,000 WCU / 10,000 RCU
10,000 RCU / 10,000 WCU
What does DynamoDB Accelerator (DAX) allow you to do?
It's a write-through cache, so you can scale past 1,000 WCUs / partition and achieve microsecond write latency
It's an in-memory cache, so you can scale past 3,000 RCUs / partition and achieve microsecond read latency
Can you model relational data in an Amazon DynamoDB table?
No
Yes, but you should never do this
Yes, but this may or may not be the right fit
Which of the following are examples of "write sharding"? (Select two)
Using one database for 2018 data and another database for 2019 data
Appending a year suffix to a partition key to force items to different partitions, e.g. "customer1_2018" and "customer1_2019"
Creating one or more read replicas to scale write throughput
Distributing writes across two (or more) concurrent connections to the same database
An RDS Aurora replica may also act as a failover target
true
false
An RDS Postgres (non-Aurora) replica can act as a failover target?
true
false
What is a recovery time objective (RTO)?
How much data you lose during a failure
How long before you can use your database after a failure
A made-up phrase
If using a multi-AZ deployment, which database has a recovery point objective (RPO) of zero?
Redshift
DynamoDB
RDS MySQL
Aurora MySQL
Elasticache for Redis
What benefits does encoding (aka compression) typically give us with Amazon Redshift? (select three)
Encryption at rest
Less storage needed
faster performance
Lower cost
Amazon Redshift is simply a re-branded Postgres database
True
False; it was based on Postgres but backend is completely redesigned to give awesome performance at a low cost
The AWS SDK for Python is named "Boto3". Where does "boto" come from?
Boto was the last name of the engineer largely behind the SDK's creation.
Boto is a type of dolphin that swims in the Amazon river
Boto means "vote" in Fillipino, as in "we vote for AWS!"
The original vote was for "BoatyMcBoatFace", but the SDK team abbreviated it "boto" because AWS Marketing gave BoatyMcBoatFace a hard no
Aurora MySQL is up to _______ faster than standard MySQL, and Aurora Postgres is up to _____ faster than standard Postgres.
5X / 3X
3X / 5X
100% / 300%
3,000% / %5,000
Aurora Global Databases are?
multi-region, read replicas
multi-region, multi-master
multi-AZ, read replicas
multi-AZ, multi-master
DynamoDB Global Tables are?
multi-region, multi-master
multi-region, read replicas
multi-AZ, multi-master
multi-AZ, read-replicas
Because of Redshift's columnar storage, would Redshift typically be faster or slower than Aurora when retrieving a single row with many columns? Why?
Faster, because the entire row is stored together at the same place on disk due to the superior compression you get with columnar storage.
Slower, because columns are stored at separate places on disk and retrieving many columns at once means you have to pull data from many places on disk.
What do we need to periodically do in Postgres (or Redshift) to remove deleted rows from storage and sort new data?
RE-INDEX
ANALYZE
RE-PARTITION
VACUUM
ENCODE
Which database supports the highest throughput and concurrency?
Redshift
Aurora
DynamoDB
RDS (non-Aurora)
Oracle
Which database(s) support ACID-compliant transcations?
RDS (non-Aurora)
RDS Aurora
Redshift
DynamoDB
Your customer uses a single Aurora RDS database for both transactional and analytics workloads. They ask you whether they should move their analytics to Redshift. Is this a good idea?
Yes! They should not do analytics in a transactional database like Aurora
Trick question; you can't do analytics workloads in a transactional database like Aurora
Maybe! why are they asking? Are they running into problems with Aurora?
Stranger Things season 3 was better than season 2
When would you use a bastion host?
When I want a private EC2 instance to pull updates from the internet, but I do not want the internet to send unsolicited requests to my EC2.
When a private EC2 instance needs to send data out to the public internet but I do not want the internet to talk back to my instance.
When I want to securely connect to my public EC2 instance from the internet.
When I want to securely connect to my private EC2 instance from the internet.
What does a NAT Gateway (managed by AWS) or a NAT instance (managed by customer on EC2) allow?
Allows you to securely connect to your private EC2 instance
Allows your private EC2 instance to make requests from the internet, but does not allow the internet to make requests to your instance
Allows the internet to make requests to your private EC2 instance, but does not allow your EC2 instance to send sensitive data out to the internet
It allows two-way communication between your public and private subnets (assuming your security groups, NACLs, and OS firewalls allow it)
Your customer wants to make frequent (20 times per day) SQL queries against a large (~1 TB) dataset in S3. They've been loading the data into Redshift, which works fine, but they don't want to deal with deploying and managing a database if they don't have to. They just learned about Amazon Athena, they are super excited, and they want to know if they should use it to directly query data in S3 instead of Redshift. Can they do this?
No, Athena does not support SQL; Athena can only use PySpark; Athena would be better, but they would have to convert to Spark.
No, Athena does not perform well on large data sets (> 500 GB). It would work but it would be too slow to be practical.
Yes, Athena can run SQL queries directly on S3. This is a fast, simple solution and better than Redshift.
Yes, they can use use Athena and it would be easier than maintaining a Redshift cluster... but their use case might make Athena too expensive since it charges $5 / TB scanned (20 x 1 TB x $5 = $100 per day or ~$3000 / month!!!!)
How much data can a single Aurora database hold?
16 TB
16 TB, or more if using read replicas
64 TB
64 TB, or more if using read replicas
How much data can a single Redshift cluster hold?
2 Petabytes
2 Petabytes, or Exabytes if using S3 + Redshift Spectrum
2 Petabytes per node, up to 128 nodes (256 PB)
200 Terabytes, or Exabytes if using S3 + Redshift Spectrum
How much data can a single DynamoDB table hold?
400 KB
400 TB
4 PB
There is no practical limit on a table's size
Which of these is NOT a private IP CIDR range according to the RFC1918 standard?
10.0.0.0/16
172.20.0/16
192.168.1.0/24
200.0.1.0/16
RFC 1918 defines which IP ranges should be used for private-only networks. Is it possible to use other IPs (aka public IPs) as private IP addresses?
No, hardware (switches, hubs, routers, etc.) will not allow this.
No, modern operating systems (Linux, Windows, etc.) will not allow this.
Yes; RFC 1918 is a recommendation but often isn't followed and there is low risk of a problem.
Yes, but its not recommended; you might run into unexpected results or errors since those IPs might already be assigned and used by other public websites or networks.
How fast does Aurora typically complete a failover?
less than 5 minutes
less than 1 minute
less than 30 seconds
immediately, it's RPO is zero
