@_avichawla: Cloudflare如何在不离开Postgres的情况下将查询时间缩短35倍:他们的Postgres表达到数十亿行,而每次时间范围查询开始变慢。

X AI KOLs Timeline 新闻

摘要

Cloudflare使用TimescaleDB(Tiger Cloud)在数十亿行的Postgres表上将查询性能提升了35倍,并借助Claude Code和Tiger CLI构建了一个实时地震仪表板。

How Cloudflare cut query times by 35x without leaving Postgres: 他们的Postgres表达到数十亿行,每次时间范围查询开始变慢。 普通Postgres在每次查询时都会扫描整个表,无论时间窗口如何。 他们尝试了手动方法,通过cron任务构建预计算聚合,并评估ClickHouse,后者需要完整的摄入管道来处理他们的写入模式。 这就是大多数团队在此时陷入困境的地方。 他们使用手动分区,按日或月将数据分割到子表中。然后设置cron任务来刷新聚合表。 此后,每次架构变更都需要更新cron逻辑并跨团队协调。基础设施变成了项目本身。 Tiger Cloud是由@TigerDatabase在您已知的Postgres上提供的托管TimescaleDB,内置了基于时间的自动分区、连续聚合和压缩功能。 在尝试了手动方法后,Cloudflare转向TimescaleDB,并在同一数据上看到了5-35倍的查询性能提升。 以下是其工作原理: → 超级表自动按时间戳对数据进行分区。每次时间范围查询仅命中相关的数据块,而非整个表。 → 连续聚合在后台增量刷新,无需维护cron任务。 为了展示实际应用,我使用Claude Code和Tiger Cloud在一个会话中构建了一个基于3D地球仪的实时地震情报仪表板。 USGS地震目录自1900年以来有超过40万次事件,每条都是带时间戳的记录。该仪表板将它们绘制为涟漪动画,按震级调整大小并按深度着色,并配有时间滑块,可浏览120年的地震历史。 每个滑块位置都会对超级表执行实时查询,侧面板则从连续聚合中提取数据。 Claude Code通过Tiger CLI MCP服务器连接到Tiger Cloud,配置数据库,拉取USGS目录,并组装了完整的Next.js和Three.js前端,全程未离开会话。 下方的视频展示了最终构建的运行效果,我与Tiger Data团队合作完成了此项目。 Tiger CLI是开源的(Apache 2.0),可与Claude Code、Cursor、Codex、Gemini CLI和VS Code配合使用。 要自己尝试: → 在此处注册Tiger Cloud:https://fandf.co/4w3FIbA。 新账户获得1000美元免费额度,无需信用卡。 → 安装Tiger CLI:curl -fsSL https(:)//cli(.)tigerdata(.)com | sh → 运行tiger mcp install claude-code → 给Claude Code一个提示,让它构建。 我还撰写了一篇完整的教程,介绍如何将任何编码代理转变为能够管理超过十亿行Postgres工作负载的生产级数据工程师。 内容涵盖从数据库设置到最终构建的所有内容。 请阅读以下内容。
查看原文
查看缓存全文

缓存时间: 2026/08/17 10:34

Cloudflare 如何在不离开 Postgres 的情况下将查询时间缩短了 35 倍:

他们的 Postgres 表达到了数十亿行,每次基于时间范围的查询都开始变得越来越慢。

原生的 Postgres 在每次查询时都会扫描整张表,无论时间窗口大小。

他们尝试了手动方案,通过定时任务构建预计算聚合表,并评估了 ClickHouse——但后者需要完整的数据摄入管道才能处理他们的写入模式。

大多数团队正是在这一步卡住了。

他们采用手动分区,按天或月将数据拆分为子表。然后设置定时任务来刷新聚合表。

此后每次模式变更都需更新定时逻辑并跨团队协调。基础设施本身成了一个项目。

Tiger Cloud 是托管的 TimescaleDB(由 @TigerDatabase 提供),基于你熟悉的 Postgres,从一开始内置了基于时间的自动分区、连续聚合和压缩功能。

Cloudflare 在尝试完手动方案后迁移到了 TimescaleDB,在相同数据上实现了 5 到 35 倍的查询性能提升。

以下是其实现原理:

→ 超级表按时间戳自动分区。每次时间范围查询只命中相关数据块,而非全表扫描。

→ 连续聚合在后台增量刷新,无需维护定时任务。

为演示实际效果,我使用 Claude Code 和 Tiger Cloud 在单次会话中构建了一个基于 3D 地球的实时地震智能仪表板。

USGS 地震目录包含自 1900 年以来的 40 万多个事件,每条记录都是带时间戳的数据行。仪表板将其绘制为波纹动画,尺寸对应震级,颜色表示深度,并配有可穿越 120 年地震历史的时间滑块。

滑块的每个位置都会对超级表发起实时查询,侧面板则从连续聚合中提取数据。

Claude Code 通过 Tiger CLI MCP 服务器连接到 Tiger Cloud,配置数据库,获取 USGS 目录,并在不离开会话的情况下组装了完整的 Next.js 和 Three.js 前端。

下方的视频展示了最终构建效果,我与 Tiger Data 团队合作完成了这一项目。

Tiger CLI 是开源的(Apache 2.0),兼容 Claude Code、Cursor、Codex、Gemini CLI 和 VS Code。

若想亲自体验:

→ 在此注册 Tiger Cloud:https://fandf.co/4w3FIbA。 新用户可获得 1000 美元免费额度,无需信用卡。

→ 安装 Tiger CLI:curl -fsSL https(:)//cli(.)tigerdata(.)com | sh

→ 运行 tiger mcp install claude-code

→ 向 Claude Code 输入提示词,让它开始构建。

我还撰写了一篇完整指南,教你如何将任何编码智能体转变为生产级数据工程师,轻松管理超十亿行 Postgres 工作负载。

内容涵盖从数据库配置到最终构建的全部环节。

请阅读下文。


适用于任意规模时序工作负载的 Postgres | Tiger Data

来源:https://www.tigerdata.com/go/kol?utm_source=x&utm_medium=affiliate&utm_campaign=fnf-july&utm_content=achawla-1kcredits-tsdb Tiger Data 标志 (https://www.tigerdata.com/)

Tiger Data 标志 (https://www.tigerdata.com/)

立即开始

单一 Tiger Cloud 服务的真实规模展示。

// 包含内容

核心能力

// pg_textsearch + pgvectorscale

两大扩展,完整搜索能力

BM25 关键词搜索与向量相似度搜索,均在 Postgres 中原生运行。无需单独的搜索基础设施,无需 ETL,无同步延迟。

CREATE INDEX ON documents USING bm25\(content\) WITH \(text\_config='english'\); SELECT \* FROM documents ORDER BY content <@\> 'database system' LIMIT 10;

作为 Postgres 原生扩展的现代排名文本搜索。采用行业标准的 BM25 评分算法,支持 <@> 操作符、Block-Max WAND 优化以及并行索引构建。

兼容你的工具

可直接集成到 Claude Code、Cursor、Codex、Gemini CLI 或 VS Code 中。无需切换上下文,无需学习新工作流。

Tiger Data 标志

无缝接入技术栈

将 Tiger Data 与你偏好的云服务商及更广泛的 Postgres 生态系统结合使用。

探索集成方案 (https://www.tigerdata.com/docs/integrations/latest)

// 企业级

默认即企业级就绪

企业信任保障

具有合同约束的服务级别协议(SLA)、区域数据隔离及企业级合规认证。

全天候支持

全球 Postgres 专家提供 24/7 覆盖,保障企业级响应时间。

相似文章

扩展PostgreSQL以支持8亿ChatGPT用户

OpenAI Blog

OpenAI分享了扩展PostgreSQL以支持8亿ChatGPT用户及每秒数百万查询的技术见解,采用了单主架构搭配50个只读副本,同时通过分片和优化策略管理写入密集型工作负载带来的挑战。

TimescaleDB 如何压缩时间序列数据

Hacker News Top

本文解释了 TimescaleDB 的 hypercore 引擎如何通过列式存储以及 delta 编码和 Gorilla XOR 等专门算法,为时间序列数据实现高达 98% 的压缩率,并将其与 PostgreSQL 的 TOAST 进行了对比。

@posthog: https://x.com/posthog/status/2062595534381326421

X AI KOLs Timeline

PostHog 使用基于 Karpathy 的 autoresearch 的 AI 代理,发现其 ClickHouse 查询引擎中存在一个三年之久的漏洞,该漏洞阻止了时间戳过滤器正确使用主键。修复后,性能提升了 11%,扫描的粒度减少了 62%。

我们如何将CDC推送到Postgres

Hacker News Top

Snowflake的工程博客详细介绍了新的Postgres数据镜像功能,该功能通过snowflake_cdc扩展将更改推送到Iceberg表中,旨在实现弹性、低延迟的事务复制。