Introducing Heroku Postgres 2.0
November 11, 2013 by Craig Kerstiens
Today we're excited to announce an evolution of what it means to be a database as a service provider. Along with new features such as the ability to roll back your database to an arbitrary point in time and high availability, we now provide an entirely new level of operational expertise that's built right in. This new level of service allows you to feel at ease while taking advantage of your database in ways you never expected. All of this is rolled into new tiers which make it as easy as ever to choose what’s right for you.
We are introducing Heroku Postgres 2.0 today, the result of these improvements. Let's dig in a little further on what's available today.
As the number of databases we run continues to grow we’re seeing people take advantage of their database in new and exciting ways daily. At the same time we’ve continued to see a key need for better management of the day to day ins and outs involved with using a database. With Heroku Postgres this is now delivered to you in a way like never before. Here’s just a few ways you’ll begin to experience this as a customer:
- If you have indexes that are not needed and slowing down write throughput on your database, we’ll notify you so you can easily make the choice to remove them.
- If you have accumulated bloat in your data or indexes, we'll notify you so that you can act on it accordingly.
- If critical security incidents arise around your database we’ll make sure its patched without you lifting a finger.
- If underlying disks get corrupted, with mechanisms already in place we’ll dig in to get you back up and running as safely as possible for your data.
And this is just the start. Stay tuned for more improvements in this area as we iterate further based on your feedback.
In a world of agility where we bring applications to market soon and constantly iterate, there's undeniable risk for things going wrong as we deploy to production leading to data loss or inconsistencies. Even with robust testing, having a safety net available to minimize the risk you’re exposed to is still critical, as these inconsistencies can render one of your businesses' most precious assets useless: your data. Heroku Postgres forks allow you to even test a data migration on a production-like environment with no impact on production, but some bugs are difficult to anticipate and can cause data problems over time.
For years Heroku has had the ability to undo a deploy trivial with the rollback command. Just as we brought the ability to fork and follow your database over from git, we’re drawing inspiration from the Heroku platform' rollback, now available for your database. This means should you run a bad migration that drops a table, or have a need to do some historical forensics with a view of your data as of some time in the past you’re now able to, all with a single command.
Keeping your data safe and secure is a must do for any database-as-a-service provider, yet at the same time your database is still no use to you when it's down. With our introduction of followers we saw many of our customers using them to improve the uptime of their applications by manually unfollowing and promoting them when primary databases failed. We continued to build on the foundations of this, and available today is built in HA on our new Premium and Enterprise tiers.
With the addition of fork and follow you had the ability better control your uptime, your read scaling, and how you worked with your data. While you can still be flexible in working with your data we’re making it easy for you to make the right choice when it comes to your database availability needs. Our new tiers make it easy to decide what is right for your business, all tiers already offer continuous protection for your data ensuring its safe, the biggest difference now when choosing is the uptime you should expect on each tier. While we strive for higher uptime for all of our tiers, mechanisms in place for Premium and Enterprise are meant for where uptime for your app is critical.
Here’s a clearer look at what each tier provides:
|Tier||Downtime Tolerance||Backups Available||Fork||Follow||Rollback||HA||SLA|
|Hobby||Up to 4 hrs downtime per mo.||Yes||No||No||No||No||No|
|Standard||Up to 1 hr downtime per mo.||Yes||Yes||Yes||1 hour||No||No|
|Premium||Up to 15 min downtime per mo.||Yes||Yes||Yes||1 week||Yes||No|
|Enterprise||Up to 15 min downtime per mo.||Yes||Yes||Yes||1 month||Yes||Yes|
For those already familiar with our pricing our new standard tier is very similar to our now legacy production tier. For some of you this means migrating could actually provide over 45% in cost savings on your production database. For full details on pricing visit our pricing page to explore further.
Heroku Postgres 2.0 is available today for all Heroku customers, and is available for PostgreSQL 9.3 databases. If you’re already running a PostgreSQL 9.3 database on us today you can move to a new tier by creating a follower and conducting a fast changeover to your new tier. If you’re not running PostgreSQL 9.3, you can upgrade your database with pgbackups. Finally, for those where uptime is critical and your data size is prohibitive for an upgrade with pgbackups, we will be reaching out directly around upgrade paths that address this.