你只需要 PostgreSQL
这篇文章阐述了为什么 PostgreSQL 可以成为大多数 Web 应用所需的唯一数据库。作者认为,通过充分利用 PostgreSQL 的高级特性(如 JSONB 支持、全文搜索、窗口函数、分区表以及扩展生态),开发者可以在不需要额外引入 Redis、Elasticsearch 等专用系统的情况下构建完整的应用后端,从而简化技术栈、降低运维复杂度。
背景速读
- 这篇文章的核心观点是:对大多数中小型项目来说,PostgreSQL 一个数据库就够了,无需引入专门的时序数据库(如 InfluxDB)、向量数据库(如 Pinecone)、消息队列(如 Redis)或者搜索索引(如 Elasticsearch)。
- 作者 Ethan Bellani 是一位软件工程师,文中展示了如何用 PostgreSQL 的原生功能(如 JSON、数组、分区表、索引、NOTIFY/LISTEN)来实现原本需要独立工具的典型需求:全文搜索、时间序列数据存储、向量相似度搜索、任务队列等。
- 这代表了近年来 "Postgres 万能论" 的思潮——随着 PostgreSQL 不断迭代(如 v12 引入生成列、v16 提升并行性能),越来越多开发者认为它足以作为大多数后端应用的核心基础设施,减少技术栈的复杂度。
- 背景:过去十年,科技公司普遍采用 "专用工具做专用任务" 的微服务/多数据库架构,但这也带来了运维复杂性和数据一致性问题。这篇文章是对这一趋势的逆反——强调 "把一切放进 Postgres" 的务实主义。