Những ưu và nhược điểm của kiểu dữ liệu hstore trong postgis là gì?


8

PostgreSQL có một mô-đun có tên hstore thực hiện việc sử dụng các cặp khóa / giá trị (nó giống như mô hình OpenStreetMap, nhưng trong một bảng duy nhất).

Những ưu và nhược điểm của hstore liên quan đến tính tương thích của GIS, thêm và truy xuất dữ liệu là gì?


1
Sau một số thử nghiệm: Nhược điểm: Qgis không hiển thị các cột hstore. Một Giải pháp, lưu trữ khóa / giá trị trong varchardanh sách được phân cách bằng dấu phẩy: 'name=foo,type=bar,' Và truy xuất các giá trị với:SELECT * WHERE tags LIKE '%type=bar,%'
Pablo

Câu trả lời:


2

Chúng tôi thực sự chứng minh điều này trong cuốn sách của chúng tôi (được cho là sẽ được in trong tuần tới hoặc lâu hơn). Trong chương 3. Bạn có thể tải xuống mã từ đây: http://www.postgis.us/ch CHƯƠNG_03

(và tất nhiên nếu bạn mua cuốn sách của chúng tôi, bạn sẽ nhận được những giải thích kỹ lưỡng về những ưu và nhược điểm của chúng tôi)

Nó sử dụng chuyển đổi hstore osm2pgsql để nhập thẻ osm làm cột hstore.

Những gì chúng tôi làm để bù đắp cho thực tế là Lượng tử và những thứ khác không hỗ trợ trực tiếp cho cửa hàng là tạo ra một cái nhìn xung quanh các thẻ chính mà chúng tôi cần. Đối với các ứng dụng mà bạn có toàn quyền kiểm soát bằng cách sử dụng truy vấn bí danh khóa-> giá trị dưới dạng cột cũng hoạt động tốt ngay cả khi trình điều khiển cơ sở dữ liệu của bạn không hiểu loại hstore.


Tôi có cuốn sách này. Tôi đã mua phiên bản MEAP. Tôi sẽ xem nó nhưng tôi nghĩ nó đã lỗi thời và tôi sẽ phải chờ phiên bản cuối cùng phát hành. Nhân tiện, đây là một cuốn sách hay. Cảm ơn.
Pablo

4

Ưu điểm:

Đó là một khóa / giá trị linh hoạt và hiệu suất cao có thể được lập chỉ mục và truy vấn.

Tôi có một web GIS schemaless phức tạp sử dụng cột HStore để lưu trữ các thuộc tính tính năng.

Nhược điểm:

Hầu hết các công cụ WMS / WFS như Mapserver, Geoserver và similars không thể hiểu và hoạt động với các cột HStore, vì vậy cuối cùng bạn sẽ tạo ra các Chế độ xem SQL được mã hóa cứng (ít nhất là trong Geoserver). Bạn vẫn có thể sử dụng nó để làm việc WMS / WFS nhưng vì bạn phải mã hóa các khóa mà bạn mất các khả năng của schemaless.


2

Tôi không có kinh nghiệm với bản thân nó, nhưng nếu bạn quan tâm đến việc lưu trữ dữ liệu không gian trong cơ sở dữ liệu như vậy, bạn có thể muốn tìm kiếm nosql không gian. Trên bài đăng tôi tìm thấy là: /programming/2041622/nosql-and-spatial-data

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.