Was ist der Unterschied zwischen ArcSDE und räumlich aktivierten Datenbanken?

28

Wann möchten Sie ArcSDE (verfügbar als ArcGIS Server Basic-Lizenzstufe) im Vergleich zu einer räumlich aktivierten Datenbank verwenden?

Was sind die Kompromisse auf beiden Seiten?

Was sind die Vorteile auf beiden Seiten?

TheSteve0
quelle
Das frühere ArcSDE-Produkt heißt jetzt ArcGIS Server Basic und ist in der Workgroup- oder der Enterprise-Version erhältlich.
Chris M

Antworten:

27

SDE [ArcSDE] kann sich auf mindestens zwei Dinge beziehen: die Organisation Ihrer Daten in der Datenbank (das SDE-Schema) oder einen Dienst, der auf Verbindungen von Clients wartet (den SDE-Dienst). Im Allgemeinen gehen sie Hand in Hand - der SDE-Dienst ist an ein SDE-Schema in einer Datenbank gebunden.

In seinem "reinsten" (oder vielleicht schmutzigsten) Zustand verarbeitet SDE alle räumlichen Berechnungen und speichert Daten in Ihrer Datenbank nur als BLOBs und andere native SQL-Typen. Einige Datenbankfunktionen, wie z. B. Text- oder XML-Indizierung, werden verwendet, um die Leistung zu verbessern. Im Allgemeinen "weiß" die Datenbank jedoch nicht, dass sie Geodaten bereitstellt. Es gibt nur eine Reihe von Tabellen, Ansichten und Prozeduren, und sie sind voller Daten und Funktionen.

Bei einer räumlich aktivierten Datenbank ist der Datenbank bekannt, dass die Daten einen Speicherort haben. So können Sie Standortabfragen direkt in Ihre SQL-Anweisungen einfügen. Vielleicht ist das eine gute Sache für Sie, es hängt wirklich davon ab, wer Ihre Daten verbraucht. Wenn Ihre Datenkonsumenten SQL fließend beherrschen, ist das großartig! Wenn Ihre Datenkonsumenten ArcMap fließend beherrschen, ist ihnen das wahrscheinlich egal.

In jüngerer Zeit ist es uns gelungen, beides zu kombinieren, indem SDE zur Übersetzung in einen zugrunde liegenden nativen räumlichen Typ verwendet wurde. Darüber hinaus können wir "Direct Connect" verwenden, um den SDE-Service zu umgehen und die Consumer-Anwendung (ArcMap, ArcGIS-Server usw.) direkt mit der Datenbank verbinden. Persönlich hatte ich mit direkten Verbindungen unterschiedliche Erfolge.

Vorteile bei der Verwendung von ArcSDE:

  • Nahtlose Integration mit ESRI-Clients
  • Gute Leistung
  • Einige zugrunde liegende Datenbankfunktionen können verfügbar gemacht werden (räumliche Ansichten, Indizes).

Nachteile bei der Verwendung von SDE:

  • Es kann schwierig sein, beschädigte Daten wiederherzustellen
  • Die Lizenz ist an die Datenbank gebunden
  • Kein einfacher Zugriff auf Geometrie ohne Verwendung der ESRI-Software

Vorteile einer räumlich aktivierten Datenbank:

  • Daten für jeden SQL-Client leicht zugänglich
  • Daten können mit vorhandenen DB-Tools verwaltet werden (Backup, Restore, Analyse)
  • Offene Formate verfügbar

Nachteile bei der Verwendung einer räumlich aktivierten Datenbank:

  • Clients (Software) können möglicherweise keine direkte Verbindung zu Ihren Daten herstellen und müssen möglicherweise ineffiziente Protokolle oder Exporte verwenden, um sie anzuzeigen
  • Raumbezüge sind manchmal schwierig anzuwenden oder konsistent zu halten
  • Könnte zusätzlichen Konfigurations- oder Verwaltungsaufwand verursachen

Ich habe mehr Erfahrung mit normalem SDE, daher gibt es wahrscheinlich mehr Punkte für die räumlich aktivierte Datenbank.

Hoffe das hilft!

Wanderer
quelle
1
Sie würden die ESRI-Lizenz verletzen, wenn Sie direkt und nicht über den SDE-Dienst auf die Daten zugreifen.
CrazyEnigma
9
Es liegt kein Verstoß vor. ESRI-Direktverbindung verwendet keinen SDE-Dienst (zumindest auf der Serverseite). Darüber hinaus haben sie zahlreiche Artikel über die Verwendung von PostGres, MSSQL und WKT als räumlichen Speichertyp bei Verwendung von SDE veröffentlicht, mit denen Sie direkt mit den räumlichen Daten kommunizieren können. Und mehr als einmal musste ich SDE bereinigen, indem ich direkt auf Daten zugegriffen habe, als es kaputt ging. Ein weiterer Vorteil räumlich aktivierter Datenbanken besteht darin, dass die Datenbank die Arbeit erledigen kann, anstatt alle Daten auf einen Client zu übertragen und von ihm ausführen zu lassen.
Westyvw
3
@ CrazyEnigma: Zitat erforderlich.
Derek Swingley
Tolle Beschreibung von SDE vs ST Geometry @mwalker Thanks
CDBrown
2
Bezüglich der räumlichen Bezüge denke ich, dass es das Gegenteil ist. Raumbezüge in PostGIS sind Standard und die SRIDs sind die gleichen wie die EPSG-Codes für den anwendbaren SRS. Bei SDE enthalten die SRIDs mindestens das 9,3-fache Ausmaß usw., sodass Sie möglicherweise zwei verschiedene SRIDs für dasselbe räumliche Bezugssystem haben. Dies führt zu Problemen, wenn Sie räumliches SQL verwenden möchten.
DavidF
3

Hier ist meine einzeilige Antwort: Verwenden Sie SDE, wenn Sie Mehrbenutzerzugriff auf Ihre Geodaten benötigen.

Angenommen, Sie möchten, dass mehrere Benutzer Ihre Daten bearbeiten: Verwenden Sie SDE. Angenommen, Sie möchten Daten bereitstellen und über das Web bearbeiten lassen: Verwenden Sie SDE. Wenn Sie ein kleiner Laden mit einem GIS-Mitarbeiter sind, verwenden Sie SDE nicht.

Wenn Sie die einzige Person sind, die Ihre Geodaten verwendet, ist SDE nichts für Sie. Wenn Sie keine Mehrbenutzerbearbeitung benötigen, ist SDE nichts für Sie. Verwenden Sie besser eine File-GeoDatabase.

Was Kompromisse angeht ... SDE ist nicht einfach einzurichten oder zu verwalten. Sie müssen ein RDBMS verwenden.

SDE ist für größere Organisationen gedacht, in denen eine Datenbank benötigt wird, jedoch mehrere Benutzer auf Daten zugreifen und diese aktualisieren / bearbeiten müssen.

Derek Swingley
quelle
1
Ich meine, Arc-Produkte sind ziemlich schlecht, wenn es um Umgebungen mit mehreren Benutzern geht. Es scheint eine Menge Dinge zu geben, die nicht getan werden können, wenn Menschen verbunden sind. Wenn Leistung und eine robuste Mehrbenutzerumgebung wichtig sind, muss es besser sein, das RDBMS die ganze Arbeit erledigen zu lassen, ohne dass schmutzige Mittelware erforderlich ist. Aber es sieht so aus, als müsste ich zugeben, die Box meine ich :-)
Nicklas Avén
2
Ich stimme Nicklas zu. Ihr Vergleich ist in der Arc-Welt sinnvoll, aber SDE eignet sich nicht für Mehrbenutzer. Ein räumlich aktiviertes RDBMS wie PostGIS hat in diesem Bereich Vorteile. Haben Sie jemals versucht, einem Benutzer Rechte für einen SDE-Datensatz zu gewähren, den ein anderer Benutzer anzeigt?
DavidF
Ja, ich bin auf das Problem gestoßen, das Sie mit dem Gewähren von Berechtigungen beschreiben. Ich bin mir nicht sicher, ob es immer noch ein Problem ist, da ich in ein paar Jahren keine SDE-GDB mehr verwalten musste. Zuschüsse sollten nicht durch Schlösser blockiert werden. Wie geht postgres / postgis mit der Mehrbenutzerbearbeitung um?
Derek Swingley
0

Heutzutage erlauben die meisten räumlichen Datenbanken mehrere räumliche Spalten in einer Tabelle, während SDE für eine Tabelle an einer räumlichen Spalte festhält. Sie haben auch räumliche Daten in ihre flexiblen und leistungsstarken Datenverwaltungstools integriert, die SDE nicht bietet, wie z. B. Benutzer-Sachems, Datenreplikation, SQL-Unterstützung usw.

ESRI SDEBinary ist der schnelle Performer. Wenn es um ST_GEOMETRY geht, hat SDE möglicherweise nicht die beste Leistung.

Platz - Zilla
quelle