I have a Django application that sits atop a MySQL database. Actually the database is MariaDB. But Django doesn't know that. As far as it is concerned, it's just MySQL.
My application needs to keep track of peoples' home addresses and run a query to find all addresses within a fixed distance from a certain coordinate. I guess I need to use GeoDjango to deal with this kind of spatial data.
My question is: do I need to switch from MySQL to PostgreSQL to do such queries? I have read that MySQL cannot do radius queries properly (it can only do bounding-box checks). Also, What is PostGIS and do I need to use it? For what?