BT

Reintroducing Hstore for PostgreSQL

by Jonathan Allen on Nov 12, 2013 |

PostgreSQL 9.4 will be reintroducing Hstore as the column type of choice for document-style data. This supersedes PostgreSQL’s JSON support which was introduced in version 9.0. Being a string-based representation, JSON is significantly slower than the binary structure of HStore. And with the addition of Boolean and integer support, the new Hstore is semantically equivalent to JSON. In practical terms this allows two-way conversions between the formats using just a casting operator.

The original HStore format dates back to 2003 when it was introduced merely for storing key-value pairs. Prior to this version it wasn’t possible to use it for the efficient storage of tree-like structures like those found in JSON.

Early performance tests are promising. According to a presentation by Oleg Bartunov and Teodor Sigaev, PostgreSQL’s new Hstore format beat MongoDB on a data loading test 76s to 8 minutes. For reads using finely tuned indexes, they managed to run tests at 0.672 ms compared to 1 ms for MongoDB. These results are self-reported and will need to be verified by outside researchers.

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
Community comments

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

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