Module 6: Adding a database layer Flashcards
what are considerations when adding a database layer?
-Scalability
-Storage requirements
-Data characteristics
-Durability
Benefits of Relational vs benefits of non relational databases (No SQL)
Relational:
Ease of use, Data integrity, reduced data storage, Common language.ACID compliant
Non relationnal:
Flexible, scalable and high performance
Use case for non relationnal database (NoSQL)
Fast access, and high read and write throughput. Efficient when considering a caching option to improve read performance, storing Json files or requiring millisecond retrieval.
Use case for relational
The workload involves transactional processing, optimized for structured data stored in table and supports complex queries. Best low effort solution to many use cases.
Is there only one type of NoSQL database
No. There is document based, graph based, key-value, in memory, search…Can be structured, semi structured or unstructured. Each object can have its own structure.
Amazon Database options for Relational databases
Amazon RDS
Amazon Database option for non relational databases
Dynamo DB
Neptune
Elasticache
What does vertically scaling the databse means?
Expand the resources the server uses to increase capcity. (update memory, storage, computing power) Main issue: downtime.
What does scalling horizontall means
Increase the number of server the database runs on. Can be done while running = No downtime.
RDS compatibilities
Aurora:
1) Mysql
2) Postgresql
RDS:
1)mysql
2)mariaDB
3)postgresql
4)Oracle
5)SQL server
What os the relation between RDS end EBS?
RDS uses EBS for database and log storage. Allowing you to scale the storage capacity to the database instance
Whar can help make RDS Available and durable ?
Multi AZ deployment and read replicas
How can you make RDS more secure?
Using VPC,
IAM;
Security groups tocontro IP,
SSL or TLS connections;
Encrypt with an AWS KMS;
Use the security feature of your DB engine
Advantage of RDS vs on permise?
No need to provision and maintain
An RDS can contain several isolated database environments with multiple user-created database . TRUE or FALSE ?
TRUE
What is Aurora?
Aurora is RDBMS (Rleational Database Management System).
It supports Mysql and postgresql.
Advantage of Aurora
Cost efficient and multi AZ deployment with Aurora Replicas
Aurora facts:
Max 64TB per instance
Up to 15 low latency read replicas
Replication across 3 AZ
Continuous back up to S3
Point in time recovery
Aurora serverless is an on demand auto scaling config for Aurora. What is it suitable for?
Variable workloads
New applications
Dev and testing
Capacity planning
When setting up an RDS instance you can select the EC2 type and sizing it will run on ?
Yes:
General purpose (T AND M) or Memory optimized (R AND X)
What is RDS proxy used for ?
It is located between the database and the application. The proxy receives the request and pools them before sending it to the database. Like that less requests are using the ressources of the database. If hte database fails, the proxy queue the requests and redirect the request to an other Db instance.
What does Dynamo DB supports?
No Sql database, supporting key-value and document t^data models
What is the advantage of Dynamo DB?
High read write throughput. Automatically scales. Millisecond performance
What is Dynamo DB used for
Developing applications, mission critical worloads with priority on speed scalability and data durability
Composition of dynamo DB
Table => items => attributes.
Attributes have a partition key,sort key and attribute list
Not understood:
GSI and LSI
Globa secondary indexes and Local Secondary indexes. I understood it allows to reshape the tables for varying queries.
It creates copies of the table. Diff between LSI and GSI is that LSI will be consistent, while GSi may not (will eventually be but requires a bit of time if operation are in process): With LSI Same partition key but different sort key
What do I use to replicate Dynamo DB accross several regions ?
Dynamo DB global tables
Dynamo DB security best practuce
Use IAN
Use VPC
Use cloudtrail to monitor KMS usage
and operations
monitor config using AWS config
Check compliance with AWS Config Rules
What db option is used for analytics workloads.?
Redshift
What db option is used for document database
Amazon DocumentDB (Mongo compatible) JSON like
What db option is used for Apache Cassandra?
Amazon Keyspaces
(Typical example trade monitoring)
What db option is used for in memory workloads?
Amazon MemoryDB
Used for Caching, bank user transaction…
What DB service is used for Graph database?
Amazon Neptune
What DB option is used for Timeseries
Amazon Timestream
What db option is used for Ledger database
Amazon Quantum Ledger Database (QLDB)
Immutable and verifiable history, with cryptographie in transaction log.
For storing financial transaction or maintaining claim history.
Consideation for choosing the right DB?
Suitable workload
Data nodel
Features and benefits
Common use cases
Migrating data to AWS databases. What is the service used
Amazon DMS (Data Migration services)
For heterogeneous database migration
DMS Fleet advisor
Automatically inventories and acces on permise data. It s a discovery tool.
Then there is a shema conversion tool to adjust an sql schema to an equivalent sql target.