Tile38 ist ein quelloffener In-Memory-Geodaten-Server mit räumlichem Index, Echtzeit-Geofencing und Redis-kompatibler Schnittstelle. Der Server speichert Punkte, Polygone und Bounding Boxes, beantwortet räumliche Abfragen in Millisekunden und liefert Standortereignisse an Pub/Sub-Kanäle und Webhooks.
Die In-Memory-Geodatenbank Tile38 eignet sich speziell für Anwendungen mit einer hohen Aktualisierungsrate von Standortdaten.
(Bild: Gemini / KI-generiert)
Tile38 (tile38.com) richtet sich an Anwendungen mit hoher Aktualisierungsrate von Standortdaten, zum Beispiel Flottenmanagement, Logistik, Lieferdienste, Outdoor-Apps oder IoT-Tracking. Der Server arbeitet im Hauptspeicher, persistiert auf Disk und basiert auf der MIT-Lizenz. Die Codebasis ist vollständig in Go geschrieben und läuft unter Linux, macOS, FreeBSD und Windows in 32- und 64-Bit-Architekturen.
Datenmodell mit Punkt, Polygon und GeoJSON
Im Kern verwaltet Tile38 sogenannte Collections, in die Anwendungen einzelne Geodaten-Objekte schreiben. Jedes Objekt erhält einen Bezeichner und einen Geometrietyp. Möglich sind Lat/Lon-Punkte mit optionalem Z-Wert für Höhe oder Zeitstempel, Bounding Boxes aus Süd-West- und Nord-Ost-Eckpunkt, Geohash-Strings, GeoJSON-Strukturen mit Polygonen, Multipolygonen oder GeometryCollections sowie XYZ-Tiles und QuadKeys für kachelbasierte Karten. Zusätzlich lassen sich Felder mit Fließkommawerten an jedes Objekt hängen, zum Beispiel Geschwindigkeit, Beladung oder Akkustand eines Fahrzeugs. Ein Aufruf der Form „set fleet truck1 field speed 90 point 33.5123 -112.2693“ legt einen Punkt mit Feldwert an.
Drei Operatoren für räumliche Abfragen
„NEARBY“ sucht alle Objekte einer Collection innerhalb eines Radius um einen Referenzpunkt, „WITHIN“ liefert Objekte, die vollständig in einer Fläche liegen, und „INTERSECTS“ gibt Objekte zurück, die eine Geometrie schneiden. Filter über „WHERE“ schränken auf Feldwerte ein, zum Beispiel „nearby fleet where speed 70 +inf point 33.462 -112.268 6000“ für Fahrzeuge mit mehr als 70 Einheiten Geschwindigkeit im Sechs-Kilometer-Radius. Mehrere „WHERE“-Klauseln verknüpfen sich logisch mit „Und“. Für Mustererkennung auf Bezeichnern dient „MATCH“ mit Glob-Syntax, für Regex-Treffer auf Feldern und GeoJSON-Eigenschaften der Operator „=~“. Über „CURSOR“ paginieren Anwendungen große Ergebnismengen, „LIMIT“ begrenzt die Antwort, „NOFIELDS“ spart Bandbreite.
Geofencing als persistente Verbindung
Aus jeder Suchanfrage wird mit dem Schlüsselwort „FENCE“ ein Geofence. Der Server hält die Verbindung offen und sendet ein Ereignis, sobald ein Objekt die Zone betritt, verlässt, sich darin oder außerhalb befindet oder die Zone in einem Update durchquert. Die Detect-Modi heißen „inside“, „outside“, „enter“, „exit“ und „cross“. Jede Nachricht enthält den auslösenden Befehl („set“, „del“ oder „drop“), den Objekt-Bezeichner und die aktualisierte Geometrie als JSON. Statische Geofences ohne dauerhafte Client-Verbindung legt der Befehl „SETCHAN“ auf einen Pub/Sub-Kanal, an den Konsumenten per „SUBSCRIBE“ andocken. Alternativ verteilt der Server Ereignisse über Webhooks an HTTP-Endpunkte, was die Anbindung an Workflow-Engines und Message-Broker erlaubt.
Redis-Protokoll und HTTP für flexible Integration
Tile38 spricht das Redis-RESP-Protokoll und ist damit zu den meisten Redis-Clients kompatibel. Entwickler greifen über bestehende Bibliotheken in Java (Lettuce), Node.js (node_redis), Python (redis-py), Go (go-redis, redigo), PHP, Ruby, Rust oder C# auf den Server zu. Daneben existieren spezialisierte Tile38-Clients in Go, Python (pyle38), TypeScript (tile38-ts), Node.js, Java, Rust und Swift. Für Tests, Skripte und Werkzeugketten genügt ein HTTP-Aufruf per „curl“:
curl --data "set fleet truck3 point 33.4762 -112.10923" localhost:9851
Websockets eignen sich für lang laufende Geofence-Verbindungen aus Browser-Frontends, Telnet bleibt eine Option zur Diagnose. Die Antwort kommt je nach Einstiegsprotokoll als JSON oder RESP.
Replikation und Prometheus-Metriken
Für den Produktionsbetrieb bietet der Server eine Leader-Follower-Replikation. Schreibende Knoten reichen Änderungen an Follower weiter, die als Lese-Replicas dienen oder ein Failover-Szenario abdecken. Die Daten persistiert Tile38 auf Disk, sodass ein Neustart den Bestand wiederherstellt. Prometheus-Metriken exportiert der Server nativ über das Flag „--metrics-addr“, zum Beispiel mit dem Aufruf „./tile38-server --metrics-addr=127.0.0.1:4321“ für eine lokale Bindung. Auf „0.0.0.0“ liegt die Schnittstelle netzwerkweit offen. Ein vorgeschalteter redis_exporter erweitert das Set-up um Schlüsselwerte und Lua-Skripte. Bezug erfolgt über Docker-Image (tile38/tile38), Homebrew unter macOS mit dem Befehl „brew install tile38“, vorgefertigte Binaries auf der GitHub-Releases-Seite (github.com/tidwall/tile38) oder als Build aus dem Quellcode mit „make“.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Mehrwert für Administratoren und Entwickler
Administratoren bekommen einen schlanken Dienst mit überschaubarer Konfiguration, vertrautem Redis-Werkzeug und nativer Metriken-Schnittstelle. Die Persistenz auf Disk reduziert das Risiko bei Neustarts, die Replikation deckt Hochverfügbarkeit ab. Entwickler erhalten eine kompakte Befehlssprache, die Suche, Filter und Geofencing ohne separate Stream-Verarbeitung bündelt. Der Wegfall einer dedizierten räumlichen Datenbank im Tech-Stack vereinfacht Architektur und Deployment. Anwendungen aus Logistik, Mobilität, IoT und Field-Service profitieren von Latenzen im einstelligen Millisekundenbereich und einer Ereignis-API, die ohne Polling auskommt. Teams mit vorhandenem Redis-Know-how steigen ohne zusätzliche Lernkurve in die Geodaten-Funktionen ein.
Datenmigration – so funktioniert der Storage-Umzug
eBook „Datenmigration“
(Bild: Storage-Insider)
Im Zuge der Digitalisierung ändern sich die Anforderungen an Storage-Systeme. Sie müssen leistungsfähiger, skalierbarer und insgesamt flexibler sein. Unternehmen führen neue Systeme wie etwa All-Flash-Arrays ein, verlagern Dienstleistungen der IT-Abteilung in die Public- oder Hybrid-Cloud, ziehen sogar das Rechenzentrum um und erkennen möglicherweise die Chance oder die Notwendigkeit, IT-Services und Storage-Infrastruktur zu konsolidieren.