Can someone give tangible real world metrics on when you should consider sharding a Postgres database? Thanks in advance.
These days, you can get server processors with hundreds of cores, terrabytes of ram, and nvme can do huge amounts of IOPS, but there's often a place in the pricing curve where it's less expensive to get two machines of X capacity than one machine of 2X capacity. Often, that point is near the limit of acheivable capacity, so when you notice it's getting more expensive to scale up than out, it's time to consider scaling out. Sharding has its own expenses, so scaling up can still be valuable, but you need to start preparing for the possibility that you can't.