-
Notifications
You must be signed in to change notification settings - Fork 0
AWS ‐ Database Services ‐ RDS | DocumentDB | DynamoDB | ElastiCache | Keyspaces | Neptune | Quantum Ledger | Aurora | Redshift | Timestream
- Data is stored in a relationship structure
- Data stored in tables as Rows and Columns (property information about the row)
- Use SQL to access/query the data
- Completeness of the data (you can define constraints such as firstname, lastname canot be null, so the consumer of the data will have complete information)
- Consistency - consumer can rely on the data
- Accuracy - defining data model, relationship properly
- Collection of SQL statements processed in sequence
- All or None functionality - If all these statement executions are succeed then the changes are applied to the database, if any one statement is fail then no changes are applied.
- Db Transactions must be ACID
- Atomic - entire execution of statements should be successful, not just part of it
- Consistent - data written in db must adhere to all the rules and constraints defined
- Isolation - transactions independent, doesnt rely on any other trnx for it to succeed
- Durable - all the changes made to db are permanent
- Amazon Aurora
- MariaDb
- MS SQL Server
- MySQL
- Oracle
- PostgreSQL
-
To support varied data model (unstructured schema)
-
Used to store large amount of data - with less constraints
-
Supports Flexible data models
-
Provides Low latency - because less validations on the constraints and rules compared to relational database
-
Scalability & Performance - less processing and validations, efficient to compress and store data
-
Flexibility - stores different types of data
- Key-Value
- DocumentDb
- Graph db
- Search db
- In-Memory db
- It is a NoSQL Db, boasts performance and scalability, it is fully managed
- It is serverless db, automatically scalable without worry about infra
-
It supports strong consistency model
- all writes are completed before any read operation is performed, all latest data is guaranteed to be returned
- data is always upto date
- it is more resource intensive, hence lower performance
-
It also supports eventual consistency where you may not read the same data immediately after the write as there will be some delay
-
Default: Eventual Consistency
-
maximize performance of read operation
-
may not capture recent writes, i.e when eventual consistency enabled, subsequent read operation does not guarantee the data of write operation, but it will be eventually available for sure (after few seconds), not immediately. So the read operation may return stale data due to this delay in write/update/delete opeartion
-
Eventual consistency - is normal in scenarios where there is replication happen, multiple availability zones
-
Supports Strong Consistent Read
-
It can be deployed in single or multiple region (replication hapen accross region),
-
It supports availability zone
- It is a fully managed web based relational database service
- It is cost efficient and scalable
-
Db Instance is a basic unit, instance is a deployment, a single unit/instance can host multiple databases
-
Instance identifier to be used in consumption
-
Limitations
- max 40 db instances in an account depends on type of database
- if you deploy sql server edition - max 10 instances
- if oracle - max 10 instances, but if you bring your own license then max 40 instances can be deployed
- if mysql,mariadb,postgresql - upto 40 instances
-
General purpose SSD - higher cost
-
Provisioned IOPS - higher cost
-
Magnetic storage - cost effective option
-
High Availability
- Use multi-availability zone deployment
- automatic failover - if db is down in one zone, automaticall another db spun up in another zone
-
Pay on-demand - pay as you use
-
Reserved - fixed price, time frame, hourly rate, partial upfront cost or everything upfront cost
-
Billing by database instances, multi-az database instances
- It is a nosql db
- Compatible with Mongodb
- Automatic volume scaling, grow upto 64TB, upto 15 replicas of the database
- it can be within VPCs
- Health monitoring
- Automated failover - restart and recover
- Point-in-time cluster recover
- supports KMS Encryption
- It supports Clusters (group of instances), supports upto 16 database instances
- Primary used for writing, secondary will be used for reading
- Invoiced by IO consumptions
- Monitoring support
- Use AWS Management Console
- AWS CLI
- Mongodb SHell, TOols, Drivers
- To read and write the data - use Cluster Endpoints
- To only read data - use Reader endpoint
- To communicate with specific replica - use Instance endpoint
- User Profiles
- Realtime big data
- content management
-
In-Memory database
-
High performance, scalable and cost effective
-
Reduce complexity of distributed cache deployment
-
Failure detection and recovery
-
Automatic node discovery - no need to reconfigure
-
Flexible availability zone placement
- Speed and cost
- Data and access patterns (ex: look up tables, static data)
- Manage staleness of data
- Nodes - static allocation of caching memory, it has scaling capability
- Cluster - group of nodes, same type
- Regions and availability zones
- Endpoints - to manage the configuration of clusters
- Security - IAM policies, VPC, Security Groups, SUbnet groups
- Event notifications
- AWS Management Console
- AWS CLI
- AWS SDK
- ElastiCache API
- It is a managed apache cassandra database solution
- It is a server less solution
- Pay per use service
- Unlimited throughput and storage solution
- For Low latency apps
- Open source development
- Move cassandra workloads to cloud with ease
- Similar to SQL, can be used in CQL editor in aws management console
- It is a Managed Graph database
- For complex application datasets
- It keeps the relationship of the data
- It uses Graph database engine - which processes billions of object relationships
- It supports TinkerPop Gremlin and SPARQL query language support
Database is broken down into clusters, data is stored atleast in 2 instances (1. Primary - read + write operation, 2. Replica - for read only operation)
- Cluster - contains primary database instance, which allows user to read and write the data from the cluster
- Cluster Provides High availability and reliability
- Neptune Replica - upto 15 replicas per cluster
- Cluster Volume - where the data is stored