How to Run a Database on AWS with Better Performance and Lower Cost
pingcap.com
pingcap.com
This is a nice article with some fun comparisons and important details around the specifics of operating TiDB and systems like it on AWS. If I were running a replicated database such as TiDB, hypothetically of course, I'd probably opt for an instance type with locally attached storage. EBS volumes are already replicated themselves for durability so if you're running a replicated DB on EBS volumes then you're going to be replicating while you're replicating. Yo dawg. That's going to be some extra latency, even with a majority quorum replication protocol like Raft.
Historically if you wanted locally attached SSDs the more expensive storage instance types like i2/i3/i3en were all you had but now there's m6gd, c6gd, and r6gd[0]. Lots of options at all sorts of price points for your workload. The Graviton 2 based m6gd instances with local NVMe SSDs are more cost effective than the m5 instances that the blog post is using, which do not have a local SSD.
As the post calls out, if you are going to use EBS then use it for the materialized key-value store portion. Maybe even make a little Step Function to snapshot the EBS volumes to figure out where you can safely trim the Raft log at. It could be nice.
0 - https://aws.amazon.com/about-aws/whats-new/2020/07/announcin...
That is only within the same AZ right? Only snapshots are cross-AZ replicated?
PS: why, oh why ppl use this hard-to-read gray font color? Is there allergy to the black font color on white background?
"Reasonable Cost" comes from the conclusion, and I omitted "Better Performance" since they never compare to alternatives (although they do mention Aurora).
I understand the desire to "reel in" more readers than a post might otherwise warrant, but in my experience you're better off not promising general advice if you're not providing it.
For example, you might say, "How we configure TiDB on AWS to handle XXX transactions per second for XXX/month", or "Squeezing the highest TiDB performance from AWS m5 instances". There are definitely interesting ways to title posts in a way that's supported by the content.
[0] https://www.datadoghq.com/blog/aws-ebs-latency-and-iops-the-...