跳转到内容

图数据库:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
无编辑摘要
翻译自英文维基百科
第1行: 第1行:
{{NoteTA|G1=IT}}
{{unreferenced|time=2012-01-24T01:40:34+00:00}}
在[[计算 (计算机科学)|计算机科学]]中,'''图数据库'''({{lang-en|graph database}},'''GDB'''<ref>{{cite book|url=https://books.google.com/?id=mV3wxKLHlnwC&pg=PA381&lpg=PA381&dq=%22gdb%22+%22graph+database%22#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|isbn=9789810226374|year=1998}}</ref>)是一个使用[[Graph (data structure)|图结构]]进行[[Semantic query|语义查询]]的[[数据库]],它使用[[顶点 (图论)|节点]]、[[图论术语|边]]和属性来表示和存储数据。该系统的关键概念是'''图''',它直接将存储中的数据项,与数据'''节点'''和节点间表示关系的'''边'''的集合相关联。这些关系允许直接将存储区中的数据链接在一起,并且在许多情况下,可以通过一个操作进行检索。图数据库将数据之间的关系作为优先级。查询图数据库中的关系很快,因为它们永久存储在数据库本身中。可以使用图数据库直观地显示关系,使其对于高度互连的数据非常有用。<ref name=":0">{{cite journal|last=Yoon|first=Byoung-Ha|last2=Kim|first2=Seon-Kyu|last3=Kim|first3=Seon-Young|date=March 2017|title=Use of Graph Database for the Integration of Heterogeneous Biological Data|journal=Genomics & Informatics|volume=15|issue=1|pages=19–27|doi=10.5808/GI.2017.15.1.19|issn=1598-866X|pmc=5389944|pmid=28416946}}</ref>
'''图数据库'''也可称为面向/基于图的数据库,对应的英文是Graph database。图数据库的基本含义是以“[[图_(数学)|图]]”这种数据结构存储和查询数据,不是存储图片的数据库。图数据库的基本存储单元为:节点、关系、属性。

图数据库是一种[[NoSQL|非关系型数据库]],以解决现有[[关系数据库]]的局限性。图模型明确地列出了数据节点之间的依赖关系,而关系模型和其他NoSQL数据库模型则通过隐式连接来链接数据。图模型明确地列出了数据节点之间的依赖关系,而关系模型和其他NoSQL数据库模型则通过隐式连接来链接数据。图数据库从设计上,就是可以简单快速地检索难以在关系系统中建模的复杂层次结构的。图数据库与20世纪70年代的网络模型数据库相似,它们都表示一般的图,但是[[network model|网络模型]]数据库在较低的抽象层次<ref name="Gutierrez">{{cite journal |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 |volume= 40 |issue= 1 |pages= 1–39 |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|citeseerx= 10.1.1.110.1072 }}</ref>上运行,并且不能轻松遍历一系列边。<ref>{{cite book |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= 978-0-07-352332-3}}</ref>

图数据库的底层存储机制可能各有不同。有些依赖于关系引擎并将图数据“存储”到[[数据库表|表]]中(虽然表是一个逻辑元素,但是这种方法在图数据库、图数据库管理系统和实际存储数据的物理设备之间施加了另一层抽象)。另一些则使用[[key-value store|键值存储]]或[[文件導向的數據庫]]进行存储,使它们具有固有的[[NoSQL]]结构。大多数基于非关系存储引擎的图数据库还添加了'''标记'''或'''属性'''的概念,这些标记或属性本质上是具有指向另一个文档的指针的关系。这样就可以对数据元素进行分类,以便于集中检索。

从图数据库中检索数据需要[[SQL]]之外的[[查詢語言]],SQL是为了处理关系系统中的数据而设计的,因此无法“优雅地”处理遍历图。{{As of|2017}},没有一个像SQL那样通用的图查询语言,通常都是仅限与一个产品的。不过,已经有一些标准化的工作,使得[[Gremlin]]、[[SPARQL]]和[[Cypher Query Language|Cypher]]成为了多供应商查询语言。除了具有查询语言接口外,还可以通过[[应用程序接口]](API)访问一些图数据库。

图数据库与图计算引擎不同。图数据库是转换关系[[線上交易處理|OLTP]]数据库的技术。而图计算引擎在[[線上分析處理|OLAP]]中用于批量分析。由于主要技术公司在使用专有图数据库方面的成功以及[[开源软件|开源]]图数据库的引入,<ref>{{cite web|url=https://www.kdnuggets.com/2018/02/graph-databases-burst-into-the-mainstream.html|title=Graph Databases Burst into the Mainstream|website=www.kdnuggets.com|access-date=2018-10-23}}</ref> 图数据库在2000年代引起了相当大的关注。

==参考文献==
{{reflist}}


{{Database models}}
{{Database models}}

2019年3月8日 (五) 02:22的版本

计算机科学中,图数据库(英語:graph databaseGDB[1])是一个使用图结构进行语义查询数据库,它使用节点和属性来表示和存储数据。该系统的关键概念是,它直接将存储中的数据项,与数据节点和节点间表示关系的的集合相关联。这些关系允许直接将存储区中的数据链接在一起,并且在许多情况下,可以通过一个操作进行检索。图数据库将数据之间的关系作为优先级。查询图数据库中的关系很快,因为它们永久存储在数据库本身中。可以使用图数据库直观地显示关系,使其对于高度互连的数据非常有用。[2]

图数据库是一种非关系型数据库,以解决现有关系数据库的局限性。图模型明确地列出了数据节点之间的依赖关系,而关系模型和其他NoSQL数据库模型则通过隐式连接来链接数据。图模型明确地列出了数据节点之间的依赖关系,而关系模型和其他NoSQL数据库模型则通过隐式连接来链接数据。图数据库从设计上,就是可以简单快速地检索难以在关系系统中建模的复杂层次结构的。图数据库与20世纪70年代的网络模型数据库相似,它们都表示一般的图,但是网络模型数据库在较低的抽象层次[3]上运行,并且不能轻松遍历一系列边。[4]

图数据库的底层存储机制可能各有不同。有些依赖于关系引擎并将图数据“存储”到中(虽然表是一个逻辑元素,但是这种方法在图数据库、图数据库管理系统和实际存储数据的物理设备之间施加了另一层抽象)。另一些则使用键值存储文件導向的數據庫进行存储,使它们具有固有的NoSQL结构。大多数基于非关系存储引擎的图数据库还添加了标记属性的概念,这些标记或属性本质上是具有指向另一个文档的指针的关系。这样就可以对数据元素进行分类,以便于集中检索。

从图数据库中检索数据需要SQL之外的查詢語言,SQL是为了处理关系系统中的数据而设计的,因此无法“优雅地”处理遍历图。截至2017年 (2017-Missing required parameter 1=month!),没有一个像SQL那样通用的图查询语言,通常都是仅限与一个产品的。不过,已经有一些标准化的工作,使得GremlinSPARQLCypher成为了多供应商查询语言。除了具有查询语言接口外,还可以通过应用程序接口(API)访问一些图数据库。

图数据库与图计算引擎不同。图数据库是转换关系OLTP数据库的技术。而图计算引擎在OLAP中用于批量分析。由于主要技术公司在使用专有图数据库方面的成功以及开源图数据库的引入,[5] 图数据库在2000年代引起了相当大的关注。

参考文献

  1. ^ Nikolaos G. Bourbakis. Artificial Intelligence and Automation. World Scientific. 1998: 381 [2018-04-20]. ISBN 9789810226374. 
  2. ^ Yoon, Byoung-Ha; Kim, Seon-Kyu; Kim, Seon-Young. Use of Graph Database for the Integration of Heterogeneous Biological Data. Genomics & Informatics. March 2017, 15 (1): 19–27. ISSN 1598-866X. PMC 5389944可免费查阅. PMID 28416946. doi:10.5808/GI.2017.15.1.19. 
  3. ^ Angles, Renzo; Gutierrez, Claudio. Survey of graph database models (PDF). ACM Computing Surveys. 1 Feb 2008, 40 (1): 1–39 [28 May 2016]. CiteSeerX 10.1.1.110.1072可免费查阅. doi:10.1145/1322432.1322433. network models [...] lack a good abstraction level: it is difficult to separate the db-model from the actual implementation 
  4. ^ Silberschatz, Avi. Database System Concepts, Sixth Edition (PDF). McGraw-Hill. 28 January 2010: D-29. ISBN 978-0-07-352332-3. 
  5. ^ Graph Databases Burst into the Mainstream. www.kdnuggets.com. [2018-10-23].