LightRod Scalability

From LightRod

Jump to: navigation, search

One of the major issues with geo-POI searches is that it is a multi-dimensional request, which a standard database does not handle. The simple, but non-scalable solution is to calculate a distance to every point in the database from your request, and then sort the points by distance. However, consider the case when we have 1 million points or more in our database. This results in 1 million processor intensive distance calculations, which could take several minutes even on the fastest of servers.

The second solution, which many developers use, is to clip the points of interest to within a certain square radius and only calculate the distances to points which lie within the radius. This results in lost results outside the radius, and we still face scalability issues when the quantity of data is large within the radius.

The LightRod solution does not have any of these scalability issues, and makes use of Peano codes, that effectively converts a two dimensional plane into a one dimensional line, providing a proximity approximation in one dimension. The results can be any distance from the request, and any number of records can be used, with a constant request time.