什么是图表数据库?

时间:2012-01-05 03:11:22

标签: nosql graph-databases

查看options for an embedded NoSQL database written in Java,图表数据库出现了。什么是图形数据库(特别是与键值存储和面向文档的数据库形成对比)以及何时使用一个(何时不使用)?

3 个答案:

答案 0 :(得分:1)

我在学校(很久以前)学到了一些关于他们的知识。关系还没有完全接管世界,但它很接近,所以图表数据库得到了粗略的提及。 IIRC他们当时几乎死了。我不确定这会是多么有用,但我会把它放在那里以防它对某人有所帮助。

基本上,如果我记得是真的,图表数据库本质上就是一个图表。您从图中检索数据(节点),然后查找相关信息,您将遍历链接(边)到图结构中的相关数据。

除了明显的情况,你的数据是类似图形的,并且可能更快/更自然地使用,我不记得任何优点。我不记得任何缺点,但我怀疑它可能与关系数据库表现良好的各种事情(即通过大量的元组启动)做得不好。

答案 1 :(得分:1)

有几个来源可以回答“什么”问题,包括:

http://www.infinitegraph.com/what-is-a-graph-database.html

  

什么时候应该使用图表数据库?

     

如果您的数据包含许多多对多关系,请执行以下操作:   递归自连接太昂贵或限制您的应用程序   和扩展需求,和/或您的主要目标是快速找到   您的对象之间的连接,模式和关系   数据

答案 2 :(得分:0)

图形数据库在信息具有固有的图形性质的场景中很有用,例如社交网络,维基百科等书目数据库,欺诈检测,媒体分析,推荐,生物网络分析......在这些场景中,它是不太可能只获得结果列表,而是获得满足给定约束的一组实体。

图表数据库非常有用,因为:

Relationships between entities are implicit in the model
They are more flexible to manage unknown or dynamic schemas
Favor structural and navigational queries
They are more efficient solving network operations