Geospatial queries, reinvented

Click for: original source

In this article author goes through the details of how Beat managed to achieve lightning fast queries during the driver dispatching process; getting the nearest driver to a passenger. by Fotis Papadopoulos.

In a nutshell, spatial indexing refers to a rather broad set of techniques that enable fast and efficient indexing of spatial objects in software applications. Spatial objects can represent points on a plane, polygons of arbitrary shapes, lines and pretty much every geometry. It is supported by several mainstream databases, some of which offering very sophisticated and highly scalable APIs, such as PostgreSQL with PostGIS extension.

The article is split into:

  • Spatial indexing
  • The initial approach
  • Boosting our queries
  • Google S2 geometry framework
  • Hashicorp’s Go MemDB
  • Search example

… and much more. Go MemDB is a simple in-memory database, built on immutable radix trees (compact prefix trees). It provides Atomicity, Consistency and Isolation from the ACID set of database properties. Durability is not supported due to its in-memory nature, but you can always backup your data as frequently as you want. Nice one!

[Read More]

Tags software-architecture google data-science database