Database Architecture and Specialization
Scaling the GitLab database

Scaling the GitLab database

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.

Read the original post ↗