Geohashy są szeroko stosowane w produktach takich jak: Lucene, mongodb itp. I stały się jedną z najważniejszych technologii współczesnych.
Czy Geohashowie zastąpili stare dobre R-drzewa lub czy R-drzewa mają jakieś zalety w porównaniu z Geohashami?
Geohashy są szeroko stosowane w produktach takich jak: Lucene, mongodb itp. I stały się jedną z najważniejszych technologii współczesnych.
Czy Geohashowie zastąpili stare dobre R-drzewa lub czy R-drzewa mają jakieś zalety w porównaniu z Geohashami?
Odpowiedzi:
Geohash to bardzo prosty i skuteczny sposób indeksowania obiektów przestrzennych, w szczególności obiektów punktowych. Indeksowanie linii i wielokątów jest trudniejsze do indeksowania, ale można to zrobić. Geohash to statyczna, hierarchiczna siatka o stałym rozmiarze, nakładana na powierzchnię ziemi. Komórki siatki tego samego poziomu hierarchicznego nie nakładają się. R-Tree to dynamiczna siatka, której lokalizacja i rozmiar komórki zmieniają się w zależności od indeksowanych funkcji. Indeksy R-Tree zawierają ramki i komórki zmieniające się za każdym razem, gdy wstawiasz i aktualizujesz dane. Geohash jest najczęściej używany do indeksowania obiektów punktowych, a komórki nie zmieniają się przy każdej wstawce i aktualizacji danych. Komórki Geohash nie dostosowują się do funkcji takich jak w przypadku R-drzewa.
Niektóre zalety geohash (w porównaniu do r-drzewa) mogą być:
Niektóre z wad geohash (w porównaniu do r-drzewa) mogą być:
Te produkty (bazy danych), o których wspomniałeś, używają geohash, ponieważ geohash jest używany głównie do indeksowania punktów i istnieje wiele aplikacji, które potrzebują takiej funkcji. Linie i wielokąty nie są tak często używane (z wyjątkiem oczywiście aplikacji GIS), więc po co się tym przejmować. Innym powodem jest oczywiście łatwość wdrożenia. Geohash przekształca współrzędną dwuwymiarową na wartość jednowymiarową. Nazywa się to redukcją wymiarów. Jednowymiarową wartość można łatwo zindeksować za pomocą standardowego drzewa B, które jest najczęściej stosowane w tych produktach.
Muszę wspomnieć, że istnieją podobne algorytmy do geohash, ale większość z nich jest zastrzeżona i wymaga licencji. Geohash jest własnością publiczną. Może to być również przyczyną tak dużego wykorzystania w ostatnich latach.
Prawdopodobnie są też inne zalety i wady, ale te pierwsze przychodzą mi do głowy. Mam nadzieję, że moje wyjaśnienie trochę pomoże.