Quais são os prós e contras do tipo de dados hstore no postgis?

8

O PostgreSQL possui um módulo chamado hstore que implementa o uso de pares de chave / valor (é algo como o modelo OpenStreetMap, mas em uma única tabela).

Quais são os prós e os contras do hstore em relação às compatibilidade com GIS, adição e recuperação de dados?

Pablo
fonte
1
Após alguns testes: Contras: O Qgis não exibe colunas hstore. Uma solução, armazene a chave / valor na varcharlista delimitada por vírgula: 'name=foo,type=bar,' E recupere valores com: #SELECT * WHERE tags LIKE '%type=bar,%'
222 Pablo Pablo

Respostas:

2

Na verdade, demonstramos isso em nosso livro (que supostamente será impresso na próxima semana). No capítulo 3. Você pode baixar o código aqui: http://www.postgis.us/chapter_03

(e, claro, se você comprar o nosso livro, obterá explicações completas sobre os prós e contras)

Ele usa o comutador osm2pgsql hstore para importar tags osm como coluna hstore.

O que fazemos para compensar o fato de o Quantum e outras coisas não suportarem diretamente o hstore é criar uma visão em torno das principais tags necessárias. Para aplicativos em que você tem controle completo, usando uma consulta com o apelido de key-> value como uma coluna, também funciona bem mesmo se o driver do banco de dados não entender o tipo hstore.

LR1234567
fonte
Eu tenho esse livro. Eu comprei a edição MEAP. Vou dar uma olhada, mas acho que está desatualizado e terei que esperar pelo lançamento da versão final. A propósito, é um bom livro. Obrigado.
19411 Pablo
4

Prós:

É uma chave / valor flexível e de alto desempenho que pode ser indexado e consultado.

Eu tenho um GIS da web sem esquema complexo que usa uma coluna HStore para armazenar as propriedades dos recursos.

Contras:

Como a maioria das ferramentas WMS / WFS, como Mapserver, Geoserver e similares, não podem entender e trabalhar com colunas HStore, você acaba criando visualizações SQL codificadas (no Geoserver, pelo menos). Você ainda pode usá-lo para trabalhar com WMS / WFS, mas como você precisa codificar as chaves, perde os recursos sem esquema.

Pankas
fonte
2

Eu mesmo não tenho experiência com isso, mas se você estiver interessado em armazenar dados espaciais em um banco de dados, convém procurar nosql espacial. Na postagem, encontrei, por exemplo: /programming/2041622/nosql-and-spatial-data

johanvdw
fonte