Meet Cloudflare Basin: An Egress-Free Data Platform on Iceberg and R2, Now GA
Hi, Shii-chan here! I read the Basin GA post on the Cloudflare Blog, so let me walk you through it!
Cloudflare BlogWhat was announced?
The Cloudflare Blog announced the general availability of Cloudflare Basin. Basin is an open, serverless data platform built on Apache Iceberg and R2 Object Storage. It is the matured and renamed Cloudflare Data Platform, which was announced during Birthday Week 2025.
The name comes from the idea that a basin is where rivers from many sources come together!
Why it matters
When you work with large datasets, egress fees every time you move between tools or clouds can be a pain. Basin is built on Iceberg, an open standard, and takes advantage of R2's zero egress fees. The post says tens of thousands of Pipelines have been created since the beta.
What changes
- You can handle everything from collection to analysis serverlessly, with no infrastructure to set up
- Pricing is usage-based, with no hourly charges or cluster provisioning
- You can read the same tables from your favorite query engine, such as DuckDB or Spark
Dive Deep
Basin Pipelines
This is the layer for ingesting and transforming events. It accepts events through HTTP endpoints or Workers bindings, transforms them with SQL, and outputs Iceberg tables or files on R2 (JSON / Parquet).
- Works with Cloudflare Logpush, so you can transform logs with SQL
- Schema-aware Worker bindings generate TypeScript types
- Data quality dashboards show dropped events and error types
- Infrastructure as code support through Terraform
- Stored data is compressed automatically
Basin Catalog
A fully managed Apache Iceberg REST catalog. Creating one takes a single command!
npx wrangler basin catalog create CATALOG_NAME
- Per-table compaction policies with customizable target file sizes
- Automatic snapshot expiration based on retention policy
- Cleanup of unreferenced data files without separate Spark jobs
- Manifest optimization that consolidates fragmented manifests
Basin SQL
A serverless, distributed SQL query engine for Iceberg tables.
- 190+ scalar and aggregate functions
- Inner, outer, semi, and anti joins, window functions, CTEs, grouping sets, ROLLUP, and CUBE
- JSON functions, regular expressions, cryptographic functions, set operations, and subqueries
- Available from the Wrangler CLI, the API, and a dashboard editor with syntax highlighting and autocomplete
What's planned
The post lists these upcoming features:
- Pipelines: custom partitioning, schema migrations, Iceberg V3 with the Variant type, and stateful processing for streaming aggregations and joins
- Catalog: data sorting and clustering, granular namespace and table authentication, and jurisdiction support for data sovereignty
- SQL: advanced statistics, adaptive scheduling, full DDL, and Iceberg V3 with geospatial types
Legacy configurations for Cloudflare Pipelines, R2 Data Catalog, and R2 SQL keep working unchanged. Early adopters include Anomaly, which replaced an AWS S3 and Athena setup, and Bobsled, and Cloudflare's own billing and infrastructure teams use Basin too.
Wrap-up
- Basin is a serverless data platform built on Apache Iceberg and R2, and it is GA
- Three parts: Pipelines (ingestion), Catalog (table management), and SQL (querying)
- Works with PyIceberg, DuckDB, Snowflake, and Spark without egress fees
- Legacy resources keep working
This is for anyone who built a data lake on S3 and Athena, or wants to cut the cost of a log analytics platform!