Здесь много вопросов.
Во-первых, файл представляет собой базу данных - он хранит данные. Существует множество моделей баз данных - реляционных, иерархических, объектно-ориентированных, векторных, гиперкубов, хранилищ ключей ... Существуют варианты реализации всех этих программ.
Некоторые базы данных более подходят для управления определенными структурами данных, чем другие. Геопространственные данные являются общей специализацией - настолько, что многие другие типы баз данных будут обеспечивать векторную функциональность (например, mysql и postgresql, которые являются реляционными базами данных).
Для большинства систем баз данных приложение, использующее службы базы данных, не обращается к файлу данных напрямую - вместо этого доступ осуществляется через другой процесс - это особенно актуально для PHP, поскольку обычно он выполняется как несколько независимых процессов без сложного файла. функциональность блокировки.
Так что, если вы хотите самостоятельно внедрить IP в географическую информацию, я бы порекомендовал придерживаться реляционной базы данных или хранилища ключей nosql (вам не нужны геопространственные данные для прямого поиска).
Но имейте в виду, что данные IP to geo lookup далеко не так точны / точны, как люди, продающие продукты, могли бы верить. Если ваша цель - получить точную информацию о местоположении ваших пользователей, HTML5 API геолокации предоставляет намного лучшие данные - проблема заключается в доступности функциональности в браузерах пользователей.