GN⁺: EdgeDB가 Gel로 리브랜딩 - Postgres가 미래입니다
(geldata.com)- EdgeDB가 Gel이라는 새로운 이름으로 리브랜딩됨
- PostgreSQL이 최근 데이터베이스 시장을 점점 잠식하고 있음
- PostgreSQL은 오픈소스로 유지·개발되는 메인스트림 DB 중 거의 유일한 사례임
- 연구 프로젝트에서 출발했으며, MIT 유사 라이선스로 공개되어 라이선스 변경이나 인수 같은 이슈가 없어 높은 신뢰를 얻고 있음
- PostgreSQL이 “가장 진보된 오픈소스 관계형 DB”로 불리는 이유
- 1985년 Berkeley POSTGRES 프로젝트 시절부터 확장성과 모듈성을 핵심으로 설계함
- 다양한 데이터 타입(JSON, 공간 데이터, 벡터 등)을 처리할 수 있어 사실상 멀티모달 DB 역할을 수행함
- 쿼리 최적화와 Planner 성능이 우수해, EdgeQL(Gel의 질의 언어)을 SQL로 컴파일할 때 대규모 쿼리도 안정적으로 처리함
- 풍부한 Postgres 확장이 존재하며, Rust로도 확장 개발 가능함
- CockroachDB, YugabyteDB, TiDB, Google Spanner 등 많은 DB가 Postgres 호환을 우선으로 삼고 있음
-
Gel(구 EdgeDB) 은 Postgres의 프런트엔드 계층을 대체하는 개념임
- Aurora나 Neon은 스토리지 레이어를 변경했지만, Gel은 SQL 대신 EdgeQL을 사용하는 DB 접근을 지향함
- TypeScript가 JavaScript 위에서 작동하듯, Gel은 Postgres를 기반으로 스키마와 질의를 더 친화적인 형태로 컴파일하고 최적화함
- 새 버전 Gel 6.0부터 SQL도 직접 지원하여, 점진적으로 도입할 수 있게 되었음
- Drizzle, Prisma, SQLAlchemy 같은 도구에서 Gel을 활용 가능함
재브랜딩의 이유
- “Edge”라는 명칭이 Edge Computing이나 그래프 DB 같은 이미지를 연상시켜 혼동이 있었음
- 간결하면서도 유연한 느낌을 주는 “Gel” 로 이름을 바꿈
무엇이 바뀌고, 바뀌지 않는지
- 회사, 팀, 미션은 그대로 유지됨
- 도구와 라이브러리는 기존 명칭(edgedb)을 대체하는 새 명칭(gel)으로 제공되며, 하위 호환을 위해 이전 명칭에 대한 심링크나 패키지도 제공함
- Gel Cloud에서 v6.0을 이미 사용해볼 수 있음
- Apache 라이선스와 오픈소스 개발은 지속되며, 향후 포스팅으로 상세한 보증 방안을 공유할 예정임
Hacker News 의견
- PostgreSQL의 쿼리 플래너/최적화기는 최첨단이라는 의견이 있음
- Postgres의 비용 기반 플래너는 뛰어나지만, 1980년대 디자인으로 Microsoft SQL Server와 CockroachDB에서 사용하는 Volcano/Cascades 시스템보다 오래된 것임
- 지난 30년 동안 쿼리 최적화 분야에서 많은 발전이 있었지만, Postgres에는 거의 반영되지 않았음
- Postgres는 병렬 작업자와 JIT를 도입했지만, 기본 설계는 크게 변하지 않았음
- 개선 사항을 추가하는 데 보수적이며, 다른 데이터베이스는 오래전부터 인덱스 스킵 스캔을 지원해왔지만, Postgres는 아직 이를 지원하기 위해 작업 중임
- 최첨단 기술은 뮌헨 대학의 Thomas Neumann 그룹의 연구 프로젝트인 Umbra이며, HyPer의 후속작으로 CedarDB로 상용화되고 있음
- Postgres 쿼리 플래너에 대한 그들의 분석은 흥미로운 읽을거리임
- Gel이 Postgres에 대한 TypeScript와 같다는 의견이 있음
- EdgeDB를 몇 년 동안 사용해왔으며, RethinkDB와 MongoDB를 사용한 후 가장 좋아하는 데이터베이스임
- SQL 명령어를 외울 필요가 없고, 쿼리에 문제가 생기면 데이터를 보기 위한 멋진 UI를 제공받음
- EdgeDB는 단순히 훌륭함. 스키마, 마이그레이션, TypeScript 쿼리 빌더, 인증 등 모든 기능이 뛰어남
- 작은 Remix 앱에서는 별도의 API 레이어를 만들 필요 없이 DB를 직접 사용함
- 새로운 이름이 마음에 들며, CLI 사용 시 "edgedb"를 입력하는 것이 번거로웠음
- 새로운 문서가 더 나아지길 바라며, 이전 문서는 사용하기 어렵고 조금 부족했음
- 여러 ORM을 시도했지만, EdgeDB의 ORM은 지침을 따르지 않는 문제를 제외하고는 매우 간단하게 작동했음
- 버그나 구성 오류 없이 모든 것이 잘 작동했음
- EdgeDB는 잘 설계된 제품이며, 개인 프로젝트에 사용할 계획임
- Postgres는 훌륭하지만, 대규모 작업 부하를 처리하기 위해 필요한 작업량이 상당히 많음
- 데이터베이스를 샤딩해야 했던 사람에게 물어보면 알 수 있음
- 새로운 데이터베이스 회사를 시작할 때는 SQL로 시작하는 것이 교훈임
- SQL 지원 없이 시작한 거의 모든 DB는 결국 이를 추가하게 됨
- TypeScript 도구 체인과의 긴밀한 통합이 edgeql과 함께 매우 유용했으며, ORM보다 오류가 훨씬 적었음
- Gel은 특히 TypeScript 세계에서 성공적인 공식임
- EdgeDB 5.0을 사용하여 사이드 프로젝트를 진행했으며, Django나 Rails로 앱을 개발하는 재미를 느꼈음
- 서버리스 환경에서 Typescript+React와 함께 사용했음
- 자체 호스팅에 대한 궁금증이 있음
- 특정 지역에 위치한 Postgres DB를 가지고 있고, 문서에 명시된 대로 k8s 클러스터에 gel을 배치하면 잘 작동하는지 궁금함
- 이러한 배포가 무료인지, 클라우드 제공에서 어떤 기능이 누락되는지 궁금함
- GCP의 고가용성, 백업 및 모니터링 기능을 잃고 싶지 않음
- 데이터가 있는 지역을 구성할 수 있는지, VPC 뒤에 배치할 수 있는지 궁금함