Kiedy chcesz używać ArcSDE (dostępnego na poziomie licencji ArcGIS Server Basic), a nie bazy danych z obsługą przestrzenną?
Jakie są kompromisy po obu stronach?
Jakie są korzyści po obu stronach?
Komentarze
- To, co kiedyś było produktem ArcSDE, teraz nazywa się ArcGIS Server Basic i jest dostępny w wersjach Workgroup lub Enterprise.
Odpowiedź
SDE [ArcSDE] może odnosić się przynajmniej do dwie rzeczy: organizacja Twoich danych w bazie danych (Schemat SDE) lub usługa nasłuchująca połączeń od klientów (usługa SDE). Generalnie idą w parze – usługa SDE jest powiązana ze schematem SDE w bazie danych.
W swoim „najczystszym” (lub być może najbrudniejszym) stanie, SDE obsługuje wszystkie obliczenia przestrzenne i tylko przechowuje dane w bazie danych jako obiekty BLOB i inne natywne typy SQL. Niektóre funkcje bazy danych, takie jak indeksowanie tekstu lub XML, są używane do poprawy wydajności, ale generalnie baza danych nie „wie”, że obsługuje dane przestrzenne. Jest tylko kilka tabel, widoków i procedur, które są pełne danych i funkcji.
W przypadku bazy danych z obsługą przestrzenną baza danych JEST świadoma, że dane mają swoją lokalizację. Możesz więc umieszczać zapytania o lokalizację bezpośrednio w swoich instrukcjach SQL. Być może jest to dla Ciebie korzystne , to naprawdę zależy od tego, kto zużywa Twoje dane. Jeśli konsumenci danych biegle posługują się językiem SQL, to świetnie! Jeśli konsumenci danych biegle posługują się ArcMap, prawdopodobnie mniej się przejmą.
Niedawno byliśmy w stanie połączyć te dwa elementy, używając SDE do tłumaczenia na podstawowy natywny typ przestrzenny. Ponadto możemy użyć „połączenia bezpośredniego”, aby ominąć usługę SDE i po prostu pozwolić aplikacji konsumenckiej (ArcMap, serwer ArcGIS itp.) Połączyć się bezpośrednio z bazą danych. Osobiście miałem różne poziomy sukcesu dzięki bezpośrednim kontaktom.
Korzyści z używania ArcSDE:
- Bezproblemowa integracja z klientami ESRI
- Dobra wydajność
- Niektóre podstawowe funkcje bazy danych mogą zostać ujawnione (widoki przestrzenne, indeksy)
Wady korzystania z SDE:
- Może być trudny do odzyskania z uszkodzonych danych
- Licencja jest powiązany z bazą danych
- Brak łatwego dostępu do geometrii bez użycia oprogramowania ESRI
Korzyści dla bazy danych z obsługą przestrzenną:
- Łatwe dane dostępne dla każdego klienta SQL
- Danymi można zarządzać za pomocą istniejących narzędzi bazy danych (tworzenie kopii zapasowych, przywracanie, analiza)
- Dostępne otwarte formaty
Wady korzystanie z bazy danych z obsługą przestrzenną:
- Klienci (oprogramowanie) mogą nie być w stanie połączyć się bezpośrednio z Twoimi danymi i mogą być zmuszeni do użycia niewydajnych protokołów lub eksportu, aby je zobaczyć
- Odniesienia przestrzenne są czasami trudne do zastosowania lub utrzymania spójności
- Może to wiązać się z dodatkowymi kosztami konfiguracji lub zarządzania
Mam m więcej doświadczenia ze zwykłym SDE, więc prawdopodobnie będzie więcej punktów dla bazy danych z obsługą przestrzenną.
Mam nadzieję, że to pomoże!
Komentarze
- Naruszyłbyś licencję ESRI, gdybyś miał dostęp do danych bezpośrednio, a nie przez usługę SDE.
- Nie ma naruszenia. Bezpośrednie połączenie ESRI nie korzysta z usługi SDE (przynajmniej na końcu serwera). Ponadto opublikowali wiele artykułów na temat wykorzystania PostGres, MSSQL i WKT jako typu magazynu przestrzennego przy użyciu SDE, który umożliwia bezpośrednią komunikację z danymi przestrzennymi. I nieraz musiałem wyczyścić SDE, uzyskując bezpośredni dostęp do danych, gdy się zepsuło. Kolejną zaletą baz danych z obsługą przestrzenną jest to, że baza danych może wykonać pracę, zamiast przenosić wszystkie dane do klienta i zlecać to wykonanie pracy.
- @CrazyEnigma: potrzebne źródło.
- świetny opis SDE vs ST Geometry @mwalker Dzięki
- re: odniesienia przestrzenne, myślę, że jest odwrotnie. Odniesienia przestrzenne w PostGIS są standardowe, a numery SRID są takie same jak kody EPSG dla odpowiednich SRS. W przypadku SDE, co najmniej 9,3x, SRIDS zawierają zakresy itp., Więc możesz mieć dwa różne identyfikatory SRID dla tego samego przestrzennego systemu odniesienia. Powoduje to problemy, jeśli chcesz używać przestrzennego języka SQL.
Odpowiedź
Oto moja jedna linia odpowiedzi: Użyj SDE, gdy potrzebujesz dostępu wielu użytkowników do swoich danych geoprzestrzennych.
Powiedzmy, że chcesz, aby wielu użytkowników mogło edytować swoje dane: użyj SDE. Powiedzmy, że chcesz udostępniać dane i zezwalać na ich edycję w Internecie: użyj SDE. Jeśli jesteś małym sklepem z jednym facetem od GIS, nie używaj SDE.
Jeśli „jesteś jedyną osobą używającą twoich danych przestrzennych, SDE nie jest dla ciebie”. Jeśli nie potrzebujesz edycji dla wielu użytkowników, SDE nie jest dla ciebie. Lepiej jest użyć pliku GeoDatabase.
Co do kompromisów … Konfiguracja SDE lub zarządzanie nią nie jest łatwe. Musisz używać RDBMS.
SDE jest przeznaczone dla większych organizacji, w których potrzebna jest jedna baza danych, ale kilku użytkowników musi mieć dostęp do danych i je aktualizować / edytować.
Komentarze
- Mam na myśli, że produkty Arc są dość kiepskie, jeśli chodzi o środowiska wielu użytkowników. Wydaje się, że jest wiele rzeczy, których ' nie można zrobić, gdy ludzie są połączeni. Jeśli ważna jest wydajność i solidne środowisko dla wielu użytkowników, trzeba lepiej pozwolić RDBMS na wykonanie całej pracy, bez angażowania brudnych produktów pośrednich, które spowalniają wszystko i blokują wszystko. Ale wygląda fajnie muszę przyznać, pudełko mam na myśli 🙂
- Zgadzam się z Nicklasem. Twoje porównanie ma sens w świecie Arc, ale SDE nie jest świetne w przypadku wielu użytkowników. Obsługiwane przestrzennie RDBMS, takie jak PostGIS, ma zalety w tej dziedzinie. Czy kiedykolwiek próbowałeś przyznać użytkownikowi prawa do zbioru danych SDE, który przegląda ktoś inny?
- Tak, ' natknąłem się na problem ' ponownie opisuję nadawanie uprawnień. Nie jestem pewien, czy ' nadal stanowi problem, ponieważ nie ' nie musiałem administrować SDE GDB w ciągu kilku lat. Grantów nie należy blokować zamkami. Jak postgres / postgis radzi sobie z edycją wielu użytkowników?
Odpowiedź
Obecnie większość przestrzennych dbs umożliwia kolumny w jednej tabeli, podczas gdy SDE trzyma się jednej kolumny przestrzennej dla jednej tabeli. Mają również zintegrowane dane przestrzenne z ich elastycznymi i potężnymi narzędziami do zarządzania danymi, których brakuje SDE, takimi jak sachemy użytkowników, replikacja danych, obsługa SQL itp.
ESRI SDEBinary jest szybkim narzędziem. Jeśli chodzi o ST_GEOMETRY, SDE może nie mieć najlepszej wydajności.