좋은 데이터베이스 디자인은 공간 데이터베이스에 덜 중요합니까?


15

공간 데이터를 다룰 때 데이터베이스 디자인과 정규화가 종종 사용된다는 느낌이 듭니다.

100 개가 넘는 필드 테이블이있는 소프트웨어 및 재산 비용으로 데이터베이스를 요청해야합니다.

공간 데이터베이스를 설계 할 때 정규화 이외의 다른 고려 사항을 고려해야하는 이유가 있습니까?

나는 사람들이 예제를 요구할 것이라고 생각하지만 여기서는 말할 수 없기 때문에 내 질문은 아마도 100 개의 필드가 문제가없고 적절한 표준화 된 디자인보다 유지하기 쉽다는 것을 의미하는 사람들을위한 것입니다.

논쟁은 무엇입니까?


ArcGIS의 경우 노출 된 데이터베이스 기능으로 제한되고 ArcGIS가 지원하는 참조 무결성을 가진 정규화 된 데이터베이스는 달성하기 어렵습니다. 이것은 관계형 데이터베이스 녀석으로서 매우 실망 스럽습니다 ... 중간에 ArcSDE와 함께 전화 게임을하는 것.
nw1

답변:


16

공간 데이터베이스는 기존 데이터베이스와 다르게 취급해서는 안된다고 생각합니다. 빠른 검색을 위해 많은 양의 데이터를 저장하여 본질적으로 동일한 작업을 수행합니다. 예를 들어 PostgreSQL / PostGIS에서 지오메트리는 또 다른 데이터 유형입니다. 텍스트 나 정수처럼. SQL Server 2008에서도 동일합니다. Oracle에서도 동일합니다. "공간"부분이 데이터베이스의 다른 필드 유형 인 경우 원래 데이터베이스와 실제로 다른가요? 이것이 전통적인 데이터베이스 디자인의 모든 규칙을 포기해야한다는 것을 의미합니까?

기존 데이터베이스와 마찬가지로 정규화가 너무 멀리 진행될 수 있으므로 사용자의 요구에 맞는 최상의 디자인을 찾는 것이 절충됩니다.

100 개의 열로 구성된 표를 사용하여 고도로 비정규 화 된 구조를 만들 계획이라면 앞으로 어떤 변화가 있을지 스스로에게 물어봐야합니까? 행이 크게 증가하면 쿼리 성능에도 영향을 미칩니 까? 향후 유지 관리에 영향을 미치나요?

정규화 된 구조를 만들고 뷰를 사용하여 모든 데이터를 데이터베이스 클라이언트, GIS 또는 다른 클라이언트에 노출시키는 데 문제가 있습니까?

이러한 모든 질문은 기존 데이터베이스와 공간 데이터베이스 모두에 적용됩니다. http://en.wikipedia.org/wiki/Database_normalization거치면 공간 데이터베이스에도 적용됩니다.

데이터베이스 위에서 사용중인 소프트웨어가 고도로 비정규 화 된 구조를 사용하도록 강요하는 경우 이는 다른 주장입니다. 데이터베이스가 아닌 소프트웨어에 의해 제한되므로 최상의 데이터베이스 디자인을 선택할 수 없습니다.

따라서 짧은 대답은 (제 생각에) 데이터베이스 디자인은 기존 데이터베이스와 마찬가지로 공간 데이터베이스에서도 중요하다고 생각합니다.


1
DB 구조를 지시하는 소프트웨어와 데이터의 특성상 "최상의"디자인을 구분하는 핵심 요소 인 경우 +1입니다.
매트 윌키

예,이 답변과 Matt의 의견은 모두 동의합니다. 그러나 내가 희망하는 것은 누군가 왜 이것이 그렇게 자주 따르지 않는지를 설명 할 수 있다는 것입니다. 질문을 약간 편집하겠습니다.
Nicklas Avén

나는 동의한다. 내가 찾은 또 하나의 사실은 데이터베이스 성능이 정규화 여부에 대한 결정에 영향을 줄 수 있다는 것입니다. 경우에 따라 정규화 된 데이터를 포함하는 하나의 '마스터'데이터베이스와 표시 용도로만 사용되는 보조 데이터베이스 인 두 개의 데이터베이스가 사용되는 것을 알 수 있습니다. 여기에는 일반적으로 단일 테이블에 (GIS) 데이터를 표시하는 데 필요한 모든 항목 만 포함됩니다.
Berend

Berends 포인트를 확장하기 위해,이 비정규 화의 주된 이유 중 하나는 구체화 된 뷰가 구현하기에 약간 어렵고 DB에 따라 다르기 때문에 일반적으로 자체 테이블 / 데이터베이스를 만들어 비정규 화 된 데이터를 저장하는 것이 좋습니다.
Alexander

6

나는 이것을 많이 본다. 나는 전통적으로 GIS 사람들이 설문 조사 배경에서 왔으며 데이터베이스에 대한 배경 / 이해가 없다는 사실에서 비롯된 것이라고 생각합니다. 점점 더 많은 조직이 GIS 인프라를 IT 부서로 옮기면서 이러한 변화가 일어나고 있습니다.


1
이것은 저의 느낌이기도하지만 어떤면에서는 설명이 바울의 토론과 비슷하고 어떤면에서는 의도적 인 선택이기를 바랍니다.
저기서

1
죄송합니다, 오용이 잘못되었습니다. 정당한 사유가있는 경우에는 오용되지 않습니다.
Nicklas Avén

5

GIS 소프트웨어 레거시

이전의 높은 ArcSDE 비용과 SQL Server (2008 년까지) 및 Oracle 버전 10까지의 공간 데이터 유형이 없었기 때문에 많은 조직에서 데이터를 셰이프 파일에 저장하는 것 외에 입찰 비용을 낮출 수있는 선택의 여지가 거의 없었습니다. .

SQL Server에 기본 공간 유형이 도입됨에 따라 ArcSDE는 대규모 투자에서 ArcGIS에 무료로 포함되고 조직에서 공간 데이터의 "접이식"에 들어갔습니다.

ArcGIS 및 SQL Server를 사용하는 조직은 이전에 세 가지 중에서 선택할 수있었습니다.

  1. ArcSDE를 구입하고 "적절한"SQL Server 데이터베이스에 공간 데이터를 저장하려면 20k + 이상의 요금을 지불하십시오.
  2. 공간 파일을 shapefile / 개인 GDB에 저장하고 데이터베이스의 나머지 조직 데이터에 연결하거나 이러한 속성을 DBF로 내보내십시오.
  3. GIS 공급 업체를 전환하고 공간 데이터를 단일 데이터베이스에 저장하지만 새로운 GIS 소프트웨어에서만 액세스 할 수있는 형식으로 저장

SQL Server에 기본 공간 유형이 있으면 대부분의 공급 업체가 독점 형식 대신이 형식을 사용하므로 다른 응용 프로그램에서 공간 데이터에 갑자기 액세스 할 수 있습니다. ESRI는 ArcSDE 비용 (ArcGIS에 통합하여 수행 한 비용)을 줄이거 나 공간 데이터를 기본 데이터베이스 형식으로 저장해야했습니다.

또한 DBF와 연관된 쉐이프 파일에 대해 ArcIMS에서 수행 된 쿼리는 공간 뷰를 작성하거나 백엔드 데이터베이스와 기능을 쉽게 링크 할 수있는 옵션이 없기 때문에 모든 필수 필드 및 복제를 포함해야했습니다.

조직 이유

나는 최근에 공간 데이터가 기본 데이터베이스 유형이 될 때까지 조직의 데이터베이스 관리자에 의해 오랫동안 무시되거나 분리되어 GIS 관리자의 책임이되었다는 것에 동의합니다. 데이터베이스 디자인, 정규화, 복제, 보안 및 SQL보기의 개념에는 매우 다르고 전문화 된 기술이 필요하며 진행하면서 쉽게 배울 수 없습니다.

비용 이유

데이터 모델에 많은 시간과 노력이 필요하다는 것을 부드럽게 설명하고 데이터를이 모델로 정리 / 가져 오기하는 것은 종종 불가능합니다. 종종 프로젝트 구매자는 GIS에 대한 분석적 관점에서 왔으며 구조화 된 데이터의 중요성을 간과합니다.


나는 당신이 쓰는 것을 이해하고 동의합니다. 그러나 ArcGIS 서버로 이름을 바꾼 후 SDE 부분이 무료로 제공된다고 말하는 것은 그렇지 않습니다.이 자동차의 멋진 색상을 100000 달러에 구입하면 나머지 자동차는 무료로 얻을 수 있습니다. ArcGIS를 잘 모르지만 SDE 부분이없는 ArcGIS 서버 란 무엇입니까? ArcGIS 서버가 저렴하다고 말하는 사람은 없습니다. SQL Server 공간 유형이 ArcGIS에 어떤 영향을 미치는지 실제로 알 수 없습니다. 그러나 Arc 제품이 널리 보급되어 있기 때문에 Arc Road는 사람들이 자신의 공간 데이터를 어떻게 생각하는지에 큰 영향을 미친다는 데 동의합니다.
Nicklas Avén

ArcGIS Server 이전에는 ArcSDE가 ArcMap 및 ArcIMS와 완전히 분리되어 있었으며 별도로 구입하여 라이센스를 받아야했습니다. ArcSDE가 SQL Server (또는 당시 Oracle)에 공간 데이터를 저장하는 유일한 방법이므로 공간 데이터가 다른 곳에 저장되었다는 의미입니다.
geographika

SDE와 함께 패키지로 제공되는 ArcIMS가 새로운 개념입니다. Arcmap은 여전히 ​​사용자마다 또는 별도의 라이센스가 필요합니까? 주제가 아닌데 조금 궁금합니다.
Nicklas Avén

많은 양의 추가 비용을 지불하지 않고 관계형 데이터베이스에 공간 데이터를 액세스 / 저장하지 않는 것이 새로운 개념이었습니다. esri.com/software/arcgis/arcsde/index.html
geographika

ArcGIS 서버는 많은 돈이 아닙니까? 지금까지 나는 sde없이 arcmap에서 sqlserver fomat 또는 postgis 형식 (ziggis없이)을 사용할 수 없다는 것을 알고 있습니다. 죄송합니다.
Nicklas Avén

4

100 열 테이블이란 다중 입력의 "마스터 커버리지"오버레이를 구축하여 얻을 수있는 출력의 종류를 의미한다고 가정합니다. 예, 이들은 Arc / INFO 워크 플로우의 인공물입니다. 그러나 방어에서는 의도적으로 OLAP의 비정규 화 된 테이블이라고 생각할 수도 있습니다 . 데이터 업데이트가 아닌 쿼리 처리에 주로 사용되므로 비정규 화 된 형식이 의미가 있습니다. 유사한 스타 스키마 하지만, 어, 포인트없이. 좋아, 약한 차이지만 여전히 거기에 뭔가 있다고 생각합니다.


1
네, 폴 나는 정말로 이해하지 못하는 단어를 포함하여 설명이있을 것이라는 것을 알았습니다 :-). 이것 뒤에 고의적 인 역사가 있다는 것이 매우 흥미 롭습니다. 큰!
Nicklas Avén

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.