Posts in 0001
  • WAL与检查点概述

    0001年01月01日 in PG 内核

    数据库需要保证两个基本的特性:可靠性与可用性。通俗来讲: 可靠性就是:出了故障,既不会丢数据,也不会弄脏数据。 可用性就是:保证足够的读写性能,出了故障后,能够快速恢复服务。 朴素的数据库实现有两个选项:在内存中修改数据页,或者将事物变更直接写入磁盘。但这产生了一个两难困境: 内存支持随机读写,因此在性能上表现强悍,然而作为易失性存储,一旦故障就会丢数据。 硬盘恰恰相反,随机读写表现糟糕,但在故障时数据要可靠的多。 内存可用性强可靠性差,硬盘可用性差但可靠性强,如何解决这一对矛盾,让内存与硬盘取 …

    Read more

  • 0001年01月01日 in PG 生态

    PostgreSQL 可以替代 MongoDB 吗? 最近,一篇《从 MongoDB 到 PostgreSQL 的大迁移》引发了 MongoDB 用户的关注,在我们的用户群组里有朋友 @flyingcrp 问了这样一个问题 —— 为什么PG上的一个插件或者功能点就能顶的上别人一个完整的产品?当然也有持相反观点的朋友 —— PG的 JSON 性能肯定比不过细分领域的专业产品,这个讨论引起了我的兴趣,这些命题成立吗? 通常来说,讨论性能问题离不开具体的场景。我上一次和 MongoDB …

    Read more