advanced

Cloud SQL

Managed PostgreSQL, MySQL или SQL Server: бэкапы, реплики, connection pooling, maintenance и приватная сеть.

Cloud SQL — managed PostgreSQL, MySQL или SQL Server с автоматическими бэкапами, патчами, репликами и private IP. Node.js-сервисы обычно ходят через pooler: serverless и autoscale открывают много коротких соединений.

					import pg from 'pg';

const pool = new pg.Pool({
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: 'app',
  max: 10,
  idleTimeoutMillis: 30_000,
});
				

| Риск | Практика | |------|----------| | Лимит соединений | Pool в приложении или Auth Proxy / PgBouncer | | Failover | Regional HA vs zonal instance | | Миграции | CI, обратимо совместимые шаги | | Секреты | Secret Manager, не в образе |

Проверьте restore, индексы и maintenance windows до того, как полагаться на «HA из коробки».

На интервью: pooling с Cloud Run; read replica и replication lag; private IP vs authorized networks; PITR и тест restore.

Типовые ошибки: соединение на каждый запрос без pool; миграции ORM с блокировкой больших таблиц; чтение с replica как strongly consistent.

Компромисс — меньше DBA-рутины против лимитов соединений, меньше tuning и vendor-specific failover.

Чеклист:

  • Pool соединений на каждом tier Node.js.
  • Private IP и DB-пользователи с минимальными правами.
  • Обратимые миграции и мониторинг при deploy.
  • Регулярный тест restore из бэкапа.