{#what-is-agensgraph-what-agensgraph-is} # AgensGraph란 AgensGraph는 멀티모델 데이터베이스입니다. 서버 하나, 데이터베이스 하나, 연결 하나입니다. 데이터는 그곳에 **속성 그래프**와 **관계형 테이블**로 동시에 존재하며, **Cypher**, **GQL**, **SQL**로 쿼리합니다. 이 중 둘을 한 문장에서 함께 쓸 수 있습니다. AgensGraph는 PostgreSQL 위에 만들어졌습니다. 2.18 릴리스는 PostgreSQL 18에 그래프 모델을 더한 것이므로, PostgreSQL이 주는 모든 것이 그대로 따라옵니다. 트랜잭션, 롤과 행 수준 보안, `pg_dump`와 `pg_basebackup`, 스트리밍 복제, 플래너와 `EXPLAIN`, 확장 생태계, 그리고 모든 PostgreSQL 드라이버가 이미 말하는 통신 프로토콜입니다. {#what-is-agensgraph-what-makes-it-different} ## 무엇이 다른가 **그래프는 PostgreSQL 객체 옆에 있는 것이 아니라, PostgreSQL 객체로 저장됩니다.** 그래프는 스키마이고, 레이블은 테이블이며, 정점은 행입니다. 따로 보조를 맞춰 줄 그래프 저장소가 없고, 건너야 하는 다리도 없습니다. 한 트랜잭션 안의 Cypher 쓰기와 SQL 쓰기는 함께 커밋됩니다. 둘 다 같은 데이터베이스에 있는 테이블에 쓰는 것이기 때문입니다. [그래프가 어떻게 저장되는가](../concepts/graph-on-postgresql.md)가 이 매뉴얼의 나머지를 이해하게 해 주는 페이지입니다. **순회는 직접 작성하는 재귀 조인이 아니라, 일급 쿼리입니다.** "이 영화와 배우를 공유하는 영화는 무엇인가", "이 두 사람은 얼마나 떨어져 있는가", "세 홉 안에 도달할 수 있는 것은 무엇인가"는 모두 패턴입니다: ```cypher MATCH (:person {name: 'Keanu Reeves'})-[:acted_in]->(:movie)<-[:acted_in]-(co:person) RETURN DISTINCT co.name AS co_actor ORDER BY co_actor; ``` ``` co_actor ---------------------- "Carrie-Anne Moss" "Laurence Fishburne" ``` **확장은 그래프 데이터에도 적용됩니다.** 속성은 보통 테이블에 놓인 `jsonb`입니다. 그래서 `pgvector`는 정점에 저장된 임베딩을 인덱싱하고, PostgreSQL의 전문 검색은 텍스트 속성을 인덱싱합니다. 그러면 하나의 쿼리가 의미적으로 유사한 문서를 찾고 거기서 그래프를 따라 바깥으로 뻗어 나갈 수 있습니다. [벡터 검색](../guides/search/vector.md)을 참고하십시오. **ISO 표준인 GQL이 같은 언어의 일부입니다.** 2.18은 ISO/IEC 39075의 상당 부분을 추가하며, 별도 모드도 별도 파서도 없습니다. `LET`, `NEXT`, `FILTER`, `FINISH`, `INSERT`, `FOR`, `CALL { }`과 서브쿼리 값 표현식은 Cypher가 허용되는 곳이면 어디서나 허용됩니다. [GQL 적합성](../appendix/gql-conformance.md)을 참고하십시오. {#what-is-agensgraph-who-it-is-for} ## 누구를 위한 것인가 관계형 데이터를 갖고 있고, 그 데이터에 대해 그래프 모양의 질문이 있으며, 그 질문을 하려고 두 번째 데이터베이스를 운영하고 싶지는 않은 팀입니다. 흔한 형태는 추천과 유사도, 사기와 위험 사슬, 권한과 소유 계층, 네트워크와 의존성 토폴로지, 그리고 검색 증강 생성(RAG) 뒤의 지식 그래프입니다. 세 경우에 잘 맞습니다. 그래프와 테이블이 같은 기록 시스템에 속할 때. 이미 PostgreSQL을 운영하고 있어 그 기술과 도구를 계속 쓰고 싶을 때. 그리고 쿼리가 순회와 집계, 조인, 윈도 함수를 섞을 때입니다. 한 그래프를 여러 장비에 샤딩하는 분산 그래프 저장소가 필요하거나, PageRank나 커뮤니티 탐지처럼 그래프 전체를 다루는 알고리즘을 대규모로 돌리는 그래프 분석 엔진이 필요하다면 맞는 도구가 아닙니다. AgensGraph는 PostgreSQL이 확장되는 방식으로 확장됩니다 — 하나의 주 서버, 읽기 복제본, 그리고 수직 확장입니다. {#what-is-agensgraph-what-is-in-this-release} ## 이번 릴리스에 담긴 것 * 기반이 되는 PostgreSQL 18. * GQL 적합성을 향한 큰 진전. * 타입 컬럼 속성 승격. 자주 쓰이는 `jsonb` 속성을 쿼리 작성 방식을 바꾸지 않고 인덱싱 가능한 실제 컬럼으로 바꿉니다. [속성을 컬럼으로 승격하기](../querying/typed-columns.md)를 참고하십시오. * 그래프 순회에 대한 플래너 및 추정 작업. 업그레이드 전에 애플리케이션이 살펴봐야 하는 변경이 몇 가지 있습니다. 새로 추가된 예약어와 `WHERE`에 올 수 있는 것에 대한 더 엄격한 규칙이 그렇습니다. [릴리스 노트](../release_notes/2.18.md)가 그것들을 나열하고, [2.18로 업그레이드하기](../release_notes/upgrade-to-2.18.md)에 절차가 있습니다. {#what-is-agensgraph-next} ## 다음 [AgensGraph 설치](install.md)를 하고, 이 매뉴얼의 모든 페이지가 사용하는 [예제 데이터셋을 적재](example-dataset.md)한 뒤, [첫 쿼리를 실행](first-query.md)하십시오.