hstore: Creciendo con postgresql
Igor Támara
Senior Software EngineerCada vez que vamos a hacer aplicaciones que puedan crecer y que tengan atributos "elásticos" en tablas ya existentes tenemos la disyuntiva: ¿cómo abordaremos esta situación?
- Horizontalmente añadimos columnas y hacemos tablas con muchos campos, o
- Creamos una tabla vertical que crecerá impresionantemente.
hstore de postgresql ayuda a aliviar esta situación, que es básicamente un campo que permite tener un diccionario con claves y valores en cadena sobre el que se puede hacer consulta sobre los campos y las llaves. Esta característica estaba presente desde la serie 8 de postgresql, pero si usted está todavía con postgresql 8.X está perdiendo la oportunidad de tener window functions y varias mejoras en velocidad de la base de datos, así que para instalar tal extensión en 9.X, basta con aplicar sobre la base de datos en cuestión:
[gist id = 3344545]
Una tabla en una tienda de ventas con este tipo de campo se crearía con
Para" class="redactor-autoparser-object">https://gist.github.com/334457... añadir una bicicleta como producto en esta tabla se podría aplicar algo como
A" class="redactor-autoparser-object">https://gist.github.com/334461... continuación algunas consultas de uso diario
Qué más pedir?
índices? también es posible crearlos incluso sobre los campos. Pero hay más, por ejemplo, campos de tipo json, y justamente es lo que traerá postgresql 9.2
Más información
Para saber más de hstore, visite la documentación oficial.
Como dato que deja de ser curioso, en openstreetmap hay forma de trabajar datos con hstore y también es posible tener bases de datos en Heroku con esta extensión de postgresql
Written by Igor Támara
A seasoned developer, Igor brings expertise in designing and building complex software systems. With a focus on quality and performance, they lead projects that drive innovation and deliver reliable solutions to meet user needs.