Migration

Nominatim selbst hosten oder einen gehosteten Drop-in nutzen

Nominatim selbst zu hosten ist ein legitimer, gut dokumentierter Weg, und viele Organisationen betreiben es erfolgreich, besonders solche mit triftigen Gründen, ihre Geokodierungsinfrastruktur vollständig im eigenen Netzwerk zu halten. Doch der Kompromiss ist real und sollte klar benannt statt beschönigt werden: Sie übernehmen das Herunterladen und Importieren eines OpenStreetMap-Datenextrakts, die Bereitstellung von genug Speicherplatz und Arbeitsspeicher, um Abfragen in akzeptabler Geschwindigkeit zu beantworten, die einigermaßen aktuelle Pflege dieser Daten, während sich OpenStreetMap selbst weiterentwickelt, und den Betrieb des Servers mit der Verfügbarkeit, die Ihre Anwendung benötigt.

Nichts davon ist schwierig in dem Sinne, dass es obskur oder undokumentiert wäre. Es ist schwierig in dem Sinne, dass es nie aufhört. Eine selbst gehostete Nominatim-Instanz, die am Tag ihres Starts gut funktionierte, kann ein Jahr später an Aktualität verlieren, wenn niemand den Aktualisierungsprozess eingeplant hat, und herauszufinden, warum eine bestimmte Adresse nicht mehr korrekt gefunden wird, erfordert Verständnis sowohl der Nominatim-Software als auch der Datenkonventionen von OpenStreetMap.

Ein gehosteter Drop-in-Ersatz nimmt Ihnen diese Betriebsebene vollständig ab, um den Preis, dass Ihr Geokodierungs-Traffic über die Infrastruktur eines Dritten statt über Ihre eigene läuft. Das ist die eigentliche Entscheidung, um die es hier geht, und keine Frage, ob eine Option schlicht besser ist.

Der Nominatim-Kompatibilitäts-Host von My Geocode bildet exakt die Antwortstruktur nach, die eine selbst gehostete oder öffentliche Nominatim-Instanz zurückgibt: display_name, lat und lon als Strings sowie ein Adressobjekt mit den Feldnamen von OpenStreetMap wie suburb und postcode, wobei sich nur die Texte zu Urheberrecht, Nutzungsbedingungen und Datenschutz unterscheiden. Details finden Sie unter /compatibility/nominatim/. Code, der für eine selbst gehostete Instanz geschrieben wurde, sollte nur eine Änderung von Host und Authentifizierung benötigen, da die Feldstruktur erhalten bleibt.

Einige Fragen, die Sie ehrlich beantworten sollten, bevor Sie sich für einen der beiden Wege entscheiden:

  • Hat Ihre Organisation einen konkreten Compliance- oder Datenresidenz-Grund, den das Selbsthosting erfüllt und ein gehosteter Dienst nicht
  • Wie viel Entwicklungszeit fließt derzeit in die Wartung der selbst gehosteten Instanz, und was wäre diese Zeit an anderer Stelle wert
  • Ist Ihr Traffic-Volumen hoch und stetig genug, dass sich Infrastrukturkosten bereits rechnen, oder schwankt es so, dass vorhersehbare Kosten pro Anfrage oder ein Abonnement besser damit umgehen

Spricht die Antwort dafür, die selbst gehostete Infrastruktur aufzugeben, erfolgt die Authentifizierung auf der gehosteten Seite über einen Schlüssel, der als X-API-Key, Authorization: Bearer, per HTTP Basic Auth oder als Query-Parameter gesendet wird, und ersetzt die auf dem User-Agent basierende Nutzungsrichtlinie, die eine öffentliche Nominatim-Instanz erwartet. Die Preise umfassen 2.500 kostenlose Anfragen pro Tag ohne Schlüssel, 2.500 weitere kostenlose Anfragen pro Schlüssel und Tag, gezählt pro Netzwerk, danach Prepaid-Guthaben zu 0,0001 € pro Anfrage oder einen Unlimited-Schlüssel für 50 € pro Monat, derselbe Tarif wie für jeden anderen Endpunkt der Plattform. Für viele Teams ist es der schnellste Weg, die Frage so oder so zu klären, Serverkosten, Wartungszeit der Entwickler und Anfragevolumen diesen Preisen gegenüberzustellen.