MCP + Greenplum в банке: как дать LLM доступ к DWH и не сломать Data Governance
Заменяем 14-летний Oracle DWH на MPP-платформу на Greenplum/Arenadata DB с полной Data Governance. Model Context Protocol превращает доступ LLM к хранилищу из неуправляемого shortcut в контрактную API-поверхность.
Мы сейчас в середине проекта, который многие узнают с первого абзаца.
Есть банковское хранилище на Oracle Database, которому около 14 лет. Внутри — фрагментарная бизнес-логика, T+2 закрытие, ручная сверка между подразделениями и постоянный «человеческий кэш» в Excel.
Мы заменяем его на MPP-платформу на базе Greenplum Database / Arenadata DB с полноценной Data Governance: lineage, бизнес-глоссарий, контроль доступа и near-real-time слой загрузки (цель — 0.5–1 час задержки).
В этот момент в проект приходит AI.
И вопрос оказывается не про SQL.
Не «может ли Claude писать SQL», а «можно ли дать ему доступ к DWH, не превратив это в неконтролируемый shortcut».
Ответом стал Model Context Protocol (MCP).
Почему MCP, а не прямой доступ к базе
Потому что прямой доступ ломает Data Governance.
Любой LLM без ограничений:
- игнорирует глоссарий
- нарушает lineage
- может обойти политики безопасности
- создаёт «теневую BI-систему»
Для банка это недопустимо.
Поэтому MCP — это не интеграция, а контрактная поверхность доступа.
1. Идентичность: без service-account
MCP не хранит привилегированные креденшелы.
Вместо этого:
- пользователь аутентифицируется через IdP
- MCP получает short-lived токен
- сессия выполняется от имени пользователя
Результат:
- все политики (RLS/CLS) соблюдаются
- нет обхода через AI
- поведение совпадает с BI
Если аналитик не видит данные в дашборде — он не увидит их и через LLM.
2. MCP не даёт SQL — он даёт бизнес-операции
Антипаттерн:
run_sql(query)
Мы его исключили.
Вместо этого:
regulatory_form_700()liquidity_ratio_snapshot()reconciliation_diff(...)
Каждый tool:
- связан с глоссарием
- принадлежит data-команде
- хранится в version control
- имеет строгий контракт
LLM не пишет SQL — он оркестрирует бизнес-операции.
3. Mapping: глоссарий → запрос
Ключевой слой:
Business Term → Trusted Query
LLM не придумывает метрики — он использует утверждённые.
4. Observability
Каждый вызов MCP логируется:
- пользователь
- tool
- latency
- результат
И попадает в общий monitoring стек. AI — это не отдельная система, а обычный сервис.
5. Архитектура
User → LLM → MCP → Governance → DWH
MCP не обходит governance — он усиливает его.
Вывод
MCP — это не доступ LLM к данным.
Это управляемая API-поверхность поверх DWH.