4

查看用 Java 编写的嵌入式 NoSQL 数据库的选项,出现了图形数据库。什么是图形数据库(特别是与键值存储和面向文档的数据库相比),我什么时候使用(什么时候不使用)?

4

3 回答 3

1

我在学校(很久以前)对他们有所了解。关系还没有完全占据世界,但它已经很接近了,所以图数据库得到了粗略的提及。IIRC他们当时几乎死了。我不确定这会提供多少信息,但我会把它放在那里以防它对某人有帮助。

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

除了您的数据类似于图形并且使用起来可能更快/更自然的明显情况外,我不记得有任何优势。我不记得有任何缺点,但我怀疑它可能不适合关系数据库擅长的各种事情(即通过大量元组进行操作)。

于 2012-01-05T03:38:36.623 回答
1

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

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

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

如果您的数据包含大量多对多关系,如果递归自联接成本太高或限制了您的应用程序和扩展需求,和/或您的主要目标是快速找到您的对象之间的连接、模式和关系数据。

于 2012-01-10T19:05:12.920 回答
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
于 2012-01-05T12:48:45.923 回答