MS SQL Spatial як центральний сховище даних?


9

Я працюю над тим, щоб відкрити наші просторові дані з системи власності до такої, яку можна прочитати більше продуктів (MapGuide, ESRI, gvSIG, Map3D тощо).

Я вирішив використовувати SQL Spatial, оскільки у нас є доступний сервер, і ми можемо досить легко через нього зв’язати інші системи.

Перш ніж я все зрозумію, як насправді використовувати його як наш центральний сховище даних, чи варто мені знати, що може значно знизити продуктивність?

Відповіді:


6

Моя відповідь стосується не продуктивності, але пам’ятайте, що ви обмежені простими функціями та обмеженим набором просторових запитів SQL. Не те, що це обов'язково погано, хоча я швидко знайшов своє бажання деяких запитів SQL, доступних у, наприклад, Postgres або Oracle. Прості функції, які мені справді подобаються, зберігаючи це просто, ви можете дотримуватися належних практик роботи з базами даних, і дозволяє перетворювати ваші дані в лінії, полігони, відносини, що завгодно.


2
Остання версія випускає криві / кругові дуги, а тип географії тепер має всі просторові функції, які має геометрія
geographika

5

В якості PostGIS та Oracle використовується індексація з кількома сітками, а не R-Tree.

Не пов'язані з продуктивністю, але, можливо, важливо:

Не підтримує перетворень координат.

Існує незначна різниця в синтаксисі SQL. Приклад:

SELECT * FROM table1 WHERE the_geom.STIntersects(geometry::STGeomFromText('POINT(100 100)',0));

Напевно, є ще декілька, але наразі я не можу їх запам'ятати :)


5

Кілька негативів:

  • як згадував Маріо, не використовуються вбудовані інструменти проектування, що для повторної передачі даних потрібне додаткове програмне забезпечення (корисні FME або GDAL)

  • продуктивності не вистачає для деяких просторових запитів (перетинає / всередині), а просторові індекси потрібно створювати вручну, хоча в наступному випуску Denali, очевидно, були значні поліпшення продуктивності та "автоматичні" просторові індекси

  • відсутність лінійних посилань (але їх можна додати за допомогою .NET-коду - див. нижче)

  • відсутність спільноти - є один пов’язаний проект відкритих джерел на веб- сайті http://sqlspatialtools.codeplex.com/ з невеликою активністю, тому драйвери та інструменти належать до випуску версій Microsoft. Не надто багато прикладів SQL.

  • MapServer і GDAL тепер мають драйвери SQL Server 2008, але вони з’явилися лише нещодавно - через кілька років після інших просторових баз даних.

З плюсу:

  • інтеграція з .NET. Як дозволяє SQL Server .NET код , який буде виконуватися в базі даних , що дозволяє funcitonality в .NET бібліотеки DLL і бібліотеки , які будуть включені в представлення, збережені процедури, тригери і т.д. бібліотеки , такі як http://projnet.codeplex.com/ можуть бути включено, щоб дозволити репроекції в базі даних.

  • Усі фірмові системи включають драйвери / завантажувачі SQL Server тощо.

  • у багатьох організаціях вже є DBA SQL Server, сервери, резервні копії

  • Студія управління SQL Server - це дуже приємний інструмент і включає просторову візуалізацію

  • Стандарти OGC для просторових методів та простих функцій


3

Якщо ваші дані зберігаються як географічні типи в глобальному масштабі, вам потрібно знати про обмеження півкулі .


Завдяки Кірку дані будуть зберігатися як геометрія, тому це не повинно бути проблемою, межі площі проекту порівняно невеликі, тому я успішно переніс приблизно 36000 функцій на sql (комунальні послуги, кадастр та інші різні елементи)
Джамо

Останній випуск Denali SQL Server включає підтримку просторових об'єктів по всьому світу - мабуть, "галузь спочатку для реляційних систем баз даних"
geographika
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.