https://www.ciokorea.com/news/183004

Paul Krill | InfoWorld

구글 고(Go) 언어용 오픈소스 엔티티 프레임워크 ‘이엔티(ent)’는 모든 데이터베이스 스키마 또는 그래프 구조를 고 객체로 모델링하기 위한 API를 제공한다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/99214164-c9c8-4bf1-9397-63c88c19f851/go_green-light_traffic-signal_by-pawel-czerwinski-unsplash-100765091-large.jpg

ⓒPaweł Czerwiński (CC0)

이스라엘 텔아비브에 있는 한 페이스북 개발팀에서 오픈소스 프로젝트 이엔티(ent)를 통해 구글 고(Go) 언어에 엔티티 프레임워크를 제공하고 있다. 이는 복잡한 데이터 모델로 고(Go) 애플리케이션을 더 쉽게 구축하고 유지 관리할 수 있도록 하기 위한 것이다.

데이터 모델링 및 쿼리를 위한 ‘ORM(Object Relational Mapping, 객체-관계 매핑)’을 제공하는 ent 프레임워크는 모든 데이터베이스 스키마를 고(Go) 객체로 모델링하기 위한 API를 제공한다. 이를 통해 쿼리와 어그리게이션을 실행하고, 그래프 구조를 탐색할 수 있다. ent의 기본 요소는 다음의 규칙을 따른다.

한편 이엔티(ent)의 스키마 구성은 ‘entc(ent codegen)’에 의해 입증된다. 이엔티 코드젠(ent codegen)은 관용적이고 정적으로 형식화된 API를 생성한다. 이엔티(ent) 프레임워크는 마이SQL(MySQL), 그렘린(Gremlin) 그리고 주로 테스트용 SQ라이트(SQLite)를 지원한다. 이 기술은 페이스북에서 고 언어용 그래프 기반 ORM을 개발하면서 지난 2019년 10월 처음 공개됐다.

가장 최신 릴리즈인 버전 0.6.0은 2월에 출시됐으며, 깃허브에서 액세스할 수 있다. 이엔티(ent) 버전 1.0의 로드맵에는 JSON 타입 서술어(JSON type predicates) 및 수평 분할(horizontal sharding) 등의 기능이 포함될 예정이다. [email protected]