maxmind ha il webservice, ma ovviamente e' a pagamento.

il db lite invece non e' un problema tenerlo aggiornato, se hai la possibilita' di impostare operazioni pianificate sul server. Basta fare uno scriptino da 3 righe, eseguito dal cron ogni mese, che scarica il file, lo decomprime e sposta il risultato nella cartella giusta.

Io quando implemento da qualche parte la geolocalizzazione preferisco scaricare il db in locale e tenerlo aggiornato con il cron. Interrogare un server esterno per ogni visita crea un certo overhead di banda/tempo di load/etc, sopratutto sulle risorse con parecchi visitatori.