본문 바로가기
Database2026년 5월 23일3분 읽기

EdgeDB 6.0 — Postgres 위 모던 ORM 대체, 실제 코드베이스 적용

YS
김영삼
조회 717
EdgeDB 6.0 — Postgres 위 모던 ORM 대체, 실제 코드베이스 적용

핵심 요약

EdgeDB 6.0(Postgres 기반)을 사내 신규 SaaS에 1년. 타입 안전 EdgeQL + 풍부한 객체 모델로 ORM·DTO·마이그레이션 도구를 모두 한 곳에서 해결. 백엔드 코드량 -42%, 그 자리에 스키마/쿼리가 명확히 들어와 신규 개발자 온보딩이 매우 빠름. 단, 생태계는 여전히 작음.

1. 무엇이 다른가

  • 객체 그래프 모델 — 1대N, N대M, computed link 1급
  • EdgeQL — SQL 대안, 객체 친화
  • 마이그레이션 자체가 DB 명령
  • RBAC, 트랜잭션, 풀텍스트, JSON, vector 모두 표준

2. 스키마

module default {
  type User {
    required email: str { constraint exclusive; }
    name: str;
    multi posts: Post;
  }
  type Post {
    required title: str;
    body: str;
    required author: User;
    created: datetime { default := datetime_current(); }
  }
}

3. EdgeQL — 객체 쿼리

SELECT User {
  name,
  posts: { title, created } ORDER BY .created DESC LIMIT 5
} FILTER .email = <str>$email;

JOIN 없음. 객체 그래프로 자연스럽게 표현. 결과도 중첩 객체.

4. TypeScript 통합

import e from "./dbschema/edgeql-js";

const q = e.select(e.User, u => ({
  name: true,
  posts: { title: true, created: true },
  filter: e.op(u.email, "=", e.str("a@b.c")),
}));
const result = await q.run(client);  // 타입 자동

queries.edgeql 파일을 두는 방식도 함께 지원. 컴파일 타임에 타입 생성.

5. 마이그레이션

edgedb migration create
edgedb migrate

대화형으로 변경 요약 보여주고 확인. 자동 백필·관계 변경도 깔끔.

6. 성능

EdgeDB는 결국 Postgres 위. 단일 쿼리 latency는 동등 또는 +5%. 다중 라운드 트립을 객체 쿼리 한 번으로 줄여 실제 응답은 더 빠른 경우가 많다.

7. 함정

  • 생태계 작음 — 큐, 캐시, 외부 도구 통합은 직접
  • Postgres 확장(pgvector, PostGIS)을 직접 못 씀 — 6.0부터 일부 지원
  • SQL 인터페이스(beta)도 있으나 EdgeQL 권장

자주 묻는 질문

Q. Prisma vs EdgeDB? Prisma는 ORM, EdgeDB는 DB 자체. EdgeDB는 ORM이 필요 없고 그 자체가 더 풍부.

댓글 5

백백엔드주니어(guest)5개월 전
벤치마크 신뢰가 가요. 자체 환경에서도 비슷한 수치 나왔습니다.
AAI입문자(guest)5개월 전
북마크 해놨습니다. 자주 참고할게요!
DDevOps엔지니어(guest)5개월 전
글 보고 우리 서비스에 바로 적용했습니다. 효과 큽니다.
신신입개발자(guest)5개월 전
이거 도입 비용이 어느 정도 예상되나요? 사내 결제 받으려고요.
데데이터사이언스현5개월 전
프로덕션 들어가니 또 다른 이슈가 있더라구요. 그래도 큰 그림은 이 글대로입니다.
Ctrl+Enter로 등록