[OSM-dev-fr] Une non base de données pour stoker les coordonnées des nodes...
Christian Quest
cquest at openstreetmap.fr
Mar 6 Déc 19:58:31 GMT 2011
Petit historique qui m'a amené à cette idée:
- j'aimerai purger un cache squid ou varnish des tuiles obsolètes en
parsant les minute-diff
- je découvre avec horreur que les diff ne contiennent pas les
coordonnées des noeuds des objets modifiés
- il faut donc maintenir une base pour avoir retrouver les coordonnées
des noeuds
D'où une idée sotte et grenue de maintenir un fichier "à plat" ne
stockant QUE les coordonnées des noeuds.
Vu que les ID des noeuds s'incrémentent et le peu de noeuds supprimés
sur les 1,5 milliards de noeuds créés depuis le début il n'y aura pas
trop de place de perdue.
Sachant que 24bits suffisent pour une précision de l'ordre de 2,5m, il
faut 6 octets par noeuds pour stocker sa position.
Le fichier "plat" fait 9Go pour les 1,5 milliards de noeuds actuels et
pour récupérer la position d'un noeud il suffit d'un fseek sur l'ID du
noeud x 6 puis d'un fread de 6 octets.
Si besoin, un tel fichier serait facile à mettre à jour d'une machine
à l'autre à grands coups de rsync...
Qu'en pensez-vous ? Ca vous inspire quoi ? Je préfère avoir votre avis
avant de coder quelque chose, je me méfie des fausses bonnes idées ;)
--
Christian Quest - OpenStreetMap France -
http://openstreetmap.fr/u/christian-quest
Plus d'informations sur la liste de diffusion dev-fr