安德鲁·阿特金森:PGSQL 星期五 #011 — 分片与分区

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

本文介绍了PostgreSQL中的分片和分区的概念和用法,包括应用级分片和表级分区。还讨论了复制和实例、垂直分片和水平分片的概念。通过使用这些技术和数据库,可以实现强大的扩展性。

🎯

关键要点

  • 本月的PGSQL Phriday #011鼓励博主撰写关于PostgreSQL中的分片和分区的文章。
  • PostgreSQL没有提供原生的分片解决方案,默认情况下,单个主实例接收所有读写请求。
  • 单个主数据库架构的主要问题是垂直扩展会达到硬件上限,无法满足工作负载需求。
  • 应用级分片是一种将数据库工作负载拆分到独立实例的设计技术。
  • 垂直分片将表的列分离到新表中,新表可以在独立实例上运行并独立扩展。
  • PostgreSQL通过物理或逻辑复制连接主实例和一个或多个只读的副本实例,支持读写分离。
  • PostgreSQL在10版本中引入了声明式分区机制,允许将写入分配到多个子分区。
  • Active Record在6.1版本中增加了水平分片的支持,允许将第二个数据库与同一应用程序一起使用。
  • 水平分片常用于客户特定的数据库,以实现数据隔离或实例级计算隔离。
  • 通过应用级分片、Active Record的水平分片和PostgreSQL的表分区,开发者可以创建强大的技术组合以应对高负载。
➡️

继续阅读