
10/2/2017 · Yorick Peterse
What this post added
This post details GitLab's initial steps in scaling its single PostgreSQL database setup. It explores four techniques: application code optimization, connection pooling, load balancing, and sharding. The post focuses on connection pooling using pgbouncer and database load balancing using hot-standby replicas. It argues against sharding due to low write load and high implementation complexity. The implementation of pgbouncer reduced active PostgreSQL connections significantly and allowed for a lower `max_connections` setting.