BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Heroku Launches Postgres as a Standalone Service.

by Jean-Jacques Dubray on Nov 29, 2011 |

Until now, Postgres was only available to Heroku customers for use with Heroku platform apps. Last week Heroku launched a new Postgres service that can be used from anywhere and with any Postgres client. Apps can connect from Heroku, Google App Engine, Microsoft Azure, Cloud Foundry, EC2, or from your local computer. Matthew Soldo explained:

With measured service uptime of four nines (99.99%), and designed data durability of eleven nines (99.999999999%), the service is trustworthy for mission-critical data. As of today, these production-quality Heroku Postgres databases are independently available for use from any cloud platform, provisioned instantly, metered by the second, and without contract.

This kind of operational metrics is achieved with Continuous Protection which is a set of technologies designed to prevent data loss even in the face of catastrophic failures. Changes to the data or schema are written to PostgreSQL’s WAL (write-ahead-log). In the event of unrecoverable hardware failure, these logs can be automatically 'replayed' to recover the database to within seconds of its last known state. Heroku Postgres also creates multiple, geographically distributed copies of all data changes as they are written. These copies are constantly checked for consistency and corruption.

Heroku Postgres is running off-the-shelf, community PostgreSQL - unforked and unmodified. This means that any standard libpq client will run readily and apps can be migrated back to an on premise database if needed.

Databases are multi-ingress and can be used from anywhere and with any Postgres client. PostgreSQL is supported by most modern programming languages - including Perl, Python, Ruby, Scala, Go, Tcl, C/C++, Java, .Net, and Javascript. It is also available via ODBC.

It is possible to fork a database: Heroku creates a byte-for-byte clone of databases with a single command. This is useful for instance for testing new schema migrations or perform some load testing activities.

Horizontal scalability is achieved with Followers which are read-only asynchronous replicas of a database. Followers stay up-to-date with changes to the database and can be queried. Followers are traditionally used for real-time analytics and to handle expensive queries.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Is this better than Amazon RDS? by Roopesh Shenoy

Any views on whether this is better or worse than RDS?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT