6P by neo 1일전 | ★ favorite | 댓글 3개
  • EdgeDBGel이라는 새로운 이름으로 리브랜딩됨
  • 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 뒤에 배치할 수 있는지 궁금함

The World's Most Advanced Open Source Relational Database