{"id":"sql-warehouse-agent-context","slug":"sql-warehouse-agent-context","name":"SQL warehouse as agent context","shortName":"SQL warehouse as agent context","problemStatement":"Let agents query production analytics (SQL, Iceberg/DuckLake, shared semantic Guides) rather than dumping a warehouse into a vector DB.","whenNotTopPick":"Snowflake is already the system of record — Cortex; Databricks lakehouse standard — Mosaic; local/embedded only — DuckDB OSS.","categoryIds":["cat-vector-memory","cat-cpu-compute"],"depotPickProviderId":"motherduck","depotPickRationale":"DX for programmatic SQL + pricePerf of bursty agent queries. MotherDuck Lite/Pulse is the agent-native default; hyperscaler warehouses when the data already lives there.","runnersUpIds":["snowflake-cortex","databricks-mosaic","duckdb","clickhouse-cloud"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"DX for programmatic SQL + pricePerf of bursty agent queries. MotherDuck Lite/Pulse is the agent-native default; hyperscaler warehouses when the data already lives there.","tags":["sql"],"depth":{"whenNotToUse":{"text":"Snowflake is already the system of record — Cortex; Databricks lakehouse standard — Mosaic; local/embedded only — DuckDB OSS.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"snowflake-cortex","name":"Snowflake Cortex","overallForJob":7.1,"pickOverallForJob":8.44,"beatsPickOn":["maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4.5,"runnerUpLockInRisk":8,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[{"id":"duckdb","name":"DuckDB","license":"MIT","sourceUrl":"https://github.com/duckdb/duckdb/blob/main/LICENSE"}],"migration":"The pick has lower stored lock-in risk than runner-up Snowflake Cortex (4.5 vs 8). Self-host fallback listed for this job: DuckDB.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":3,"sourcesReachable":3,"pricingRows":12,"pricingRowsReconfirmed":9,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"motherduck","slug":"motherduck","name":"MotherDuck","tagline":"Depot pick when the agent needs SQL warehouse context (analytics, DuckLake/Iceberg, shared Guides). Snowflake…","overall":8.44},"runnersUp":[{"id":"snowflake-cortex","slug":"snowflake-cortex","name":"Snowflake Cortex","tagline":"Use when Snowflake already holds the data. Don't drag agent backends into Snowflake just for Cortex.","overall":7.1},{"id":"databricks-mosaic","slug":"databricks-mosaic","name":"Databricks Mosaic AI","tagline":"Pick only when your data/platform already is Databricks. Otherwise Bedrock/Vertex or direct APIs.","overall":7.11},{"id":"duckdb","slug":"duckdb","name":"DuckDB (vector/extensions)","tagline":"Use for local analytics + light vector experiments. Production agent memory → pgvector/Qdrant/Mem0.","overall":8},{"id":"clickhouse-cloud","slug":"clickhouse-cloud","name":"ClickHouse Cloud","tagline":"Depot pick for agent-analytics-warehouse (event/log OLAP). MotherDuck remains sql-warehouse-agent-context for…","overall":8.38}]}