Вступление

В общем существует много способов работы с гео данными.

  1. KD-Tree
  2. BKD-Tree
  3. Quad-Tree
  4. GeoHash
  5. R-Tree

В нашем случае мы будем использовать связку GeoHash (для кеша) и BKD-Tree для Elastic. Но также я представлю материалы по KD-Tree & Quad-Tree.

⁉️Я уже слышу твои комментарии: “Да зачем погружаться так глубоко, поставил БД и все тип-топ”. К сожалению, нет. На более высокие позиции любят спрашивать: ”Почему такой подход, а не иной”. И если ты не умеешь дать четкого объяснения и провести сравнение — ты обречен. Реальный кейс: в моем отделе отказали в найме на senior грейд (дали middle+), так как кандидат на собесе не показал широту знаний и вариаций в подходах