Là thiết kế cơ sở dữ liệu tốt ít quan trọng đối với cơ sở dữ liệu không gian?


15

Tôi có một cảm giác mạnh mẽ rằng thiết kế cơ sở dữ liệu và chuẩn hóa thường xuất hiện trong tầm tay khi xử lý dữ liệu không gian.

Với phần mềm tốn rất nhiều tiền và cơ sở dữ liệu với hơn 100 trường bảng, tôi phải hỏi:

Có lý do chính đáng để xem xét khác hơn bình thường hóa khi thiết kế cơ sở dữ liệu không gian?

Tôi đoán mọi người sẽ hỏi ví dụ, nhưng tôi không thể đưa ra ở đây, vì vậy câu hỏi của tôi có lẽ nhắm nhiều hơn cho những người có nghĩa là 100 trường không có vấn đề và dễ bảo trì hơn một thiết kế chuẩn hóa phù hợp.

Các đối số là gì?


Trong trường hợp của ArcGIS, một cơ sở dữ liệu được chuẩn hóa với tính toàn vẹn tham chiếu rất khó thực hiện, vì bạn bị giới hạn chỉ các tính năng cơ sở dữ liệu được hiển thị cho bạn và được ArcGIS hỗ trợ. Điều này rất bực bội khi một anh chàng cơ sở dữ liệu quan hệ ... chơi một trò chơi điện thoại, với ArcSDE ở giữa.
nw1

Câu trả lời:


16

Tôi cảm thấy rằng cơ sở dữ liệu không gian nên được đối xử không khác với cơ sở dữ liệu truyền thống. Về cơ bản họ đang làm điều tương tự, lưu trữ một lượng lớn dữ liệu để truy xuất nhanh. Ví dụ, trong PostgreSQL / PostGIS, hình học chỉ là một kiểu dữ liệu khác. Cũng giống như văn bản, hoặc số nguyên. Tương tự trong SQL Server 2008. Tương tự trong Oracle. Nếu phần "không gian" chỉ là một loại trường khác trong cơ sở dữ liệu, thì nó có thực sự khác với cơ sở dữ liệu gốc không? Điều này có nghĩa là chúng ta nên loại bỏ tất cả các quy tắc của thiết kế cơ sở dữ liệu truyền thống?

Rõ ràng việc bình thường hóa có thể được thực hiện quá xa, giống như với các cơ sở dữ liệu truyền thống, vì vậy đó là một sự đánh đổi để tìm ra thiết kế tốt nhất phù hợp với nhu cầu của bạn.

Nếu bạn đang dự định tạo ra một cấu trúc không chuẩn hóa cao với các bảng gồm 100 cột, thì bạn phải tự hỏi điều gì có thể thay đổi trong tương lai? Với sự gia tăng lớn của các hàng, điều này cũng sẽ ảnh hưởng đến hiệu năng truy vấn? Điều này sẽ ảnh hưởng đến khả năng bảo trì trong tương lai?

Có gì sai khi tạo cấu trúc chuẩn hóa và sử dụng các khung nhìn để hiển thị tất cả dữ liệu cho máy khách cơ sở dữ liệu, có thể là GIS hoặc bất kỳ máy khách nào khác không?

Tất cả những câu hỏi này áp dụng cho cả cơ sở dữ liệu truyền thống và cơ sở dữ liệu không gian. Nếu bạn đi qua http://en.wikipedia.org/wiki/Database_n normalization, bạn sẽ thấy rằng nó cũng áp dụng cho cơ sở dữ liệu không gian.

Nếu phần mềm bạn đang sử dụng trên cơ sở dữ liệu buộc bạn phải sử dụng các cấu trúc không chuẩn hóa cao, thì đây là một đối số khác. Bạn bị ràng buộc bởi phần mềm chứ không phải cơ sở dữ liệu, vì vậy bạn không có lựa chọn nào trong thiết kế cơ sở dữ liệu tốt nhất.

Vì vậy, tôi nghĩ rằng, câu trả lời ngắn gọn là (theo tôi) thiết kế cơ sở dữ liệu cũng quan trọng với cơ sở dữ liệu không gian như với cơ sở dữ liệu truyền thống.


1
+1 cho điểm chính của sự khác biệt giữa phần mềm chỉ định cấu trúc db so với thiết kế "tốt nhất" về bản chất của dữ liệu.
matt wilkie

Vâng, cả câu trả lời này và nhận xét của Matt tôi đồng ý. Nhưng điều tôi hy vọng là ai đó có thể giải thích tại sao điều này thường không được tuân theo. Tôi sẽ chỉnh sửa câu hỏi một chút.
Nicklas Avén

Tôi đồng ý. Một điều nữa tôi thấy là hiệu suất cơ sở dữ liệu có thể ảnh hưởng đến quyết định của bạn có bình thường hóa hay không. Trong một số trường hợp tôi thấy rằng hai cơ sở dữ liệu được sử dụng, một cơ sở dữ liệu 'chính' chứa dữ liệu được chuẩn hóa và một cơ sở dữ liệu thứ cấp được sử dụng chỉ cho mục đích hiển thị. Cái này chỉ chứa bất cứ thứ gì cần thiết để hiển thị dữ liệu (GIS), thường là trong một bảng duy nhất.
Berend

Để mở rộng điểm Berends, một trong những lý do góp phần cho sự không chuẩn hóa này là do các khung nhìn cụ thể hóa thường hơi khó và đặc thù DB để thực hiện, do đó, tốt hơn là chỉ tạo bảng / cơ sở dữ liệu của riêng bạn để lưu trữ dữ liệu không chuẩn.
Alexander

6

Tôi thấy điều này rất nhiều. Tôi cảm thấy rằng điều đó xuất phát từ thực tế là những người theo truyền thống GIS đến từ các nền tảng khảo sát và không có kiến ​​thức / hiểu biết về cơ sở dữ liệu. Mặc dù vậy, tôi đang thấy sự thay đổi này, khi ngày càng có nhiều tổ chức chuyển cơ sở hạ tầng GIS sang lĩnh vực CNTT.


1
đây cũng là cảm giác của tôi, nhưng tôi hy vọng theo một cách nào đó rằng lời giải thích giống như cuộc thảo luận của Pauls, rằng đó là một sự lựa chọn có chủ ý theo một cách nào đó. rằng sẽ cung cấp cho sence hơn với buissness GIS với rất nhiều từ lạ mắt, mô hình một" kỹ thuật hơn tìm ra rằng cơ sở dữ liệu ở phía dưới đã bị lạm dụng vì thiếu hiểu biết.
Nicklas Aven

1
xin lỗi, sử dụng sai là sai nếu nó là delibirate với một lý do tốt thì nó không phải là sử dụng sai.
Nicklas Avén

5

Di sản phần mềm GIS

Chi phí cao của ArcSDE trước đây và thiếu kiểu dữ liệu không gian trong SQL Server (cho đến năm 2008) và Oracle cho đến phiên bản 10, có nghĩa là có rất ít sự lựa chọn ngoài việc lưu trữ dữ liệu trong shapefiles cho nhiều tổ chức (và bởi các nhà thầu để giảm chi phí thầu) .

Việc giới thiệu các loại không gian bản địa trong SQL Server có nghĩa là gần như ngay lập tức ArcSDE đã đi từ một khoản đầu tư lớn, để được đưa vào miễn phí trong ArcGIS và "đưa vào" các dữ liệu không gian trong các tổ chức.

Các tổ chức sử dụng ArcGIS và SQL Server trước đây có ba lựa chọn:

  1. Trả phí 20k + để mua ArcSDE và lưu trữ dữ liệu không gian trong cơ sở dữ liệu SQL Server "phù hợp".
  2. Lưu trữ dữ liệu không gian trong shapefiles / GDB cá nhân và liên kết với phần còn lại của dữ liệu tổ chức trong cơ sở dữ liệu (hoặc xuất các thuộc tính này sang DBF)
  3. Chuyển đổi nhà cung cấp GIS và lưu trữ dữ liệu không gian trong một cơ sở dữ liệu duy nhất nhưng ở định dạng chỉ có thể truy cập bằng phần mềm GIS mới

Khi SQL Server có loại không gian riêng, hầu hết các nhà cung cấp đã sử dụng loại này thay vì các định dạng độc quyền của họ, có nghĩa là dữ liệu không gian có thể đột nhiên được truy cập bởi các ứng dụng khác. ESRI phải giảm chi phí ArcSDE (họ đã làm bằng cách tích hợp nó vào ArcGIS) và / hoặc cho phép dữ liệu không gian được lưu trữ ở định dạng cơ sở dữ liệu gốc.

Ngoài ra, các truy vấn được thực hiện trong ArcIMS trên shapefiles có nghĩa là được liên kết với DBF phải bao gồm tất cả các trường bắt buộc và sao chép vì không có tùy chọn để tạo chế độ xem không gian hoặc dễ dàng liên kết các tính năng với cơ sở dữ liệu phía sau.

Lý do tổ chức

Tôi đồng ý với những người khác rằng cho đến khi dữ liệu không gian gần đây trở thành một loại cơ sở dữ liệu nguyên gốc, từ lâu các nhà quản trị cơ sở dữ liệu đã bị bỏ qua hoặc giữ riêng biệt và trở thành trách nhiệm của người quản lý GIS. Các khái niệm về thiết kế cơ sở dữ liệu, chuẩn hóa, nhân rộng, bảo mật và các khung nhìn SQL đòi hỏi một bộ kỹ năng thường rất khác biệt và chuyên biệt và không thể dễ dàng học được khi bạn đi cùng.

Lý do chi phí

Giải thích trong đấu thầu yêu cầu số lượng lớn thời gian và công sức dành cho mô hình dữ liệu và việc làm sạch / nhập dữ liệu vào mô hình này thường là không thể. Thông thường những người mua dự án đang đến từ một cái nhìn phân tích về GIS và bỏ qua tầm quan trọng của dữ liệu có cấu trúc.


Tôi hiểu và đồng ý với hầu hết những gì bạn viết. Nhưng nói rằng phần SDE được cung cấp miễn phí sau khi đổi tên thành máy chủ ArcGIS, không giống như nói: Nếu bạn mua màu sắc đẹp mắt của chiếc xe này với giá 100000 đô la, bạn sẽ nhận được phần còn lại của chiếc xe miễn phí. Tôi không biết rõ về ArcGIS nhưng máy chủ ArcGIS không có phần SDE là gì? và tôi chưa bao giờ nghe ai nói rằng máy chủ ArcGIS rẻ. Tôi thực sự không thấy các loại không gian của SQL Server đã ảnh hưởng đến ArcGIS như thế nào. Nhưng vì các sản phẩm của Arc được phổ biến rộng rãi nên tôi đồng ý rằng con đường Arc có ảnh hưởng lớn đến cách mọi người nghĩ về dữ liệu không gian của họ.
Nicklas Avén

Trước ArcGIS Server, ArcSDE đã từng tách biệt hoàn toàn với ArcMap và ArcIMS và phải được mua và cấp phép riêng. Vì ArcSDE là cách duy nhất để lưu trữ dữ liệu không gian trong SQL Server (hoặc Oracle vào thời điểm đó), điều đó có nghĩa là dữ liệu không gian được lưu trữ ở nơi khác.
geographika

ok, ArcIMS trong gói với SDE là consept mới. Arcmap vẫn cần giấy phép riêng cho mỗi người dùng hoặc thả nổi, phải không? ngoài lề, nhưng tôi hơi tò mò.
Nicklas Avén

Không truy cập / lưu trữ dữ liệu không gian trong cơ sở dữ liệu quan hệ mà không phải trả thêm số tiền lớn là khái niệm mới. esri.com/software/arcgis/arcsde/index.html
geographika

máy chủ ArcGIS không phải là số tiền lớn? Theo như tôi biết, bạn không thể sử dụng định dạng fomat hoặc postgis sqls (không có ziggis) trong arcmap mà không có sde, xin lỗi ArcGIS Server ở giữa.
Nicklas Avén

4

Theo bảng 100 cột, tôi giả sử bạn có nghĩa là các loại đầu ra bạn nhận được từ việc xây dựng lớp phủ "bảo hiểm chính" của nhiều đầu vào. Có, đây là các tạo phẩm của quy trình Arc / INFO. Nhưng, trong phòng thủ, bạn cũng có thể nghĩ về chúng như là các bảng được khử chuẩn hóa một cách có chủ ý cho OLAP . Vì chúng đang được sử dụng chủ yếu để xử lý truy vấn, không phải để cập nhật dữ liệu, nên biểu mẫu không chuẩn hóa có ý nghĩa. Giống như một lược đồ sao , nhưng không có, er, điểm. OK, trà yếu, nhưng tôi vẫn nghĩ có gì đó ở đó.


1
vâng, Paul. Tôi biết sẽ có một số lời giải thích ngoài đó bao gồm những từ tôi không thực sự hiểu :-). Rất thú vị rằng có một lịch sử có chủ ý đằng sau này. Tuyệt quá!
Nicklas Avén

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.