claude-memory/graph/decisions/object-handler-cloudsql-silver-layer-architecture-e80e16.md

37 lines
1.5 KiB
Markdown

---
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-04T01:48:02.005397+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
- target: 8a4ae0ed-5bac-459b-bdd8-d3075bfc108d
type: RELATED_TO
direction: incoming
strength: 0.65
edge_id: 5718558e-60c9-487f-ab46-9dee64c3385c
- target: 43b222b2-abef-4ae0-8d3f-45c7a588eaa7
type: RELATED_TO
direction: incoming
strength: 0.68
edge_id: 0a395691-6b0f-4172-a4f6-a45057d131b0
---
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.