水平缩放Postgres

时间:2016-01-16 19:20:28

标签: database postgresql horizontal-scaling

我们假设您在postgresql数据库之上运行您的业务。一段时间后,你得到了很多流量,单个postgresql实例无法处理它,所以你想添加更多实例(水平扩展)以便能够处理增长。

您的数据是关系型的,因此可能无法选择切换到某些键/值解决方案。

你将如何使用postgresql?

PS。 Postgresql版本:9.5

1 个答案:

答案 0 :(得分:11)

  1. 如果是关于读取繁重的工作负载,那么您应该只添加副本。添加尽可能多的副本以处理整个工作负载。您可以循环方式平衡副本中的所有查询。

  2. 如果是大量写入工作负载,那么您应该将数据库划分到多个服务器上。您可以在不同的计算机上放置不同的表,也可以在多台计算机上对一个表进行分片。在后一种情况下,您可以通过主键的范围或主键的哈希值甚至是行的垂直方式对表进行分片。在上述每种情况下,您可能会失去事务性,因此请务必小心并确保事务更改和查询的所有数据都驻留在同一服务器上。