EdgeDB, 그래프 관계형 데이터 DBMS

최근에 DBMS «EdgeDB 2.0» 출시 발표, 복잡한 계층적 데이터 작업에 최적화된 관계형 그래프 관계형 데이터 모델 및 EdgeQL 쿼리 언어를 구현합니다.

EdgeDB는 SQL 및 관계형 패러다임의 영적 계승자로 설계된 오픈 소스 데이터베이스입니다. 그 목표는 기존 데이터베이스를 불필요하게 사용하기 어렵게 만드는 몇 가지 어려운 설계 문제를 해결하는 것입니다.

내부의 Postgres 쿼리 엔진으로 구동되는 EdgeDB는 스키마를 바인딩으로 연결된 속성이 있는 개체와 같은 방식으로 생각합니다. 객체 지향 데이터 모델이 있는 관계형 데이터베이스나 엄격한 스키마가 있는 그래프 데이터베이스와 같습니다. 우리는 이것을 그래프의 관계형 데이터베이스라고 부릅니다.

EdgeDB 정보

프로젝트는 PostgreSQL용 플러그인으로 개발 중입니다. 클라이언트 라이브러리는 Python, Go, Rust 및 TypeScript/Javascript 언어용으로 준비되어 있습니다.

테이블 기반 데이터 모델 대신 EdgeDB 객체 유형을 기반으로 하는 선언적 시스템을 사용합니다. 형식 간의 관계를 결정하기 위해 외래 키(foreign key) 대신 참조 바인딩이 사용됩니다(객체를 다른 객체의 속성으로 사용할 수 있음).

인덱스를 사용하여 쿼리 처리 속도를 높일 수 있습니다. 또한 강력한 속성 유형과 같은 기능이 지원됩니다., 속성 값 제약 조건, 계산 속성 및 저장 프로시저. ORM을 다소 연상시키는 EdgeDB 개체 스토리지 스키마의 일부 기능에는 스키마를 혼합하고, 다른 개체의 속성을 바인딩하고, 포함된 JSON에 대한 지원이 포함됩니다.

마이그레이션을 위한 기본 제공 도구 제공 스토리지 스키마: 별도의 esdl 파일에 지정된 스키마를 변경한 후 "edgedb migration create" 명령을 실행하기만 하면 DBMS가 스키마의 차이점을 분석하고 대화식으로 스크립트를 생성합니다. 새 스키마로 마이그레이션합니다. 스키마 수정 내역은 자동으로 추적됩니다.

쿼리의 경우 GraphQL 쿼리 언어와 계층적 데이터에 대한 SQL의 적응인 자체 언어인 EdgeDB로. 쿼리 결과는 목록 대신 구조화된 형식을 가지며, 하위 쿼리 및 JOIN 대신 EdgeQL 쿼리를 다른 쿼리 내에서 표현식으로 지정할 수 있습니다. 트랜잭션 및 주기가 지원됩니다.

EdgeDB 2.0의 주요 새 기능

이번에 선보인 새 버전에서는 통합 웹 인터페이스가 추가되었습니다 데이터베이스 관리용 데이터를 보고 편집하고 EdgeQL 쿼리를 실행할 수 있습니다. 사용된 저장 체계를 분석합니다. 인터페이스는 "edgedb ui" 명령으로 시작한 후 localhost에 액세스하여 사용할 수 있습니다.

표현 "GROUP"은 데이터 분할 및 집계를 허용하도록 구현되었습니다. 및 SELECT 작업에서 그룹화하는 것과 유사한 임의의 EdgeQL 표현식을 사용하여 데이터를 그룹화합니다.

개체 수준에서 액세스를 제어하는 ​​기능, 액세스 규칙은 저장소 스키마 수준에서 정의되며 선택, 삽입, 삭제 및 업데이트 작업에서 특정 개체 집합의 사용을 제한할 수 있습니다. 예를 들어 작성자만 게시물을 업데이트할 수 있도록 허용하는 규칙을 추가할 수 있습니다.

또한 전역 변수를 사용하는 기능 추가 저장 계획에서. 사용자에게 바인딩하기 위해 새로운 전역 변수가 제안되었습니다.

눈에 띄는 다른 변경 사항 중 :

  • Rust 언어에 대한 공식 클라이언트 라이브러리가 준비되었습니다.
  • EdgeDB 바이너리 프로토콜이 안정화되어 동일한 네트워크 연결 내에서 여러 세션을 동시에 처리하고 전역 변수 및 로컬 상태를 사용하여 HTTP를 통해 전달하는 것이 가능해졌습니다.
  • 값 범위(범위)를 정의하는 유형에 대한 지원이 추가되었습니다.
  • 소켓 활성화에 대한 지원이 추가되어 서버 드라이버를 메모리에 유지하지 않고 연결을 설정하려고 할 때만 시작할 수 있습니다(개발 시스템의 리소스 절약에 유용).

최종적으로 그것에 대해 더 알고 싶어하는 사람들을 위해, 그들은 코드가 Python과 Rust로 작성되었으며 Apache 2.0 라이선스에 따라 배포되었음을 알아야 합니다.

자세한 내용은 에서 확인할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.