@_avichawla: Cloudflare如何在不离开Postgres的情况下将查询时间缩短35倍:他们的Postgres表达到数十亿行,而每次时间范围查询开始变慢。
摘要
Cloudflare使用TimescaleDB(Tiger Cloud)在数十亿行的Postgres表上将查询性能提升了35倍,并借助Claude Code和Tiger CLI构建了一个实时地震仪表板。
查看缓存全文
缓存时间: 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分享了扩展PostgreSQL以支持8亿ChatGPT用户及每秒数百万查询的技术见解,采用了单主架构搭配50个只读副本,同时通过分片和优化策略管理写入密集型工作负载带来的挑战。
TimescaleDB 如何压缩时间序列数据
本文解释了 TimescaleDB 的 hypercore 引擎如何通过列式存储以及 delta 编码和 Gorilla XOR 等专门算法,为时间序列数据实现高达 98% 的压缩率,并将其与 PostgreSQL 的 TOAST 进行了对比。
@posthog: https://x.com/posthog/status/2062595534381326421
PostHog 使用基于 Karpathy 的 autoresearch 的 AI 代理,发现其 ClickHouse 查询引擎中存在一个三年之久的漏洞,该漏洞阻止了时间戳过滤器正确使用主键。修复后,性能提升了 11%,扫描的粒度减少了 62%。
Making Postgres 300x faster for analytics: batching, operator fusion, and SIMD
pgrust 0.2 rebuilds the Postgres query engine with batching, operator fusion, and SIMD, achieving 300x faster analytical queries and 30% faster OLTP than Postgres.
我们如何将CDC推送到Postgres
Snowflake的工程博客详细介绍了新的Postgres数据镜像功能,该功能通过snowflake_cdc扩展将更改推送到Iceberg表中,旨在实现弹性、低延迟的事务复制。