{{위키데이터 속성 추적}}
[[컴퓨팅]]에서 '''그래프 데이터베이스'''(graph database, GDB<ref>{{서적 인용|url=https://books.google.co.kr/books?id=mV3wxKLHlnwC&pg=PA381&lpg=PA381&dq=%22gdb%22+%22graph+database%22&source=bl&ots=Jbf2o7eTUZ&sig=_QdZrlEfmLKojDbnAUN4eqYg23k&hl=en&sa=X&ved=0ahUKEwi8tqSr58faAhUKGJQKHUhVCzs4FBDoAQhHMAY#v=onepage&q=%22gdb%22%20%22graph%20database%22&f=false|title=Artificial Intelligence and Automation|author=Nikolaos G. Bourbakis|accessdate=2018-04-20|publisher=World Scientific|page=381}}</ref>)는 [[시맨틱 쿼리]]를 위해 노드, [[그래프 이론 용어|엣지]], 프로퍼티와 함께 [[그래프 (자료 구조)|그래프 구조]]를 사용하여 데이터를 표현하고 저장하는 [[데이터베이스]]이다. 이 시스템의 주 개념은 그래프(엣지 또는 관계)이며 스토어에 직접 데이터 항목들의 관계를 정한다. 이러한 관계들은 스토어 안의 데이터가 함께 직접 연결될 수 있게 해준다.

그래프 데이터베이스는 일반적인 그래프를 표현한다는 점에서 1970년대의 [[네트워크 모델]] 데이터베이스와 비슷하지만 네트워크 모델 데이터베이스는 더 낮은 수준의 추상화로써 동작하며<ref name="Gutierrez">{{저널 인용 |last= Angles |first= Renzo |last2= Gutierrez |first2= Claudio |date= 1 Feb 2008 |title= Survey of graph database models |url= http://www.cse.iitk.ac.in/users/smitr/PhD%20Resources/Survey%20of%20Graph%20Databases%20Models.pdf |journal= ACM Computing Surveys |publisher= [[Association for Computing Machinery]] |volume= 40 |issue= 1 |doi= 10.1145/1322432.1322433 |access-date= 28 May 2016 |quote= network models [...] lack a good abstraction level: it is difficult to separate the db-model from the actual implementation |보존url= https://web.archive.org/web/20170815064527/https://www.cse.iitk.ac.in/users/smitr/PhD%20Resources/Survey%20of%20Graph%20Databases%20Models.pdf |보존날짜= 2017-08-15 |url-status= dead }}</ref> 일련의 엣지 간의 용이한 횡단이 불가능하다.<ref>{{서적 인용|last= Silberschatz |first= Avi |date= 28 January 2010 |title= Database System Concepts, Sixth Edition |url= http://codex.cs.yale.edu/avi/db-book/db6/appendices-dir/d.pdf |publisher= McGraw-Hill |page= D-29 |isbn= 0-07-352332-1}}</ref>

== 개요 ==
[[파일:GraphDatabase PropertyGraph.png|right|섬네일|308px|그래프 데이터베이스는 노드, 엣지, 프로퍼티를 갖추고 있다.]]
그래프 데이터베이스는 [[그래프 이론]]에 기반을 두며 노드, 엣지(edge), 프로퍼티를 갖추고 있다.
* 노드(node): 추적 대상이 되는 사람, 기업, 계정 등 의 실체를 대표한다. 관계형 데이터베이스의 레코드, 관계, 로우, 도큐먼트 데이터베이스의 도큐먼트와 개념이 거의 동등하다.
* 엣지(edge): 그래프(graph)나 관계(relationship)이라고도 하며 노드를 다른 노드에 연결하는 선이며 관계를 표현한다.
* 프로퍼티(property): 노드의 정보와 밀접한 관련이 있다. 이를테면 위키백과가 노드 중에 하나라면 위키백과의 어떠한 관점이 주어진 데이터베이스에 밀접한 관련이 있느냐에 따라 웹사이트, 참고 문헌, w로 시작하는 낱말과 같은 프로퍼티에 묶여있을 수 있다.

== 역사 ==
그래프 데이터베이스 이전에 1960년대 중순 [[IBM]]의 [[IBM 정보 관리 시스템|IMS]] 등의 [[내비게이셔널 데이터베이스]]는 자체적인 [[계층형 모델]]에서 트리 계열 구조를 지원하였으나 엄격한 트리 구조는 가상 레코드로 우회가 가능하였다.<ref>{{서적 인용|last=Silberschatz |first=Avi |date=28 January 2010 |title=Database System Concepts, Sixth Edition |url=http://codex.cs.yale.edu/avi/db-book/db6/appendices-dir/e.pdf |publisher=McGraw-Hill |page=E-20 |isbn=0-07-352332-1}}</ref><ref>{{웹 인용|url=http://www.people.vcu.edu/~lparker/IMS.html |title=IMS Notes |last1=Parker |first1=Lorraine |website=vcu.edu |access-date=31 May 2016}}</ref>

그래프 구조는 1960년대 말에 네트워크 모델 데이터베이스에서 표현할 수 있었다. 1959년에 [[코볼]]을 정의했던 [[CODASYL]]은 1969년 네트워크 데이터 언어(Network Database Language)를 정의했다.

레이블이 붙은 그래프들은 1980년대 중순부터 논리 데이터 모델(Logical Data Model) 등 그래프 데이터베이스에서 표현할 수 있었다.<ref name="Gutierrez" /><ref>{{학위논문 인용 |last=Kuper |first=Gabriel M |date=1985 |title=The Logical Data Model: A New Approach to Database Logic |type=Ph.D. |docket=STAN-CS-85-1069 |url=http://www.dtic.mil/dtic/tr/fulltext/u2/a323935.pdf |access-date=31 May 2016 |archive-date=2016-06-30 |archive-url=https://web.archive.org/web/20160630154240/http://www.dtic.mil/dtic/tr/fulltext/u2/a323935.pdf |url-status=dead }}</ref>

1990년대 초에 그래프 데이터베이스의 여러 개선점들이 모습을 드러냈으며 1990년대 말에는 웹 페이지를 색인화하는 노력과 더불어 가속화되었다.

2000년대 중순에서 말 즈음에 [[Neo4j]], [[오라클 스페셜 앤드 그래프]]와 같은 상용 [[ACID]] 그래프 데이터베이스들의 이용이 가능하게 되었다.

2010년대에 수직 스케일링이 가능한 상용 ACID 그래프 데이터베이스의 이용이 가능하게 되었다. 더 나아가, [[SAP HANA]]는 그래프 데이터베이스에 [[인메모리 데이터베이스|인메모리]]와 [[컬럼 지향 DBMS|컬럼화]] 기술을 도입하였다.<ref>{{웹 인용|url=http://www.dbta.com/Editorial/News-Flashes/SAP-Announces-New-Capabilities-in-the-Cloud-with-HANA-100186.aspx|title=SAP Announces New Capabilities in the Cloud with HANA|date=2014-10-22|language=en-US|access-date=2016-07-07}}</ref> 또, 2010년대에 그래프 모델을 지원했던 [[멀티 모델 데이터베이스]]들(및 관계형 데이터베이스나 [[도큐먼트 지향 데이터베이스]] 등의 기타 모델)이 등장하였으며 이를테면 [[OrientDB]], [[ArangoDB]], [[마크로직]](7.0 버전부터) 등이 있다.

한국의 그래프 데이터베이스 연구 개발 전문 기업으로는 [[비트나인]]이 있으며, 2017년 1월 [[아젠스그래프|AgensGraph v.1.0]]을 출시하였다.<ref>{{뉴스 인용|url=http://www.etnews.com/20170117000427|제목=비트나인, 하이브리드 그래프 데이터베이스 ‘아젠스 그래프’ 출시|성=www.etnews.com|날짜=2017-01-17|뉴스=대한민국 IT포털의 중심! 이티뉴스|언어=ko|확인날짜=2018-03-07}}</ref>

== 그래프 데이터베이스 목록 ==
저명한 그래프 데이터베이스 목록은 다음과 같다:
{| class="wikitable sortable"
|-
! 이름 !! 버전 !! [[소프트웨어 사용권|라이선스]] !! [[프로그래밍 언어|언어]]
|-
|[https://bitnine.net AgensGraph]<ref>{{뉴스 인용|url=https://news.sbs.co.kr/news/endPage.do?news_id=N1004649502|제목=[SBS News] 4차 산업혁명 빅데이터 혁신기술 '그래프 데이터베이스'를 아시나요?|성=하대석|이름=|날짜=2018-03-04|뉴스=SBS NEWS|출판사=|언어=ko-KR|확인날짜=2018-03-07}}</ref><ref>{{웹 인용|url=http://www.etnews.com/20170707000038|title=Graph DBMS 성능비교테스트 발표|성=|이름=|날짜=|website=http://www.etnews.com/20170707000038|출판사=|language=en|access-date=2018-01-15|보존url=https://web.archive.org/web/20171205042110/http://www.etnews.com/20170707000038|보존날짜=2017-12-05|url-status=dead}}</ref>
|[https://github.com/bitnine-oss/agensgraph/releases 2.5 (October 2021)]
|커뮤니티 에디션은 [[아파치 라이선스|아파치 2]] / 엔터프라이즈 에디션은 상용
|[[C (프로그래밍 언어)|C]], [[자바 (프로그래밍 언어)|자바]], [[자바스크립트|Javascript]], [[파이썬]]
|-
| [[AllegroGraph]] || 6.4.5 (November 2018) || {{some|[[사유 소프트웨어|사유]], 클라이언트: [[이클립스 공용 허가서]] v1}} || [[C 샤프|C#]], [[C (프로그래밍 언어)|C]], [[커먼 리스프]], [[자바 (프로그래밍 언어)|자바]], [[파이썬]]
|-
| [[ArangoDB]] || 3.3.11 (June 2018) || {{free}}, [[아파치 라이선스|아파치 2]] || [[C++]], [[자바스크립트]]
|-
| Blazegraph || 2.1 (April 2016) || {{some|[[상용 소프트웨어|상용]] 또는 [[GNU 일반 공중 사용 허가서|GPL]]v2 (평가용)}} || [[자바 (프로그래밍 언어)|자바]]
|-
| Cayley || 0.7.5 (November 2018) || {{free}}, [[아파치 라이선스|아파치 2]] || [[Go (프로그래밍 언어)|Go]]
|-
| Dgraph || 1.0.11 (December 2018) || {{free}}, [[AGPL]]v3 (서버용), [[아파치 라이선스|아파치 2]] (클라이언트용) || [[Go (프로그래밍 언어)|Go]]
|-
| [[DataStax]] Enterprise Graph || v6.0.1 (June 2018) || 사유 || [[자바 (프로그래밍 언어)|자바]]
|-
| [[Sparksee (graph database)|Sparksee]]<ref name="sparsity-technologies.com#sparksee">{{웹 인용|url=http://sparsity-technologies.com#sparksee |title=Sparksee high-performance graph database |website=Sparsity-technologies |access-date=May 9, 2017}}</ref> || 5.2.0 (2015) || 사유, [[상용 소프트웨어|상용]], [[프리웨어]] (평가, 연구, 개발용) || [[C++]]
|-
| GraphBase<ref>{{웹 인용|url=http://www.computerweekly.com/opinion/Graph-databases-What-are-the-benefits-for-CIOs |title=Graph databases: What are the benefits for CIOs? |last=Longbottom |first=Clive |date=May 1, 2016  |website=[[컴퓨터 위클리]] |access-date=May 9, 2017}}</ref>  || 1.0.03b  || 사유, [[상용 소프트웨어|상용]] || [[자바 (프로그래밍 언어)|자바]]
|-
| gStore<ref>{{웹 인용 |url=http://www.gstore-pku.com/en/ |title=gStore Graph Database Engine |확인날짜=2018-02-18 |보존url=https://web.archive.org/web/20170831082911/http://gstore-pku.com/en/ |보존날짜=2017-08-31 |url-status=dead }}</ref> || 0.4.1 (March 2017) || {{some|[[BSD 허가서]]}} || [[C++]]
|-
| [[InfiniteGraph]] || 3.0 (January 2013) || 사유, [[상용 소프트웨어|상용]] || [[자바 (프로그래밍 언어)|자바]]
|-
| JanusGraph || 0.6.1 (January 2022) || {{free}}, [[아파치 라이선스|아파치 2]] || [[자바 (프로그래밍 언어)|자바]]
|-
| [[마크로직]] || 8.0.4 (2015) || 사유, [[프리웨어]] 개발자 버전 || [[자바 (프로그래밍 언어)|자바]]
|-
| [[Neo4j]] || 3.5.1 (December 2018)<ref>{{웹 인용|url=https://neo4j.com/release-notes/neo4j-3-5-1/ |title=Release Notes: Neo4j 3.5.1 |website=[[Neo4j]] |access-date=January 21, 2019}}</ref>|| {{some|[[GNU 일반 공중 사용 허가서|GPLv3]] 커뮤니티 에디션, [[상용 소프트웨어|상용]] & [[AGPL]]v3 옵션 (엔터프라이즈, 어드밴스트 에디션의 경우)}} || [[자바 (프로그래밍 언어)|자바]], [[닷넷 프레임워크|.NET]], [[자바스크립트]], [[파이썬]], [[루비 (프로그래밍 언어)|루비]]
|-
| [[오픈링크 소프트웨어|오픈링크]]&nbsp;[[Virtuoso Universal Server|Virtuoso]] || 8.0 (September 2017) || {{some|오픈 소스 에디션은 [[GNU 일반 공중 사용 허가서|GPL]]v2. 엔터프라이즈 에디션은 [[사유 소프트웨어|사유]]}} || [[C (프로그래밍 언어)|C]], [[C++]]
|-
| [[Oracle Spatial and Graph]] - [[오라클 데이터베이스]]의 일부 || 12.1.0.2 (2014) || 사유 || [[자바 (프로그래밍 언어)|자바]], PL/[[SQL]]
|-
| [[OrientDB]] || 3.0.13 (January 2019) || {{some|커뮤니티 에디션은 [[아파치 라이선스|아파치 2]]. 엔터프라이즈 에디션은 [[상용 소프트웨어|상용]]}} || [[자바 (프로그래밍 언어)|자바]]
|-
| [[SAP HANA]] || SPS12 Revision 120 || 사유 || [[C (프로그래밍 언어)|C]], [[C++]], [[자바 (프로그래밍 언어)|자바]], [[자바스크립트]] & [[SQL]] 계열 언어
|-
| [[Sqrrl]]&nbsp;Enterprise || 2.0 (February 2015) || 사유 || [[자바 (프로그래밍 언어)|자바]]
|-
| [[테라데이터|Teradata Aster]] || 7 (2016) || 사유 || [[자바 (프로그래밍 언어)|자바]], [[SQL]], [[파이썬]], [[C++]], [[R (프로그래밍 언어)|R]]
|-
| TigerGraph<ref>{{웹 인용|url=https://thenewstack.io/introducing-tigergraph-native-parallel-graph-database/|title=Introducing TigerGraph, a Native Parallel Graph Database|date=2017-09-19|language=en-US|access-date=2017-09-19}}</ref> || 2.1.3 (July 2018) || 사유 || [[C++]]
|-
| [[마이크로소프트 SQL 서버]] 2017<ref>{{웹 인용|url=https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017 |title=What's New in SQL Server 2017|date=April 19, 2017 |website=Microsoft Docs |access-date=May 9, 2017}}</ref> || RC1 || 사유 || [[SQL]]/T-SQL, [[R (프로그래밍 언어)|R]], [[파이썬]]
|}

== 같이 보기 ==
* [[NoSQL]]
* [[객체 지향 데이터베이스]]

== 각주 ==
{{각주}}

{{데이터베이스 모델}}
{{전거 통제}}

[[분류:그래프 데이터베이스| ]]
[[분류:데이터베이스 모델]]