从数据模型的早期发展来看,主要有两个流派:传统关系数据库所采用的关系模型和语义网采用的网络结构,即图。
为了解决性能缺陷,人们提出了图形模型。按照该模型,一个网络图结构主要包含以下几个构造单元。
- 节点(即顶点)。
- 关系(即边):具有方向和类型。在节点与节点之间可以连接多条边。
- 节点和关系上面的属性。
采用图结构存储数据可以应用图论算法进行各种复杂的运算,如最短路径计算、测地线、集中度测量等。
近年来基于图结构的数据库比较著名的有基于java的开源图形数据库Neo4j。
Neo4j是一个嵌入式、基于磁盘的、支持完整事务的java持久化引擎。它采用图结构存储数据,支持大规模可扩展性,在一台机器上可以处理数10亿节点、关系或者属性的图形结构,也可以扩展到多台机器并行运行。相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁地查询。