🤔 왜 Ghost인가?
전통적인 관리형 데이터베이스는 장기 운영되는 프로덕션 인프라에 최적화되어 있습니다. 인스턴스를 만들고, 네트워크를 구성하고, 자격 증명을 관리하고, 애플리케이션을 연결한 후에는 데이터베이스를 '소중하고 깨지기 쉬운 것'으로 대우하게 됩니다.
하지만 AI 에이전트가 코드를 작성하고, 마이그레이션을 테스트하고, 스키마를 검사하고, SQL을 실행하고, 데이터를 실험하는 시대에는 어떨까요? 에이전트는 일회용이고 프로그래밍이 가능한 데이터베이스를 필요로 합니다. 바로 이 지점에서 Ghost가 등장합니다.
Ghost는 개발자와 AI 에이전트가 데이터베이스를 생성, 포크, 검사, 쿼리, 조작, 삭제하는 것을 마치 코드 샌드박스처럼 쉽게 만들어줍니다. 특히 다음과 같은 워크플로우에 적합합니다:
- 테스트 및 프로토타이핑
- 에이전트 워크플로우
- 브랜치 데이터베이스
- 마이그레이션 실험
- 일회용 데이터베이스 환경
한국 개발 생태계에서의 적용 맥락: 국내 스타트업이나 SI 프로젝트에서 PoC(개념 증명) 단계는 항상 시간과의 싸움입니다. 전통적인 RDS 인스턴스를 띄우고, 네트워크 ACL을 설정하고, 시드 데이터를 넣는 데만 몇 시간이 걸리곤 하죠. Ghost를 사용하면 이 과정을 1분 이내로 단축할 수 있습니다. 특히 AI 코딩 에이전트(Codex, Claude Code)와 결합하면 "이런 데이터베이스 만들어줘"라는 자연어 명령 하나로 바로 실험을 시작할 수 있습니다.

🛠️ 설치 및 설정
1. Ghost 설치
Linux / macOS / WSL:
curl -fsSL https://install.ghost.build | sh
Windows PowerShell:
irm https://install.ghost.build/install.ps1 | iex
2. 로그인 및 MCP 서버 설치
ghost login
# 브라우저에서 GitHub 인증 진행
ghost mcp install
# 사용 중인 에이전트 선택 (Codex, Claude Code, Cursor 등)
설치가 완료되면 에이전트를 재시작하세요. Ghost MCP 서버가 자동으로 연결됩니다.
3. 정상 설치 확인
ghost mcp list
# 설치된 MCP 도구 및 프롬프트 목록 출력
# Codex를 사용하는 경우
codex mcp list
# ghost MCP 서버가 'enabled'로 표시되는지 확인
💻 실전 예제 1: 10,000건의 판매 데이터 생성
Codex에 다음과 같이 명령합니다:
Codex> Create a ghost database called sales_data that stores 10,000 dummy sales
records. In the database, create whichever tables are suitable for such
data. Do not include any indexes, primary or foreign keys for now.
결과 (약 1분 30초 소요):
customers(1,000 rows)products(150 rows)sales_reps(30 rows)sales_orders(10,000 rows)sales_order_items(30,000 rows)
🚀 실전 예제 2: Ghost CLI로 데이터 확인
# 데이터베이스 목록 조회
ghost list
# 스키마 확인
ghost schema sales_data
# SQL 직접 실행
ghost sql sales_data "SELECT * FROM sales_orders LIMIT 10;"
# 읽기 전용 모드 설정 (에이전트 실수 방지)
ghost config set read_only true
읽기 전용 모드에서 DELETE 시도 시 다음과 같이 차단됩니다:
ERROR: cannot execute DELETE in a read-only transaction (SQLSTATE 25006)
⚡ 실전 예제 3: MCP를 통한 성능 튜닝
이 예제가 Ghost의 진가를 가장 잘 보여줍니다. 인덱스가 없는 sales_order_items 테이블에서 특정 레코드를 조회하는 데 25.833ms가 걸렸습니다. 이제 Ghost의 포크 기능을 사용해 세 가지 튜닝 전략을 병렬로 실험해보겠습니다.
Codex> Fork 3 duplicate sales-data databases in parallel, naming them
sales_data-1, etc... Using differering strategies in each fork, tune the
database so that the above query runs more quickly. Output your results in
an ascii table with database name, tuning strategy and database execution time.
결과 (약 2분 40초 소요):
| Database | Tuning strategy | Execution time |
|---|---|---|
| sales_data-1 | Btree index on sales_order_item_id | 0.131 ms |
| sales_data-2 | Covering btree index | 0.143 ms |
| sales_data-3 | Hash index for equality lookup | 0.158 ms |
무려 200배 성능 향상! 가장 중요한 점은 프로덕션 DB에 전혀 영향을 주지 않고 여러 전략을 동시에 실험할 수 있다는 것입니다.
📊 실전 예제 4: 동적 대시보드 앱 구축
Codex> Use your performance tuning findings to upgrade the sales_data
database. Then construct a dashboard using javascript and HTML for the
database. The dashboard should be dynamic. I want to be able to filter on data
and the dashboard should only show data that is inside the database.
Codex는 Express.js 백엔드와 HTML/JS 프론트엔드를 생성하고, Ghost의 읽기 전용 연결을 사용해 자격 증명 노출 없이 동적 대시보드를 완성했습니다. 약 7분 30초 만에 완성된 대시보드는 http://localhost:5101/sales_dashboard.html에서 확인할 수 있습니다.
이 부분은 주의가 필요해요 😅 대시보드 코드를 생성할 때 Ghost의 읽기 전용 연결 문자열을 사용하도록 지시하는 것이 중요합니다. 그렇지 않으면 에이전트가 HTML 파일에 데이터베이스 비밀번호를 하드코딩할 위험이 있습니다. 위 예제에서는
ghost connect --read-only sales_data명령어를 사용해 안전하게 처리했습니다.

⚠️ 주의사항 및 한계
-
프로덕션 데이터는 아직 신중하게: Ghost는 PoC와 실험에 최적화되어 있습니다. 프로덕션 워크로드를 바로 Ghost에 올리기보다는, Ghost에서 검증한 스키마와 인덱스 전략을 실제 RDS나 Aurora에 적용하는 것이 좋습니다.
-
네트워크 지연: Ghost 클라우드 인프라를 사용하므로, 애플리케이션과 데이터베이스 간 네트워크 레이턴시가 발생할 수 있습니다. 로컬 Postgres보다는 느릴 수 있습니다.
-
에이전트 의존성: Ghost의 진가는 AI 코딩 에이전트와 함께使用时 발휘됩니다. CLI만 사용한다면 기존 도구(예:
pgcli,DBeaver)와 큰 차이가 없을 수 있습니다. -
비용: 무료 티어가 관대하지만, 대규모 데이터나 장기 사용 시 비용이 발생할 수 있습니다. 공식 문서를 확인하세요.
📚 다음 단계 학습 방향
- Ghost 공식 문서에서 더 많은 CLI 명령어와 MCP 도구 살펴보기
- 다양한 에이전트 (Claude Code, Cursor, Gemini CLI)와의 통합 실험
- GitHub Actions와 Ghost를 연동하여 CI/CD 파이프라인에서 데이터베이스 테스트 자동화
- TimescaleDB 하이퍼테이블이나 pgvector 같은 확장 기능 실험 (Ghost가 기본 프롬프트 제공)
함께 보면 좋은 글

✨ 결론
Ghost는 'AI 에이전트 시대의 데이터베이스'라는 새로운 패러다임을 제시합니다. 전통적인 데이터베이스가 '소중한 자산'이라면, Ghost는 '실험 도구'에 가깝습니다.
제가 가장 마음에 들었던 점은 가상 시나리오(what-if) 실험의 용이성입니다. 기존 데이터베이스를 포크하고, 인덱스를 바꿔보고, 머티리얼라이즈드 뷰를 만들고, 성능을 측정하는 모든 과정을 자연어로 설명하면 에이전트가 알아서 처리합니다.
물론 아직 프로덕션보다는 PoC와 실험에 적합한 도구입니다. 하지만 AI 에이전트가 코드를 작성하는 시대에, 데이터베이스도 그에 맞는 워크플로우를 가져야 한다는 점에서 Ghost는 매우 의미 있는 시도입니다.
핵심 요약:
- Ghost = AI 에이전트를 위한 Postgres 데이터베이스 플랫폼
- MCP 서버를 통해 Codex, Claude Code, Cursor 등과 직접 통합
- 포크 기능으로 여러 튜닝 전략을 병렬 실험 가능 (200배 성능 향상 사례)
- 읽기 전용 모드로 안전한 실험 환경 보장
- PoC 및 프로토타이핑에 최적, 프로덕션은 신중하게 검토