

The New Heroku Postgres Database Experience - mattsoldo
https://blog.heroku.com/archives/2014/8/12/the_new_database_experience_with_heroku_postgres

======
NathanKP
As much as I like this tooling and the features that Heroku offers it disturbs
me that I have to pay $15,000 a month to get more than 99% uptime SLA.

To me it is unacceptable to see "max 1 hour downtime" and "max 15 minutes
downtime" on plans that cost way more than running your own database on cloud
instances from other providers.

For reference on AWS I'm running two m3.xlarge instances in an automated
failover database cluster that so far has >99.95% uptime for the past year,
and it only costs about $400 a month.

Meanwhile to get automated failover and a database equivalent to an m3.xlarge
you have to pay $1,200 a month on Heroku, and that could still reach 15
minutes of downtime per month.

~~~
lukasm
I really love Heroku. It's so well design, but I'm considering change to
DigitalOcean, AWS or something similar.

The main reason is price: Former providers are 3x cheaper to host side
project. I don't make money out of it and it's getting too expensive.

AWS gives 20k to startups which is enough to take pain of maintenance/devops.

I'd be happy if I got 2 dynos for half the price for 2 years.

------
numlocked
I suspect this is a response to RDS introducing Postgres support last year
[0]. I switched to RDS from managed Heroku DBs at that point because there
wasn't enough added value from Heroku to justify the abstractions (plus I
wanted to have at least part of our infrastructure not bound up in a single
vendor).

But these automatic profiling and diagnose features look great, and it can be
a headache to find problematic queries in my RDS instance even with tools like
NewRelic. I may yet regret moving...

[0] [http://aws.amazon.com/blogs/aws/rds-postgres-
sla/](http://aws.amazon.com/blogs/aws/rds-postgres-sla/)

~~~
baudehlo
You have enabled pg_stat_statements haven't you? It's what heroku are
obviously using.

------
AJ72
Heroku needs to open source the testing (UPDATE: and data) it has used to
claim 3X performance.

Adding a single graph for a $2000/mo DB, only performing read only
transactions at 30% of its connection limit doesn't sound like putting the DB
through its paces, and not real world.

~~~
sehrope
> Heroku needs to open source the testing it has used to claim 3X performance.

The bottom of the bar chart says: _Database performance was measured using pg
bench with 150 concurrent clients performing read-only transactions._

pgbench[1] is a performance benchmarking tool that is part of PostgreSQL
itself. It ships alongside the rest of the PostgreSQL binaries and is open
source just like the rest of PostgreSQL.

I think this line from the article is interesting:

> In addition to Heroku Postgres DbX we are launching new database plans with
> double the memory and speed improvements of up to 3x at the same price as
> our current plan lineup. These plans feature an upgraded and re-engineered
> infrastructure to drastically improve their memory and speed.

I wonder if the bulk of the price/performance gains are from switching to
newer instance types on AWS and/or switching the underlying storage from
magnetic disks to the new SSD EBS volumes[2].

[1]:
[http://www.postgresql.org/docs/devel/static/pgbench.html](http://www.postgresql.org/docs/devel/static/pgbench.html)

[2]: [http://aws.amazon.com/about-aws/whats-
new/2014/06/16/introdu...](http://aws.amazon.com/about-aws/whats-
new/2014/06/16/introducing-the-amazon-ebs-general-purpose-ssd-volume-type/)

------
cmalpeli
Hard to argue with 2x memory & 2-3x performance for the same price. Nice!

~~~
sologoub
I'm pretty sure they actually dropped the price for the second cheapest
production db. If I recall correctly, it used to go from $50 to $200, now it
goes to $150.

------
aw3c2
pg:diagnose looks awesome, can I use it on my own Linux server?
[https://blog.heroku.com/archives/2014/8/12/pg-
diagnose](https://blog.heroku.com/archives/2014/8/12/pg-diagnose)

~~~
silversmith
From a cursory glance it seems to be a pretty presentation layer on top of
[http://www.postgresql.org/docs/9.3/static/pgstatstatements.h...](http://www.postgresql.org/docs/9.3/static/pgstatstatements.html)

If you use Rails, there's
[https://github.com/ankane/pghero](https://github.com/ankane/pghero) . Other
frameworks / languages have equivalent projects, but I haven't used them. But
in the end, the data comes from querying special views in database, so it's
easy to roll your own if you so desire.

~~~
aw3c2
Oh nice, thank you!

