你只需要 PostgreSQL
本文深入探讨了 PostgreSQL 在现代化应用开发中的强大能力,展示了如何仅用这一款数据库就能替代多种专门服务,包括消息队列、缓存、全文搜索、事件存储等。作者通过实际案例和详细分析,说明了 PostgreSQL 的扩展性和丰富功能如何简化技术栈、降低运维复杂度,同时保持良好的性能表现。
背景速读
- 这篇博文讨论的是“全能型数据库”趋势:越来越多的开发者试图用单一数据库(尤其是 PostgreSQL)替代以往由多个专用系统(Redis、MongoDB、Elasticsearch 等)组成的复杂技术栈。
- PostgreSQL 是一个开源的关系型数据库,以其稳定性、扩展性和丰富的插件生态著称。近年来它加入了 JSON 支持、全文搜索、地理空间索引等能力,使其能胜任许多此前需要专门数据库的任务。
- 这一讨论的背景是“单体 vs 微服务”架构辩论的延续:是否应该把尽可能多的能力塞进一个数据库,还是为不同场景选用最合适的工具?没有绝对正确或错误的答案,取决于团队规模和业务需求。
- 作者自己维护了一个叫“pg_lakehouse”的开源项目,能让 PostgreSQL 直接查询 S3 中的数据湖,进一步拓展其“全能”边界。