惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
C
Check Point Blog
GbyAI
GbyAI
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
Hacker News - Newest:
Hacker News - Newest: "LLM"
V2EX - 技术
V2EX - 技术
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
F
Full Disclosure
S
Secure Thoughts
WordPress大学
WordPress大学
博客园 - Franky
N
News and Events Feed by Topic
雷峰网
雷峰网
www.infosecurity-magazine.com
www.infosecurity-magazine.com
H
Hacker News: Front Page
N
Netflix TechBlog - Medium
Forbes - Security
Forbes - Security
TaoSecurity Blog
TaoSecurity Blog
C
CERT Recently Published Vulnerability Notes
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
Security Latest
Security Latest
Attack and Defense Labs
Attack and Defense Labs
The Register - Security
The Register - Security
Spread Privacy
Spread Privacy
H
Help Net Security
宝玉的分享
宝玉的分享
L
LangChain Blog
MongoDB | Blog
MongoDB | Blog
I
Intezer
Schneier on Security
Schneier on Security
Latest news
Latest news
Y
Y Combinator Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
InfoQ
A
About on SuperTechFans
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
T
Threat Research - Cisco Blogs
S
Schneier on Security
Cisco Talos Blog
Cisco Talos Blog
H
Heimdal Security Blog

Supabase Blog

AI Agents Know About Supabase. They Don't Always Use It Right. Custom OIDC Providers for Supabase Auth 100,000 GitHub stars Supabase docs over SSH Navigating Regional Network Blocks Supabase Joins the Stripe Projects Developer Preview Log Drains: Now available on Pro Supabase Storage: major performance, security, and reliability updates Supabase incident on February 12, 2026 Hydra joins Supabase X / Twitter OAuth 2.0 is now available for Supabase Auth BKND joins Supabase Supabase is now an official Claude connector Supabase PrivateLink is now available Introducing: Postgres Best Practices When to use Read Replicas vs. bigger compute Introducing TRAE SOLO integration with Supabase Supabase Security Retro: 2025 Sync Stripe Data to Your Supabase Database in One Click Building ChatGPT Apps with Supabase Edge Functions and mcp-use Own Your Observability: Supabase Metrics API Introducing iceberg-js: A JavaScript Client for Apache Iceberg Introducing Supabase for Platforms Adding Async Streaming to Postgres Foreign Data Wrappers Build "Sign in with Your App" using Supabase Auth Introducing Seven New Email Templates for Supabase Auth The new Supabase power for Kiro Introducing Supabase ETL Introducing Vector Buckets Snap, Inc. Launches Snap Cloud, Powered by Supabase Triplit joins Supabase Supabase Series E 1000 Y Combinator Founders Choose Supabase gm 👋 web3, welcome aboard to Sign in with Web3 (Solana, Ethereum) Announcing the Supabase Remote MCP Server Enterprise speed, enterprise standards with Bolt Cloud + Supabase PostgREST 13 Lovable Cloud + Supabase: The Default Platform for AI Builders Processing large jobs with Edge Functions, Cron, and Queues Defense in Depth for MCP Servers OrioleDB Patent: now freely available to the Postgres community Supabase Launch Week 15 Hackathon Winner Announcement The Vibe Coder's Guide to Supabase Environments Testing for Vibe Coders: From Zero to Production Confidence The Vibe Coding Master Checklist Vibe Coding: Best Practices for Prompting Supabase Auth: Build vs. Buy Top 10 Launches of Launch Week 15 Supabase Launch Week 15 Hackathon Storage: 10x Larger Uploads, 3x Cheaper Cached Egress, and 2x Egress Quota Persistent Storage and 97% Faster Cold Starts for Edge Functions Algolia Connector for Supabase New Observability Features in Supabase Improved Security Controls and A New Home for Security Introducing Branching 2.0 Stripe-To-Postgres Sync Engine as standalone Library Supabase Analytics Buckets with Iceberg Support Create a Supabase backend using Figma Make Introducing JWT Signing Keys Supabase UI: Platform Kit Build a Personalized AI Assistant with Postgres Announcing Multigres: Vitess for Postgres Building on open table formats Open Data Standards: Postgres, OTel, and Iceberg Simplifying back-end complexity with Supabase Data APIs PostgreSQL Event Triggers without superuser access Top 10 Launches of Launch Week 14 Supabase MCP Server Data API Routes to Nearest Read Replica Declarative Schemas for Simpler Database Management Realtime: Broadcast from Database Keeping Tabs on What's New in Supabase Studio Edge Functions: Deploy from the Dashboard + Deno 2.1 Automatic Embeddings in Postgres Introducing the Supabase UI Library Supabase Auth: Bring Your Own Clerk Postgres Language Server: Initial Release Migrating from Fauna to Supabase Migrating from the MongoDB Data API to Supabase Dedicated Poolers Postgres as a Graph Database: (Ab)using pgRouting AI Hackathon at Y Combinator Calendars in Postgres using Foreign Data Wrappers Supabase Launch Week 13 Hackathon Winners How to Hack the Base! Running Durable Workflows in Postgres using DBOS database.build v2: Bring-your-own-LLM Restore to a New Project Hack the Base! with Supabase Top 10 Launches of Launch Week 13 Supabase Queues High Performance Disk Supabase Cron Supabase CLI v2: Config as Code Supabase Edge Functions: Introducing Background Tasks, Ephemeral Storage, and WebSockets Supabase AI Assistant v2 OrioleDB Public Alpha Executing Dynamic JavaScript Code on Supabase with Edge Functions ClickHouse Partnership, improved Postgres Replication, and Disk Management Live Share: Connect to in-browser PGlite with any Postgres client
Introducing Analytics Buckets
Fabrizio Fenoglio · 2025-12-02 · via Supabase Blog

Introducing Analytics Buckets

Today Supabase is introducing Analytics Buckets, which you can use to store huge sets of data in Supabase Storage. Postgres is great for your app. But Postgres isn't designed for analytical workloads.

Analytics Buckets are a specialized storage type in Supabase designed for analytical workloads and built on Apache Iceberg and Amazon S3. They store data in columnar Parquet format, which is optimized for scans, aggregations, and time-series queries.

Think of them as cold storage for your data, with a query engine attached.

Your hot transactional data stays in Postgres. Your historical data and analytical workloads live in Analytics Buckets. You query both using familiar tools.

Analytics Buckets give you:

  • Cost-effective storage. S3 pricing instead of database storage. Documented savings of 30-90% on storage costs for large datasets.

  • Open table format. Apache Iceberg means no vendor lock-in. Query your data from any compatible tool.

  • Schema evolution. Change your table schema without rewriting data.

  • Time travel. Query historical snapshots of your data. See what a table looked like at any point in time.

  • Full audit history. Every change is preserved. Track what changed, when, and how.

When to use Analytics Buckets vs Postgres#

Analytics Buckets and Postgres are complementary. They serve different workloads.

Keep data in Postgres when:#

  • You need low-latency reads for your application

  • Data changes frequently and consistency matters

  • Your dataset is small to medium size

  • You need real-time access from your app

Use Analytics Buckets when:#

  • You are storing millions or billions of rows

  • You run heavy analytical queries that scan large tables

  • You need long-term retention at low cost

  • You want to query data from multiple tools

  • You need complete audit history and time travel

Many teams use both. Keep the last 90 days in Postgres. Archive everything to Analytics Buckets. Query historical data when needed.

Analytics Buckets use Apache Iceberg, an open table format created for large analytical datasets. Here is what happens under the hood:

  1. Data is stored in Parquet files on S3

  2. Iceberg manages metadata including schema, partitions, and snapshots

  3. An Iceberg REST Catalog provides the interface for querying

  4. You connect using any Iceberg-compatible tool

The separation of compute and storage means you can scale each independently. Store petabytes of data and query only what you need.

You can create an Analytics Bucket from the Dashboard or using the SDK.

Using the Dashboard#

  1. Navigate to Storage in your Supabase Dashboard

  2. Click Create Bucket

  3. Enter a name for your bucket

  4. Select Analytics Bucket as the bucket type

  5. Click Create

You can use the Supabase Dashboard to define columns and set data types, including complex types like decimal with precision and scale. The foreign data wrapper schema will automatically be configured for you. Once your table is created, you can manage Analytics Buckets in the same way that you manage your Postgres tables.

Using the SDK#


_10

import { createClient } from '@supabase/supabase-js'

_10

_10

const supabase = createClient('https://your-project.supabase.co', 'your-service-key')

_10

_10

await supabase.storage.createBucket('my-analytics-bucket', {

_10

type: 'ANALYTICS',

_10

})


Analytics Buckets require authentication with two services:

Iceberg REST Catalog manages metadata for your tables. It handles schema, partitions, and snapshots.

S3-Compatible Storage stores the actual data in Parquet format.

You authenticate using your Supabase service key for the catalog and S3 credentials for storage.

Analytics Buckets work hand in hand with Supabase ETL. ETL captures changes from your Postgres database and streams them to Analytics Buckets in near real time.

This gives you:

  • Automatic replication of your Postgres tables

  • Near real-time data in your analytics bucket

  • Complete changelog with every insert, update, and delete

  • No manual data movement or scheduled jobs

To set up replication, create a Postgres publication for the tables you want to replicate, then add an Analytics Buckets destination in the Replication section of the Dashboard.

Querying from Postgres#

You can query Analytics Buckets directly from Postgres using Foreign Data Wrappers. This lets you join hot data in Postgres with historical data in Analytics Buckets.


_17

-- Create a foreign server for your Iceberg data

_17

create server iceberg_server

_17

foreign data wrapper iceberg_wrapper

_17

options (

_17

aws_access_key_id 'your-access-key',

_17

aws_secret_access_key 'your-secret-key',

_17

region_name 'us-east-1'

_17

);

_17

_17

-- Import tables from your analytics bucket

_17

import foreign schema "analytics"

_17

from server iceberg_server

_17

into iceberg;

_17

_17

-- Query historical data

_17

select * from iceberg.events

_17

where event_timestamp > '2024-01-01';


A common architecture is data tiering: keeping recent data in Postgres and archiving history to Analytics Buckets.

  1. Partition tables by time in Postgres, keeping a rolling window like the last 90 days

  2. Stream all data to Analytics Buckets using Supabase ETL

  3. Drop old partitions from Postgres

  4. Query recent data from Postgres, historical data from Analytics Buckets

This keeps your Postgres database small and fast. Storage costs drop. Analytics queries run on data optimized for scans.

Analytics Buckets work with any tool that supports the Iceberg REST Catalog API:

  • PyIceberg

  • Apache Spark

  • DuckDB

  • Amazon Athena

  • Trino

  • Apache Flink

  • Snowflake (via external tables)

  • BigQuery (via BigLake)

Analytics Buckets are free during the Private Alpha. Standard egress charges apply when you move data out of the region.

To request access, fill out the form at forms.supabase.com/analytics-buckets.

  1. Request access to the Private Alpha

  2. Create an Analytics Bucket in the Dashboard

  3. Connect using PyIceberg, Spark, or your tool of choice

  4. Set up ETL to stream data from Postgres automatically

Separate your transactional and analytical workloads. Keep Postgres fast. Store history at S3 prices. Query from any tool.

We are excited to see what you build.