Câu trả lời:
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.
Ư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.
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
varchar
danh 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,%'