S3-Compatible

Your Warehouse.
Your Data.

Every event lands in your own S3-compatible bucket as compressed Parquet files. Connect any warehouse with standard S3 credentials — no proprietary connectors needed.

How Storage Works

01

Ingest Events

POST JSON events via SDK, curl, or fetch. We buffer at the edge and acknowledge in <50ms.

02

Flush to Parquet

Events are enriched, compressed, and flushed as date-partitioned Parquet files to your own R2 bucket.

03

Query Anywhere

Point any warehouse at your bucket with standard S3 credentials. Use glob patterns to read partitioned data.

Output Format

Industry-Standard Parquet.

Your data is stored as compressed Apache Parquet files — the industry standard for analytics. Date-partitioned, columnar, and readable by every major warehouse and data tool.

Columnar Compression

Snappy-compressed columns for 5-10x size reduction

Date Partitioned

Files organized by date for efficient range queries

Schema Embedded

Full schema metadata stored in every file

Glob-Friendly

Use /**/*.parquet patterns for partition pruning

Your Bucket
s3://your-bucket/
└── events/
├── 2026-02-15/
│ ├── clickstream_001.parquet
│ ├── clickstream_002.parquet
│ └── ... (auto-partitioned)
├── 2026-02-16/
│ ├── clickstream_001.parquet
│ └── clickstream_002.parquet
└── 2026-02-17/
└── clickstream_001.parquet ← live
Format: ParquetCompression: SnappyPartitioning: Daily

Supported Warehouses

Connect Anything That Reads Parquet.

ClickHouse

High-performance OLAP for real-time analytics. Query millions of rows in milliseconds.

s3('https://your-bucket.r2.dev/**/*.parquet', 'key', 'secret', 'Parquet')
Real-time queriesColumnar storageSQL interfaceS3 table functions
🔍

BigQuery

Serverless data warehouse by Google. Petabyte-scale with zero ops.

CREATE EXTERNAL TABLE dataset.events OPTIONS (format='PARQUET', uris=['gs://bucket/*.parquet'])
ServerlessPetabyte scaleML built-inExternal tables
🦆

DuckDB

In-process analytics database. Run SQL directly on your Parquet files.

SELECT * FROM read_parquet('s3://bucket/**/*.parquet')
In-processZero configFast analyticsParquet native
❄️

Snowflake

Cloud data platform with automatic scaling and data sharing.

CREATE STAGE events_stage URL='s3://bucket/' CREDENTIALS=(AWS_KEY_ID='...' AWS_SECRET_KEY='...')
Auto-scalingData sharingTime travelExternal stages
🧱

Databricks

Unified analytics platform. Combine data engineering, science, and ML.

spark.read.parquet('s3a://bucket/events/**/*.parquet')
Delta LakeUnity CatalogML RuntimeAuto Loader
🔥

Apache Spark

Distributed processing engine for large-scale data analytics.

val df = spark.read.parquet("s3a://bucket/events/")
DistributedBatch + streamMulti-languageParquet native
Storage
R2
S3-Compatible
Format
Parquet
Apache Standard
Access
S3 API
Standard Credentials
Isolation
Per-Customer
Dedicated Bucket

Your Data.
Your Warehouse.

No vendor lock-in. No proprietary formats. Standard S3 access to your own bucket, compatible with every analytics tool.

© 2026 Autonomous Structure Limited · Enrich.shNode v1.0.0