https://www.percona.com/blog/2019/01/04/amazon-rds-aurora-mysql-differences-among-editions/
Aurora 1, 2, and 3
- https://aws.amazon.com/blogs/database/amazon-aurora-mysql-3-with-mysql-8-0-compatibility-is-now-generally-available/#:~:text=Aurora%20MySQL%203%20introduces%20several,compatibility%20with%20the%20MySQL%208.0.
- Aurora is a custom engine built buy Amazon which is Mysql or PostgreSQL compatible. It
offers many features like auto scaling for diskspace and instances, automatic backups,
point in time recovery, and many other features.
- Write does not scale horizontal but vertical.
- There appears to be no cost different from Aurora 1, 2, and 3. If you are new, go to
Aurora 3.
- Pay attention to limitations of Aurora.
TODO: list of limitations and gotchas for 1, 2, and 3. List real reasons to go to
newer versions.
Aurora Serverless 1
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling
- https://aws.amazon.com/rds/aurora/serverless/
- https://aws.plainenglish.io/what-is-amazon-aurora-serverless-b48ef15bf703
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations
- https://www.jeremydaly.com/aurora-serverless-the-good-the-bad-and-the-scalable/
Aurora Serverless one scales automatically up and down depending on your workloads. It it meant
for developers to have a scaling database environment that depends on the amount of work
that needs to be done. If it scales down to 0, you just pay for storage.
You are charge per second for ACU.
Where serverless can shine is when you have periods of lots of work to do. Since it is
designed to take care of itself, this can make management easier.
However for data processing, you might want to consider Spark or Snowflake to process
data and out the final results in an SQL and data warehouse.
Make sure you read about the limitations of Aurora Serverless 1.
Aurora Serverless 2
- https://www.jeremydaly.com/aurora-serverless-v2-preview/
At the time of this writing, serverless 2 has more capabilities for
scaling up and better suited for prod use. It seems twice as expensive
as serverless 1, but it actually may be more. Scaling can happen in milliseconds.
When Serverless 2 is no longer in preview mode, the advantages will be great
and there should be less of a need for Serverless 1.
Aurora Multi Master
^
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html
There are MANY limitations on muti master Aurora. It meant to be able to have more write
throughput than a single Aurora Primary with read replicas. It is not worth it is most cases.
SkySQL: an alternative to Aurora at AWS
- https://mariadb.com/resources/blog/four-things-you-didnt-know-about-amazon-aurora/
TODO put more info of SkySQL on there. Put demo available on site.
Future Additions
^M
- Have Python script that makes am Aurora 1 or 2 or 3, of serverless 1 or 2, or multi master.
Have it run a task and then destroy instance.
Caching and Load Balancing
^M
Database caching is almost necessity and also load balancing. Caching makes it so
you can relieve pressure on the databases in terms of read queries. Load balancing can make
upgrades and martinets a lot easier.
TODO: list benefits and links.
Add in example cache and load balance example.