Databases in AWS Flashcards
What is Amazon RDS?
A managed relational database service that is compatible with many of the most used database engines, such as MySQL, PostgreSQL, Oracle etc.
How do manual and automatic backups work with RDS?
Automated backups enable point-in-time-restore capability, but expire after 35 days.
Manual backups are kept for longer than this and thus can be used for longer term recovery.
What two engines is Aurora compatible with?
PostgreSQL and MySQL
When is the serverless version of Aurora appropriate?
For intermittent or unpredictable workloads
What is the strength of Aurora’s storage set up?
Data is stored in 6 replicas across 3 AZs, making it highly available and self-healing
What is the fastest way to make a new Aurora cluster from an existing one?
Cloning - faster than restoring a snapshot
What is ElastiCache?
A managed Redis/Memcached database service that utilises an in-memory store to deliver queries with sub-ms latency
What is one downside/serious consideration associated with using ElastiCache?
It will probably require modifications to your application’s code
What is an example of a use case for ElastiCache?
Key/value store, frequent reads (but not often written), cache results for DB queries, store session data for websites
What high availability feature does DynamoDB have as default?
Multi-AZ deployment
What is DynamoDB?
Proprietary AWS noSQL database that is useful for databases where you need a flexible or evolving schema
What are the two DynamoDB backup options?
Automated or manual
How is security, authorisation and authentication handled for DynamoDB?
Through IAM
What is DocumentDB specialised for? Does it use SQL?
JSON data
No, DocumentDB is a NoSQL database service
What is Neptune?
A fully managed, highly available graph database.
What is Amazon Keyspaces?
A fully managed Apache Cassandra distributed database.
What query language is used to query an Amazon Keyspace database?
Cassandra Query Language
What is QLDB? What does this stand for?
A ledger of financial transactions that are immutable and cryptographically verifiable
What would a QLDB be used for?
Reviewing the history of all the changes made to application data over time
What is the difference between QLDB and Amazon Managed Blockchain?
QLDB has no decentralisation component in accordance with financial regulations
What is Amazon Timestream?
A fully managed time series database with built-in analytics functions
Are RDS read replicas updated synchronously or asynchronously?
Asynchronously
What would be the equivalent AWS service used for a MongoDB database?
A DocumentDB database
What is the simplest way to increase the storage of an RDS instance if you need to?
Enable autoscaling on that instance
What service would be used for caching popular DynamoDB results?
DynamoDB Accelerator (DAX)
How do you encrypt an RDS database?
Create an encrypted snapshot and then restore the database from the encrypted snapshot
What is lazy loading?
A caching strategy where data is only updated in the cache if it is forced to do so (i.e. there was a cache miss). There are no forced updates when the backend database is updated
What is a downside of lazy loading?
Data can easily become stale as there is no forced updates when data in the actual backend database is changed or updated
What is write-through with ElastiCache? What is the benefit of write-through? What is the downside?
A caching strategy where new data is written simultaneously to the cache and the database.
Benefit: Data is always up to date
Downside: Slightly increases latency
What is a benefit of lazy loading?
There is minimal data kept in the cache itself, so it can be small in size and there is nothing unnecessary in there