Database
• RDBMS
• RDS
• Aurora
• Redshift
• NoSQL
• DynamoDB
• ElastiCache
• DocumentDB
• Neptune
• QLDB
• Keyspace
• Timestream
https://aws.amazon.com/products/storage/
RDS
• Relational Database Services
• DB Engine
• Aurora Mysql, Aurora PostgreSQL compatitable
• Oracle, SQL Server, MySQL, PostgreSQL, MariaDB
• Compared to EC2 hosting • manual install, management
• RDS hosting
• Install, DB Upgrade, Backup/Recovery
• Availability, scalability
• Can not access to OS, no env change • Can not get db superuser
https://towardsdatascience.com/running - mysql - databases - on - aws - ec2 - a - tutorial - for - beginners - 4301faa0c247?gi=475061565578
RDS
https://towardsdatascience.com/running - mysql - databases - on - aws - ec2 - a - tutorial - for - beginners - 4301faa0c247?gi=475061565578
High Availability
• 24x7
• Up and Running and Accessible
• <> SPOF
• Backup/Recovery > Up/Run/Access
• How to reduce time
• Redundant
• Single Master, Active/Standby, Master/Slave ( cf, multi master )
• Failover with Failover Detection ( Not Active ) • Performance Test > Load Test
https://medium.com/awesome - cloud/aws - difference - between - multi - az - and - read - replicas - in - amazon - rds - 60fe848ef53a https://aws.amazon.com/premiumsupport/knowledge - center/rds - fail - over/
RDS HA
https://aws.amazon.com/rds/ha/ https://aws.amazon.com/rds/features/multi - az/
RDS HA
https://medium.com/awesome - cloud/aws - difference - between - multi - az - and - read - replicas - in - amazon - rds - 60fe848ef53a
Database HA Failover/SwitchOver
• FailOver
• Availability Zone failures
• Primary DB instance compute node failures
• Networking issues with the primary DB instance
• Storage or Amazon Elastic Block Store (Amazon EBS) volume issues
• Cluster Endpoint
• FailOver Time • Min 30-60s • Binlog
• Sync/Async
• Format : STATEMENT/ROW/MIX
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html#Concepts.MultiAZ.Failover https://aws.amazon.com/premiumsupport/knowledge - center/rds - fail - over/ https://severalnines.com/blog/introduction - failover - mysql - replication - 101 - blog/
https://severalnines.com/blog/database - switchover - and - failover - drupal - websites - using - mysql - or - postgresql/
RDS Backup/Restore
• Backup
• Daily Backup, 35 days keep on S3
• Snapshot
• User defined
• Restore ( cf. recovery )
• From backup
• From instance
• Recovery
• Checkpoint
• Redolog
• Point In Time Recovery
• Last 5 min
https://aws.amazon.com/rds/features/backup/
https://learn.microsoft.com/en - us/answers/questions/214377/recovery - vs - restore
RDS Monitoring
• CloudTrail, CloudWatch
• Standard
• Ehhanced
• Event Notification
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what - is - amazon - vpc.html https://aws.amazon.com/blogs/architecture/one - to - many - evolving - vpc - design/
RDS Security/Encryption
• Data In transit
• Data at rest
• Encryption
• Storage
• Automated Backup
• Read Replica
• Standby Replica
• Snapshot
• Encryption Key
• TDE
https://aws.amazon.com/rds/features/backup/
Aurora
• RDS Use EBS
• Auror use distibuted storage fleet
• Share Storage, Cluster Volume, Single Virtual Volume
• Instance Node <> Data Storage
• Add storage by 10GB unit
• Storage Replication
https://www.youtube.com/watch?v=0IeLKyBl3CM
https://www.lastweekinaws.com/blog/aurora - vs - rds - an - engineers - guide - to - choosing - a - database/
https://assets.amazon.science/dc/2b/4ef2b89649f9a393d37d3e042f4e/amazon - aurora - design - considerations - for - high - throughput - cloud - native relational - databases.pdf
Cluster Volume
https://aws.amazon.com/blogs/database/amazon - aurora - as - an - alternative - to - oracle - rac/ https://aws.amazon.com/ko/blogs/korea/amazon - aurora - under - the - hood - quorum - and - correlated - failure/
RDS Mysql vs Aurora Mysql
https://medium.com/awesome - cloud/aws - difference - between - amazon - aurora - and - amazon - rds - comparison - aws - aurora - vs - aws - rds - databases -
60a69dbec41f
https://d1.awsstatic.com/events/reinvent/2019/REPEAT_Amazon_Aurora_storage_demystified_How_it_all_works_DAT309 - R.pdf
ACID / BASE
• ACID
• Atomicity
• Consistency
• Isolation
• Durability
• BASE
• Basically Available
• Soft State
• Eventually Consistent
https://www.geeksforgeeks.org/acid - model - vs - base - model - for - database/
CAP Theorem / PIE
• CAP
• Consistency
• Availability
• Partition Tolerence
• PIE
• Pattern Flexibility
• Infinite Scale • Efficiency
https://chbussler.medium.com/database - theorems - 444f27f911c6 https://en.wikipedia.org/wiki/CAP_theorem http://eincs.com/2013/07/misleading - and - truth - of - cap - <span s
Distribution
• Partition : key
• Split into
• Sharding : key
• Split into, manual rebalancing
• Isolation : model • Gather into
• Cluster : block
• Gather into, auto rebalancing
https://chbussler.medium.com/database - theorems - 444f27f911c6 https://en.wikipedia.org/wiki/CAP_theorem http://eincs.com/2013/07/misleading - and - truth - of - cap - theorem/ https://learning - notes.kovacevic.dev/Databases/Theory/PIE - Theorem
Redshift
• DataWarehouse
• Based on PostgreSQL
• Columnar Storage
• Multiple Compute Node • Dense, Leader
• Data Distributed in Compute Node • EVEN, KEY, ALL
• Redshift Spectrum
• Read from S3
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what - is - amazon - vpc.html https://aws.amazon.com/blogs/architecture/one - to - many - evolving - vpc - design/
DynamoDB
• NoSQL, key-value
• Collections – Table
• Atrribute – Column (key-value pair)
• Item – Row – one or more attribute
• Partition
• PrimaryKey, datatype
• PartitionKey, Hashkey : Primary Key One Partition : Simple Primary Key
• Sort Key, Range Key = Composite Primary Key
• Partition Key = Not Unique, Partition Key + Sort Key : Unique
• Scan, Query
• Secondary index
• Global secondary index
• Local Secondary Index
• Base table, projected attributes
• DAX : DynamoDB Accelerator : memory caching https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html
DocumentDB
• NoSQL
• Managed service
• Compatible with MongoDB
• 3 AZ, 6 Replica = 99.99 Availability
• PITR : Point In Time Recovery, Saved in S3 • Ecryption Support
https://docs.aws.amazon.com/documentdb/latest/developerguide/what - is.html
ElastiCache
• Caching
• Mananged Service
• Redis, Memcached
• Unser 1 ms
• Shard = cluster node
• Every node has same type, same size
• SSSN : 1 node, no shard
• SSMN : 1 shard, 6 node ( rw 1node, max 5 read node ) • MSMN : M shard, max 6 node per shard, softlimit 90 node • Multi shard :
https://docs.aws.amazon.com/AmazonElastiCache/latest/red - ug/WhatIs.html
Neptune
• Managed Service
• Graph Database, Germlin, RDF, SPARQL
•
3 AZ, 6 replica : 99.99 Availability • Eg : social network
https://docs.aws.amazon.com/neptune/latest/userguide/intro.html https://jiwonny.github.io/projects/aws - neptune - 1/
https://aws.amazon.com/blogs/database/populating - your - graph - in - amazon - neptune - from - a - relational - database - using - aws - database - migration service - dms - part - 2 - designing - the - property - graph - model/
QLDB
• Quantum Ledger
• Journal
• Blockchain
• Amazon Ion
• PartiQL
https://docs.aws.amazon.com/qldb/latest/developerguide/what - is.html https://docs.aws.amazon.com/qldb/latest/developerguide/ledger - structure.html https://amazon - ion.github.io/ion - docs/ https://partiql.org/
Keyspace ( for Apache Cassandra)
• Managed service
• Compatible with Apache Cassandra
• Performance at scale
• Region service
https://docs.aws.amazon.com/keyspaces/latest/devguide/what - is - keyspaces.html https://www.youtube.com/watch?v=bwGPdj1nLwg
https://www.youtube.com/watch?v=4ZnlZCbbN_A&list=PLORxAVAC5fUVMfzfZSJmroZvnaZWVb1QT&index=9
Timestream
• Time series Database
https://docs.aws.amazon.com/timestream/latest/developerguide/what - is - timestream.html
QnA