Hacker News new | ask | show | jobs
by mebcitto 1072 days ago
I kind of have a thing for DBaaS pricing, and that table with the comparison with RDS looked suspicious to me because it doesn't specify the exact instance type used on the AWS side. ~~I think it should be `db.r6g.xlarge` because it has 4 vCPUs and 32 GB RAM. That is $0.43/h, so $0.43 * 730 = $313 / month. They have one primary and 2 replicas, so 313 x 3 = $940. It doesn't quite fit, so maybe that's not the instance type they chose, but indeed it seems cheaper.~~ But that doesn't take into account reserved instances, which can lower the price on the RDS side.

Edit: Looking again, I think the instance used for comparison is `db.r6gd.xlarge` from the Multi AZ-deployments (two standbys) list. That is $1.445/h, so $1054 / month. The difference could be for storage and I/O.

However, the PS Scaler Pro is $1.5 / GB, which is quite a lot. General purpose storage in AWS is only $0.115. The comparison table uses 10 GB only, but if the DB size is 1 TB, then RDS would be a lot cheaper?

Please correct me if I got something wrong, I'm sure there's stuff I'm missing.

2 comments

If they are running on AWS (which it looks like they are), they aren’t going to be able to undercut AWS. For a retail user who doesn’t want to commit to RIs or have enough volume for an EDP, sure PS can be cheaper.

The value I found is being able to do multi-region read replicas with no compute overhead for lower traffic geos.

I like the idea of PS and have toyed around with the idea of migrating to it but there are some glaring issues I don’t want to deal with:

- no native way to export backups and avoid vendor lock in (or pay for the row reads to generate regular backups)

- contradictory cost model. Their pricing page reads “Every time a query retrieves a row from the database, it is counted as a row read. Every time a row is written to the database, it is counted as a row written.” while their docs state “Rows read is a measure of the work that the database engine does, not a measure of the number of rows returned. Every row read from a table during execution adds to the rows read count, regardless of how many rows are returned.”

That’s not contradictory?

It’s very common for scale-out architectures to read more data than is ultimately returned, because the former is pulled from individual shards and then some centralized filtering / post processing is applied in some API middleware layer.

Trying to fix that by pushing down more of the query/execution is sometimes but not always feasible or practical.

(responding to GP) “Full table scans are expensive” is a better way to reframe the pricing model (at least before this pricing change). The distinction is between rows _examined_ vs rows _returned to a db client_. Even the latter is a tricky concept with vitess since it’s a routing/sharding system that sits on top of vanilla MySQL instances.
> PS Scaler Pro is $1.5 / GB, which is quite a lot. General purpose storage in AWS is only $0.115.

GP storage is pretty slow (relatively). I hope PS isn't giving us that out of the box and does provision more IOPs etc.

AWS bills for absolutely everything as PS mentioned in the article. This can include temporary files and what not that can take up a large chunk of your storage.

> because it doesn't specify the exact instance type used on the AWS side

That in a way is problematic because CPU generations matter and even if PS is using the "best" currently, how do we know if they'd keep up? Prices could swing the other way quite easily.