본문 바로가기
AI 개발/AI 에이전트 (AI Agents)

데이터 엔지니어를 위한 AI 이용법: PostgreSQL과 주식 데이터로 배우는 LLM + MCP 실전 활용법

by 데이터 AI 벌집 2025. 5. 12.
반응형

AI는 이제 데이터 엔지니어의 선택이 아닌 필수 생존 도구입니다. 특히 LLM(대형 언어 모델)과 MCP(Model Context Protocol)를 활용하면 기존의 SQL 작성, 쿼리 디버깅, 데이터 조회 방식이 획기적으로 바뀝니다.

 

 

이 글에서는 실제 PostgreSQL에 저장된 주식 데이터를 기반으로, LLM이 자동으로 SQL을 생성하고 실행하며, 이를 위해 MCP 서버를 어떻게 설정하고 연결하는지까지 실전 사례 중심으로 정리해보겠습니다.

 

데이터 엔지니어를 위한 AI 이용법: PostgreSQL과 주식 데이터로 배우는 LLM + MCP 실전 활용법


왜 AI는 데이터 엔지니어에게 필수가 되었나?

예전에는 데이터 엔지니어가 SQL을 수작업으로 작성하고, 테이블 스키마를 직접 참조하며 분석 로직을 구성했습니다. 그러나 다음과 같은 이유로 이제는 AI가 필요합니다.

  • 🧠 자연어로 SQL을 자동 생성
  • 🔎 데이터 스키마 자동 인식 및 쿼리 최적화
  • 🔁 반복 디버깅을 통한 결과 보정
  • ⚡ MCP를 통한 데이터베이스 연동 자동화

PostgreSQL + MCP + LLM 구조 한눈에 보기

  1. PostgreSQL: 주식 데이터를 저장한 데이터베이스
  2. MCP(PostgreSQL Server): LLM이 DB에 안전하게 접근하도록 도와주는 통신 프로토콜
  3. LLM(ChatGPT, Claude 등): 자연어 프롬프트를 SQL 쿼리로 자동 변환
  4. Cline 또는 Cursor: LLM과 MCP를 연결하는 인터페이스 도구

예시 데이터: 주식 가격 테이블

CREATE TABLE stock_prices (
  id SERIAL PRIMARY KEY,
  symbol TEXT,
  date DATE,
  open FLOAT,
  high FLOAT,
  low FLOAT,
  close FLOAT,
  volume BIGINT
);

 

예시 CSV 파일: stock_prices.csv
내용: AAPL, TSLA, NVDA 등의 일별 시가, 종가, 거래량 포함


실전 예제: 가장 많이 오른 날 찾기

프롬프트:

TSLA의 최근 30일 중, 하루 단위로 가장 큰 상승폭이 있었던 날짜를 알려줘.

 

LLM이 생성한 쿼리:

SELECT date, close - LAG(close) OVER (ORDER BY date) AS price_change
FROM stock_prices
WHERE symbol = 'TSLA'
AND date >= CURRENT_DATE - INTERVAL '30 days'
ORDER BY price_change DESC
LIMIT 1;

MCP PostgreSQL 서버 설치하기

1️⃣ Docker로 실행 (macOS 기준)

{
  "mcpServers": {
    "postgres": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/postgres",
        "postgresql://user:pass@host.docker.internal:5432/mydb"
      ]
    }
  }
}

📌 host.docker.internal은 다커 컨테이너에서 로컬 PostgreSQL에 접근할 때 사용하는 주소입니다.


고급 예제: 이동평균선 상향 돌파 종목 찾기

프롬프트:

오늘 기준으로 20일 이동평균선을 상향 돌파한 종목을 알려줘.

 

LLM 생성 SQL:

WITH avg_20 AS (
  SELECT symbol, date, close,
         AVG(close) OVER (PARTITION BY symbol ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS ma20
  FROM stock_prices
)
SELECT symbol, date, close, ma20
FROM avg_20
WHERE date = CURRENT_DATE
AND close > ma20;

 

LLM은 이처럼 복잡한 분석 쿼리도 자동 생성하며, MCP는 그 실행을 안전하게 도와줍니다.


결론: 실무 데이터 엔지니어에게 AI는 선택이 아니다

PostgreSQL과 LLM, 그리고 MCP의 조합은 데이터 엔지니어에게 가장 현실적인 AI 활용 사례를 제공합니다.

  • 자연어 → SQL → 쿼리 실행 → 시각화
  • 반복적인 분석 자동화
  • 에러 처리 및 피드백 기반 쿼리 보정

결론: 실무 데이터 엔지니어에게 AI는 선택이 아니다


✅ 지금 시작해보세요

  1. 주식 데이터를 PostgreSQL에 저장하세요.
  2. MCP(PostgreSQL 서버)를 Docker 또는 NPX로 실행하세요.
  3. Cline, Cursor 또는 Claude Desktop에서 자연어로 질문해보세요.

“오늘 기준으로 거래량이 2배 증가한 종목은?”
“AAPL의 30일 평균 종가와 현재 가격 차이는 얼마인가요?”

반응형