Wir stellen vor: Cloudflare Basin – eine offene, serverlose Datenplattform, jetzt allgemein verfügbar

Marc Selwan und Micah Wylde

Lesezeit: 11 Min.

Dieser Beitrag ist auch verfügbar in English, Español, Français, 日本語, 한국어, 繁體中文, 简体中文 und Português.

Während der Birthday Week 2025 haben wir die Cloudflare Data Platform angekündigt: eine Produktsuite, mit der Sie Analysedaten erfassen, speichern und abfragen können. Heute geben wir die allgemeine Verfügbarkeit der Plattform bekannt. Zugleich erhält sie einen neuen Namen: Cloudflare Basin.

Basin ist eine serverlose Plattform für Datenanalysen. Sie basiert auf Apache Iceberg, dem offenen Standard für Data Lakes, und R2 Object Storage. Zur Basin-Produktfamilie gehören:

  • Basin Pipelines, bisher Cloudflare Pipelines, nimmt Ereignisse aus Workers, über HTTP oder aus Cloudflare Logpush entgegen, transformiert sie mit SQL und schreibt sie als Apache Iceberg-Tabellen oder Dateien in R2.
  • Basin Catalog, bisher R2 Data Catalog, verwaltet Iceberg-Metadaten und übernimmt automatisch die Tabellenwartung, damit die Tabellen performant und kosteneffizient bleiben.
  • Basin SQL, bisher R2 SQL, ist unsere serverlose, verteilte SQL-Engine, mit der Sie Apache Iceberg-Tabellen direkt auf Cloudflare abfragen können.

Mit Basin bietet die Developer Platform eine durchgängige Lösung für Datenanalysen. Sie können Daten aus unterschiedlichen Quellen erfassen – etwa aus Anwendungen, Infrastruktur, Geräten und anderen Cloudflare-Diensten – und anschließend abfragen, um Ihre Analysefragen zu beantworten.

Den Anstoß zur Entwicklung einer Datenplattform gaben im vergangenen Jahr zwei grundlegende Entwicklungen, die den Aufbau moderner Datenanwendungen veränderten. Zum einen etablierte sich Apache Iceberg als offenes Standardformat für Tabellen. Dadurch lassen sich dieselben Daten mit nahezu allen großen Abfrage-Engines nutzen. Zum anderen beobachteten wir, dass immer mehr Entwickler ihre Analysedaten in R2 speicherten. Da dort keine Egress-Gebühren anfallen, lässt sich der Zugriff mit verschiedenen Tools, durch unterschiedliche Teams und über Regionen und Cloud-Anbieter hinweg praktikabel und kosteneffizient umsetzen.

Schon mit dem Start der offenen Beta begannen Entwickler, die Basin-Dienste für unterschiedlichste Aufgaben einzusetzen. Auch unsere eigenen Teams für Abrechnung und Infrastruktur gehörten dazu. Die Anwendungsfälle reichten von der Optimierung von E-Commerce-Websites anhand von Echtzeitdaten über die langfristige Speicherung von Abrechnungskennzahlen und die Erstellung entsprechender Berichte bis zur Erfassung und Analyse von Telemetriedaten aus der Cloudflare-Infrastruktur, um deren Auslastung und Effizienz zu messen und zu verbessern.

„Wir haben die gesamte Datenpipeline unseres Unternehmens auf Basin Pipelines, Catalog und SQL umgestellt. Dabei haben wir ein komplexes Setup mit AWS S3 und Athena durch eine übersichtlichere, serverlose Architektur ersetzt, die sämtliche Ereignisdaten zuverlässig verarbeitet.“

– Dax Raad, Mitgründer von Anomaly

Von unseren ersten Nutzern haben wir viel darüber gelernt, was es bedeutet, eine Analyseplattform an der Edge zu betreiben. Im vergangenen Jahr haben wir Basin deshalb vor allem in drei Bereichen verbessert, die Datenanalysen auf der Developer Platform besonders machen: Geschwindigkeit, Offenheit und Kosteneffizienz.

Basin ist auf Geschwindigkeit ausgelegt – beim Einstieg ebenso wie bei umfangreichen Abfragen. Innerhalb weniger Sekunden können Sie einen Basin Catalog erstellen, eine Pipeline zur Datenerfassung einrichten und die Daten mit Basin SQL abfragen. Das ist besonders relevant, weil immer mehr Datenanwendungen mithilfe von Prompts und Coding-Agenten entstehen. Die Agenten müssten sonst auf Ressourcen oder Daten warten und wiederholt prüfen, ob diese bereits verfügbar sind. Bei wachsenden Datenbeständen führt Basin Catalog Metadaten und Datendateien zusammen, um den I/O-Aufwand zu reduzieren, und erstellt Statistiken für die Abfrageplanung.Basin SQL nutzt diese Statistiken, um Abfragen in kleinere Teilaufgaben zu zerlegen und auf Workers zu verteilen. So bleibt die Abfrageleistung auch bei wachsenden Datenmengen konstant hoch.

Ein wichtiger Treiber für die Weiterentwicklung und Verbreitung von Basin ist das stetig wachsende offene Apache Iceberg-Ökosystem. Immer mehr Entwickler setzen sich für einen radikalen Gedanken ein: Die eigenen Daten sollten einem selbst gehören und unter der eigenen Kontrolle bleiben. Dazu werden Speicher- und Verarbeitungsschicht voneinander getrennt, sodass sich für jede Aufgabe die passende Abfrage-Engine verwenden lässt. Mit Basin können Sie Ihre Daten über jede Iceberg-kompatible Engine lesen und schreiben, darunter PyIceberg, DuckDB, Snowflake und Apache Spark. Eine solche Datenportabilität ist nur ohne Egress-Gebühren möglich. Entwickler können dadurch mit den zahlreichen Tools des Ökosystems auf ihre bei Cloudflare gespeicherten Daten zugreifen – unabhängig von Region oder Cloud-Anbieter.

„Bobsled ist eine Plattform für Datenprodukte, mit der einige der weltweit fortschrittlichsten Datenteams Daten für KI-Anwendungen aufbereiten und Partnern, Anbietern und Kunden bereitstellen“, erklärt Julien Grobbelaar, Head of Platform bei Bobsled. „Mit Basin können wir Datenprodukte entwickeln, die sich in jeder Region aller großen Daten- und KI-Plattformen zugänglich machen lassen. Dabei bietet Basin die für den Produktivbetrieb nötige Zuverlässigkeit – dank der entfallenden Egress-Gebühren zu einem Bruchteil der Kosten.“

Neben dem gebührenfreien Datentransfer ermöglicht uns auch die serverlose Architektur, unseren Kunden durch eine nutzungsbasierte Abrechnung weitere Kostenvorteile zu bieten. Sie zahlen nur, wenn Basin Ihre Daten erfasst, verarbeitet oder abfragt. Entwickler können Analysen für Hobbyprojekte zu geringen Kosten oder sogar kostenlos umsetzen. Auch bei größeren Anwendungen im Unternehmen bleibt unser Preismodell wirtschaftlich. Es fallen weder Stundengebühren noch separate Infrastrukturkosten an.

Wenn Sie direkt loslegen möchten, finden Sie im Basin-Tutorial eine Schritt-für-Schritt-Anleitung: Sie erfahren, wie Sie mit Basin Pipelines Ereignisse in eine von Basin Catalog verwaltete Apache Iceberg-Tabelle schreiben und anschließend mit Basin SQL abfragen. Lesen Sie weiter, um mehr über Basin und unsere nächsten Schritte zu erfahren.

Warum Basin?

Im vergangenen Jahr haben wir diese Produkte unter dem Namen Cloudflare Data Platform eingeführt. Für das erste Jahr war dieser Name gut geeignet. Zur allgemeinen Verfügbarkeit wollten wir jedoch einen prägnanteren Namen, der unsere Ziele für die Plattform widerspiegelt und alle Produkte miteinander verbindet.

„Basin“ bezeichnet ein Becken, in dem Flüsse aus unterschiedlichen Quellen zusammenfließen. Dieses Bild beschreibt treffend, wie die Plattform funktioniert: Pipelines führt Daten in Basin Catalog zusammen, und Basin SQL macht sie sofort abfragbar. Ein interessanter Vergleich: Rund 20 % der Landfläche der Erde entwässern in abflusslose Becken. Ähnlich groß ist der Anteil des Webs, der hinter dem Cloudflare-Netzwerk liegt – er beträgt mehr als 20 %. 

Vänersee, Schweden: Das Becken entstand vor 200 bis 300 Millionen Jahren durch tektonische Aktivität.

Heute umfasst Basin drei Produkte: Pipelines, Catalog und SQL. Sie decken die Erfassung, Speicherung und Abfrage von Daten ab. Nach und nach werden weitere Produkte hinzukommen, die auch die übrigen Phasen im Lebenszyklus von Analysedaten abdecken.

Basin Pipelines

Bevor Sie Ihre Daten abfragen können, müssen die Ereignisdaten erfasst, anhand eines Schemas strukturiert und im Objektspeicher abgelegt werden. Diese Aufgabe übernimmt Basin Pipelines. Der Dienst nimmt Ereignisse über HTTP-Endpunkte oder Workers-Bindings entgegen, verarbeitet sie anhand einer SQL-Abfrage und schreibt sie als Apache Iceberg-Tabellen in Basin Catalog oder als JSON- beziehungsweise Parquet-Dateien in R2.

Seit dem Start der Beta haben Nutzer Zehntausende Pipelines für unterschiedlichste Anwendungsfälle erstellt. Häufig werden beispielsweise die HTTP-Logs von Cloudflare vor der Speicherung mit Pipelines transformiert:

INSERT INTO http_logs_sink
SELECT
  EdgeResponseStatus,
  to_timestamp_micros(EdgeStartTimestamp) AS event_time,
  upper(ClientRequestMethod) AS method,
  sha256(ClientIP) AS hashed_ip
FROM http_logs_stream
WHERE EdgeResponseStatus >= 400;

Werden die Daten bereits bei der Erfassung verarbeitet, kann das den Speicherbedarf erheblich senken und irrelevante Daten aus dynamischen Quellen herausfiltern. Außerdem lässt sich so verhindern, dass sensible oder unnötige Werte gespeichert werden.

Seit der Beta haben wir die Skalierbarkeit von Pipelines deutlich verbessert: Pro Stream lassen sich jetzt bis zu 3 GB/s erfassen. Auch den Funktionsumfang und die Integration mit anderen Cloudflare-Systemen haben wir erweitert:

  • Integration mit Cloudflare Logpush: Sie können Cloudflare-Logs mit SQL transformieren und als komprimierte Parquet-Dateien oder Iceberg-Tabellen speichern. Anschließend lassen sie sich mit Basin SQL oder einer anderen Engine abfragen.
  • Workers-Bindings berücksichtigen das Schema: Der Befehl wrangler types generiert TypeScript-Typen aus dem Schema eines Streams. Dadurch werden fehlende Felder und nicht übereinstimmende Datentypen bereits vor dem Deployment erkannt.
  • Fehler in der Datenqualität werden sichtbar: Das Dashboard und die GraphQL-API zeigen verworfene Ereignisse an und unterscheiden dabei zwischen fehlenden Feldern, nicht übereinstimmenden Datentypen, Parsing-Fehlern und Nullwerten.
  • Der gesamte Erfassungsprozess lässt sich als Infrastructure as Code definieren: Terraform-Ressourcen decken den Catalog, den Stream, den Sink und die SQL-Anweisungen ab, die diese Komponenten miteinander verbinden.

Als Nächstes möchten wir die Möglichkeiten von Pipelines weiter ausbauen. Geplant sind unter anderem:

  • Benutzerdefinierte Partitionierung beim Schreiben in Basin Catalog
  • Schema-Migrationen sowie die Möglichkeit, bestehende Konfigurationen und die SQL-Anweisungen von Pipelines zu aktualisieren
  • Unterstützung für Iceberg V3, einschließlich des Datentyps VARIANT für effiziente Abfragen halbstrukturierter Daten
  • Zustandsbehaftete Verarbeitung für Anwendungsfälle wie Streaming-Aggregationen, Joins und inkrementell aktualisierte materialisierte Views

Basin Catalog

Basin Catalog war das erste Produkt dieser Familie, das wir im vergangenen Jahr eingeführt haben. Seitdem haben Tausende Entwickler den Dienst für unterschiedlichste Aufgaben eingesetzt. Das Spektrum reicht vom strukturierten Zugriff mit DuckDB auf Analysedaten in R2 bis zum Aufbau vollständiger Plattformen für den unternehmensweiten Datenaustausch. Dabei profitieren sie von einfach nutzbaren APIs und dem Wegfall der Egress-Gebühren.

Mit Basin Catalog gelingt der Einstieg in Apache Iceberg besonders einfach. Führen Sie dazu diesen Befehl aus:

npx wrangler basin catalog create CATALOG_NAME

Sie erhalten sofort einen vollständig verwalteten Apache Iceberg REST Catalog. Dieser übernimmt automatisch die regelmäßigen Wartungsarbeiten, damit Ihre Tabellen performant und in einem einwandfreien Zustand bleiben.

Als wir die Data Platform ankündigten, hatte Basin Catalog gerade die automatische Kompaktierung eingeführt. Dabei werden kleinere Dateien zu größeren zusammengeführt. Seitdem haben wir die Tabellenwartung weiter ausgebaut, damit Ihre Tabellen auch bei wachsenden Datenmengen effizient bleiben:

  • Kompaktierungsrichtlinien pro Tabelle: Sie können für jede Tabelle eine Zieldateigröße festlegen, die zu den jeweiligen Zugriffsmustern passt.
  • Automatisches Entfernen alter Snapshots: Ältere Iceberg-Snapshots werden gemäß einer Aufbewahrungsrichtlinie entfernt. Eine festgelegte Mindestanzahl aktueller Snapshots bleibt dabei erhalten.
  • Bereinigung nicht mehr referenzierter Datendateien: Wenn Snapshots ablaufen, wird nicht mehr benötigter Speicherplatz freigegeben. Ein separater Spark-Job für diese Wartungsaufgabe ist dafür nicht erforderlich.
  • Optimierung der Manifeste: Fragmentierte Manifeste werden vor der Kompaktierung zusammengeführt und nach Partition gruppiert. Dadurch sinkt der I/O-Aufwand für Metadaten bei der Abfrageplanung.

Für Basin Catalog arbeiten wir außerdem an weiteren Funktionen:

  • Einem neuen Kompaktierungsverfahren, das Daten effizient sortiert und gruppiert, um die Abfrageleistung zu verbessern
  • Feineren Zugriffskontrollen für Namespaces und Tabellen
  • Unterstützung für bestimmte Rechtsräume, um Anforderungen an Datensouveränität und Compliance zu erfüllen

Basin SQL

Basin SQL ist unsere serverlose, verteilte Abfrage-Engine für Apache Iceberg-Tabellen in Basin Catalog. Sie ist darauf ausgelegt, große Datenbestände zu lesen, und skaliert automatisch über das globale Cloudflare-Netzwerk. Sie müssen weder Cluster noch andere Ressourcen bereitstellen. Stattdessen steht Ihnen und Ihren Agenten eine sofort nutzbare API zur Verfügung, über die Sie direkt mit der Abfrage Ihrer Daten beginnen können.

Schon beim Start der Beta eignete sich Basin SQL hervorragend zum Filtern und Erkunden großer Ereignis- und Zeitreihentabellen. Im vergangenen Jahr haben wir den Funktionsumfang deutlich erweitert. Inzwischen unterstützt Basin SQL Hunderte Funktionen, darunter:

  • Standardaggregationen und näherungsweise Aggregationen, GROUP BY, HAVING sowie Befehle zum Erkunden von Schemas
  • Mehr als 190 Skalar- und Aggregatfunktionen für Zeichenketten, Zeitstempel, reguläre Ausdrücke, Kryptografie, Statistik, Arrays, Maps und Structs
  • CASE-Ausdrücke, Common Table Expressions (CTEs), Typumwandlungen, arithmetische Operationen und EXPLAIN
  • Inner-, Outer-, Semi- und Anti-Joins, Unterabfragen, Self-Joins sowie Abfragen über mehrere Tabellen
  • DISTINCT, UNION, INTERSECT und EXCEPT
  • Fensterfunktionen, QUALIFY, Grouping Sets, Rollups und Cubes
  • Verschiedene JSON-Funktionen

Angenommen, Ihre Pipeline schreibt Anwendungsereignisse in eine Tabelle und Kontodaten in eine andere. Sie können beide Tabellen jetzt verknüpfen, die Aktivitäten pro Kunde aggregieren, die Ergebnisse mit einer Fensterfunktion in eine Rangfolge bringen und diese anschließend filtern – alles in einer einzigen Abfrage:

WITH account_activity AS (
  SELECT
    a.plan,
    e.account_id,
    count(*) AS events,
    approx_distinct(e.user_id) AS active_users
  FROM analytics.events e
  JOIN analytics.accounts a
    ON e.account_id = a.account_id
  WHERE e.event_time >= '2026-09-01T00:00:00Z'
  GROUP BY a.plan, e.account_id
)
SELECT
  *,
  rank() OVER (PARTITION BY plan ORDER BY events DESC) AS activity_rank
FROM account_activity
QUALIFY rank() OVER (PARTITION BY plan ORDER BY events DESC) <= 10;

Sie können Basin SQL über Wrangler oder die API nutzen oder den integrierten Editor im Cloudflare-Dashboard öffnen. Der Editor bietet Syntaxhervorhebung und Autovervollständigung, eine Übersicht zum Durchsuchen von Namespaces und Tabellen sowie Abfragestatistiken und Ausführungspläne. Auch die Ergebnisse lassen sich exportieren. So gelangen Sie innerhalb weniger Sekunden von einer neu angelegten Tabelle zu einer aussagekräftigen Antwort.

Wir entwickeln Basin SQL weiter und arbeiten derzeit an:

  • Erweiterten Statistiken und einer adaptiven Ausführungsplanung, um Abfragen schneller und effizienter zu machen
  • Vollständiger Unterstützung der Data Definition Language (DDL) direkt in Basin SQL
  • Unterstützung für Iceberg V3, einschließlich VARIANT und Datentypen für Geodaten

Wie es weitergeht

Unser Ziel ist eine Plattform, bei der sich Entwickler nicht mehr mit der zugrunde liegenden Dateninfrastruktur befassen müssen. Speicherformate, Produkte und Ressourcen sind technische Details der Umsetzung. Sie sind zwar entscheidend für das Ergebnis, stehen aber oft der eigentlichen Arbeit im Weg. Deshalb entwickeln wir eine Plattform, bei der am Anfang eine Frage steht – statt einer CREATE-Anweisung oder eines CLI-Befehls. Das Fundament dafür ist gelegt. Darauf bauen wir nun auf, unter anderem mit:

  • Unterstützung der neuesten Apache Iceberg-Spezifikation auf der gesamten Plattform, damit Sie Ihre Daten noch flexibler nutzen können
  • Quellen und Zielen für die Datenerfassung, die sich per Knopfdruck einrichten lassen, sowie Verbindungen zwischen den Entwickler- und Observability-Produkten von Cloudflare, die ohne Konfiguration auskommen
  • Erweiterten, adaptiven Verfahren zur Tabellenwartung in Basin Catalog, die Daten automatisch anhand der tatsächlichen Abfragemuster organisieren
  • Verbesserungen bei SQL-Kompatibilität, Performance und Observability, um zunehmend komplexe Analyseaufgaben zu unterstützen
  • Zusätzlichen Möglichkeiten, Daten kontinuierlich in Echtzeit zu verarbeiten und anhand der darin enthaltenen Signale Aktionen auszulösen
  • Plattformweit verfügbaren Tools zur Einhaltung von Compliance-Vorgaben und Anforderungen an die Datensouveränität

Dabei setzen wir weiterhin auf offene Standards: Wir verwenden offene Formate und Protokolle, tragen Verbesserungen zu den Projekten bei, auf denen unsere Plattform aufbaut, und stellen sicher, dass Ihre Daten auch mit den anderen Tools und Plattformen des Ökosystems nutzbar bleiben.

Erste Schritte

Basin Pipelines, Basin Catalog und Basin SQL sind ab heute allgemein verfügbar. Sie können die drei Produkte gemeinsam als durchgängige Plattform einsetzen oder die Komponenten nutzen, die zu Ihrer bestehenden Architektur passen.

Das Erste-Schritte-Tutorial zeigt Ihnen, wie Sie Ereignisse erfassen, eine Apache Iceberg-Tabelle in Basin Catalog erstellen und die Daten mit Basin SQL abfragen. In der Basin-Dokumentation finden Sie Anleitungen zu den einzelnen Produkten sowie Informationen zu Preisen, Limits und Integrationen.

Ihre bestehenden Konfigurationen für Cloudflare Pipelines, R2 Data Catalog und R2 SQL funktionieren weiterhin.

Wir freuen uns darauf, zu sehen, was Sie entwickeln. Teilen Sie Ihr Feedback mit uns im Cloudflare Developer Discord.