Геошаші широко використовуються в таких продуктах, як: люцен, монгобб тощо, і стали однією з найважливіших технологій сучасності.
Чи замінили Geohashes добрі старі добрі R-дерева чи R-дерева мають якісь переваги порівняно з Geohashes?
Геошаші широко використовуються в таких продуктах, як: люцен, монгобб тощо, і стали однією з найважливіших технологій сучасності.
Чи замінили Geohashes добрі старі добрі R-дерева чи R-дерева мають якісь переваги порівняно з Geohashes?
Відповіді:
Geohash - це дуже простий і ефективний спосіб індексації просторових особливостей, особливо точкових. Особливості ліній та багатокутників індексувати важче, але це можна зробити. Geohash - це статична ієрархічна сітка з фіксованим розміром, накладена поверх земної поверхні. Осередки сітки одного ієрархічного рівня не перетинаються. R-Tree - це динамічна сітка, розміщення та розмір комірок змінюється залежно від особливостей, які вони індексують. Індекси R-Tree містять обмежувальні поля та комірки змінюються щоразу, коли ви вставляєте та оновлюєте дані. Geohash здебільшого використовується для індексації особливостей точок, і комірки не змінюються з кожним вставкою та оновленням даних. Клітини Geohash не відповідають характеристикам, як у R-дерева.
Деякі з переваг geohash (порівняно з r-tree) можуть бути:
Деякі з недоліків geohash (порівняно з r-tree) можуть бути:
Ті продукти (бази даних), про які ви згадали, використовують geohash, оскільки geohash використовується в основному для індексації точок, і є багато додатків, які потребують такої функції. Лінії та багатокутники не так часто використовуються (за винятком, звичайно, ГІС-застосунків), то чому б це не турбувати. Інша причина, звичайно, простота в реалізації. Geohash перетворює двовимірну координату в одновимірне значення. Це називається зменшенням розмірів. Одновимірне значення легко індексувати стандартним b-деревом, яке в основному використовується в цих продуктах.
Я мушу зазначити, що існують аналогічні алгоритми для геохаш, але більшість з них є власником і вимагають ліцензування. Geohash знаходиться у відкритому доступі. Це також може бути причиною такого великого використання в останні роки.
Мабуть, є і деякі інші переваги та недоліки, але це перші, які мені спадають на думку. Я сподіваюся, що моє пояснення трохи допомагає.