PostgreSQL verfügt über ein Modul namens hstore , das die Verwendung von Schlüssel / Wert-Paaren implementiert (ähnlich dem OpenStreetMap-Modell, jedoch in einer einzigen Tabelle).
Was sind die Vor- und Nachteile von hstore in Bezug auf GIS-Kompatibilität, Hinzufügen und Abrufen von Daten?
varchar
durch Kommas getrennten Liste:'name=foo,type=bar,'
Und rufen Sie Werte ab mit:SELECT * WHERE tags LIKE '%type=bar,%'
Antworten:
Wir demonstrieren dies tatsächlich in unserem Buch (das angeblich in der nächsten Woche oder so gedruckt wird). In Kapitel 3. Sie können den Code hier herunterladen: http://www.postgis.us/chapter_03
(und natürlich, wenn Sie unser Buch kaufen, erhalten Sie unsere ausführlichen Erklärungen der Vor- und Nachteile)
Es verwendet den hstore-Schalter osm2pgsql, um osm-Tags als hstore-Spalte zu importieren.
Um die Tatsache zu kompensieren, dass Quantum und andere Dinge hstore nicht direkt unterstützen, erstellen wir eine Ansicht der benötigten Schlüssel-Tags. Für Anwendungen, bei denen Sie die vollständige Kontrolle über eine Abfrage haben, die den Schlüssel-> Wert als Spalte aliasisiert, funktioniert dies auch dann, wenn Ihr Datenbanktreiber den Hstore-Typ nicht versteht.
quelle
Vorteile:
Es ist ein leistungsstarker und flexibler Schlüssel / Wert, der indiziert und abgefragt werden kann.
Ich habe ein komplexes schemenloses Web-GIS, das eine HStore-Spalte zum Speichern der Features-Eigenschaften verwendet.
Nachteile:
Die meisten WMS / WFS-Tools wie Mapserver, Geoserver und Ähnliches können HStore-Spalten nicht verstehen und arbeiten nicht mit ihnen, sodass Sie am Ende fest codierte SQL-Ansichten erstellen (zumindest in Geoserver). Sie können es weiterhin für die Arbeit mit WMS / WFS verwenden, aber da Sie die Schlüssel fest codieren müssen, verlieren Sie die schemenlosen Funktionen.
quelle
Ich habe selbst keine Erfahrung damit, aber wenn Sie daran interessiert sind, räumliche Daten in einer solchen Datenbank zu speichern, möchten Sie möglicherweise nach räumlichen Daten suchen. Auf dem Post fand ich zB: /programming/2041622/nosql-and-spatial-data
quelle