| Termin | Definicja |
|---|---|
| Indeks przestrzenny | Indeks przestrzenny to specjalizowana struktura przyspieszająca zapytania dotyczące danych geograficznych i geometrycznych. Jak działa indeks przestrzennyIndeks przestrzenny to struktura danych przeznaczona do przyspieszania wyszukiwania obiektów opisanych położeniem, kształtem albo zasięgiem. Stosuje się go do punktów, linii, wielokątów, prostokątów ograniczających oraz innych geometrii używanych w systemach informacji geograficznej i bazach danych. Zwykły indeks porządkuje wartości liniowe, takie jak liczby, daty lub tekst. Dane geometryczne mają natomiast kilka wymiarów i nie zawsze można je uporządkować w prostą sekwencję, dlatego wymagają mechanizmu uwzględniającego położenie na płaszczyźnie lub w przestrzeni. Podczas tworzenia indeksu system zapisuje uproszczony opis rozmieszczenia obiektów. Często wykorzystywany jest prostokąt ograniczający, czyli najmniejszy prostokąt obejmujący daną geometrię. Dzięki temu zapytanie może najpierw odrzucić obiekty znajdujące się poza interesującym obszarem, a dopiero później wykonać dokładne obliczenie geometryczne. Indeks nie zastępuje geometrii przechowywanej w tabeli i nie zmienia jej kształtu. Jest pomocniczym układem organizacji danych, który ogranicza liczbę rekordów wymagających szczegółowego sprawdzenia. Zapytania o obszar, odległość i relację geometrycznąIndeks przestrzenny jest przydatny przy zapytaniach, które dotyczą relacji między obiektami. Przykładem może być wyszukanie punktów znajdujących się w określonym prostokącie mapy, obiektów przecinających wskazany wielokąt albo elementów położonych w pobliżu danego punktu. W zależności od silnika bazy danych dostępne są operatory i funkcje badające między innymi przecięcie, zawieranie, stykanie, nakładanie się oraz odległość pomiędzy geometriami. Ważne jest rozróżnienie pomiędzy filtrem przybliżonym a dokładnym testem geometrycznym. Prostokąty ograniczające pozwalają szybko ustalić, że część obiektów na pewno nie może spełnić warunku, ale samo ich nakładanie się nie zawsze oznacza rzeczywiste przecięcie geometrii. Dlatego typowe zapytanie może składać się z dwóch etapów: wstępnego filtrowania z użyciem indeksu oraz dokładnej funkcji przestrzennej wykonywanej dla pozostałych rekordów. Takie podejście zmniejsza koszt obliczeń, szczególnie gdy tabela zawiera wiele obiektów rozproszonych na dużym obszarze. Warunki skutecznego wykorzystania indeksuSamo utworzenie indeksu nie gwarantuje przyspieszenia każdego zapytania. Optymalizator musi rozpoznać, że zastosowanie indeksu będzie korzystne, a warunek zapytania powinien mieć postać obsługiwaną przez konkretny silnik. Znaczenie ma również rodzaj geometrii, liczba wymiarów, układ współrzędnych, rozmiar obszaru wyszukiwania oraz rozkład danych. Zapytanie obejmujące niemal cały zbiór może wymagać odczytania tak wielu rekordów, że przejście po tabeli okaże się porównywalne albo szybsze od użycia indeksu. Na wydajność wpływa także aktualność statystyk i sposób modyfikowania tabeli. Dodawanie, usuwanie lub zmienianie geometrii powoduje konieczność utrzymywania struktury indeksowej, co zwiększa koszt operacji zapisu i może powiększać rozmiar danych na dysku. W praktyce warto porównywać plan wykonania zapytania przed utworzeniem indeksu i po jego utworzeniu, a następnie mierzyć rzeczywisty czas odczytu oraz liczbę przetwarzanych rekordów. Należy też sprawdzić, czy zapytanie korzysta z właściwego układu współrzędnych. Obliczenia na współrzędnych geograficznych i płaskich mogą mieć inne znaczenie, zwłaszcza gdy analizowana jest odległość lub powierzchnia. Indeks przestrzenny w codziennym środowisku komputerowymProblemy z wyszukiwaniem danych geometrycznych mogą wynikać zarówno z konfiguracji oprogramowania, jak i z ograniczeń sprzętowych komputera. Wysokie użycie procesora podczas obliczeń geograficznych, brak wolnego miejsca na dysku, niewystarczająca ilość pamięci operacyjnej albo uszkodzenia nośnika mogą powodować spowolnienia niezależne od samego projektu indeksu. Przy analizie warto sprawdzić, czy problem występuje przy jednym zbiorze danych, konkretnym zapytaniu lub całej aplikacji, a także czy proces tworzenia albo przebudowy indeksu kończy się poprawnie. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC oraz ich podzespołów, gdy problemy z działaniem aplikacji wynikają ze stanu komputera, dysku, pamięci lub systemu. W przypadku indeksu przestrzennego diagnoza po stronie oprogramowania powinna obejmować również komunikaty błędów, strukturę zapytania, dostępne miejsce na dane tymczasowe i stan urządzenia, na którym działa baza danych. Takie rozdzielenie pozwala ustalić, czy przyczyną jest nieprawidłowa konfiguracja indeksu, kosztowne zapytanie, czy problem techniczny komputera. |