--- id: e80e161a-4be4-428d-8590-267b9ab4cc7c type: decision title: "Object-handler CloudSQL silver layer architecture" tags: [esb-monorepo, object-handler, architecture, cloudsql, decision] importance: 0.8 confidence: 0.8 created: "2025-12-10T19:55:26.314546+00:00" updated: "2026-03-03T01:22:05.384699+00:00" relations: - target: 6d3dcf69-9c0c-4d8a-b1a7-27267c07da51 type: BUILDS_ON direction: outgoing strength: 0.5 - target: cd528dd3-8328-41c5-9652-81c410c0d344 type: BUILDS_ON direction: incoming strength: 0.5 - target: 35b13826-2f86-460a-a087-c15ba92a9d3e type: RELATED_TO direction: incoming strength: 0.58 edge_id: f335cae2-3e63-477e-a7ea-aaac59077089 --- For object-handler silver layer (CloudSQL) output: Use Cloud SQL Python Connector + pg8000 driver (not SQLAlchemy). Connection method chosen because: (1) Works in Docker locally AND Cloud Functions, (2) IAM auth eliminates password management, (3) No VPC connector needed. Postgres functions handle upsert logic, so raw SQL calls are sufficient - SQLAlchemy would be overkill. Data flow: raw_data stripped before silver layer, full data goes to Firestore bronze layer.