Heroku (previous CloudAve coverage), the PaaS company under Salesforce, announced recently that they will be supporting key value store inside their Postgres database instances. Named hstore, it takes advantage of Postgres’ extensibility. Ever since MySQL was gobbled up by Oracle, Postgres has been getting additional developer love from the community. I am not saying that Postgres didn’t have traction earlier but I am just highlighting how more and more erstwhile MySQL users are embracing Postgres after realizing the reliability and flexibility of the storage engine.
Now Heroku users can leverage the flexibility and agility of schema-less data stores by tapping hstore. It is available for most of the popular languages and frameworks including plugins for Django, Rails/ActiveRecord, Sequel and Node.js. Developers can easily add hstore to Postgres 9.1 database with a single command.
A Ruby developer by name Richard Schneeman highlights how hstore can fit into real life scenario.
It’s great for when you don’t know exactly what types of attributes you need to store on a model, or if you need to support many different attributes for the same model.
A good example is storing attributes for a Product model. We might start out only selling books, which have an author, number of pages, but then transition over to selling laptops which have cpu speed and display resolution. Using Hstore allows us to easily store all these values without having to make a bunch mostly blank columns.
First Data Clips and now hstore, Heroku is making their platform and Postgres an attractive combo for modern day developers.
- You got NoSQL in my Postgres! Using Hstore in Rails (schneems.com)
- PostgreSQL 9.1 Available in Beta on Heroku Postgres (heroku.com)
- The key value store we ignored (Postgresql) (creapptives.com)
- Anti-RDBMS: A list of distributed key-value stores (ncsizer.wordpress.com)
- Announcing Heroku Postgres (postgres.heroku.com)