哪种类型的数据库非常适合这种工作量?

时间:2011-07-12 13:01:38

标签: mysql ruby mongodb database

我知道这是一个有点主观的问题,但无论如何我想把它扔出去,因为如果有一些我错过的见解,问这个问题会拯救我(希望其他人)大量的搜索: - )

基本上,当您将多个项目相互链接时,最佳数据库类型是什么。例如:

A->B->C->D->E->F->G->H->I

并且您希望能够快速找到A和I之间的最短路径(或理想路径的数量)?

我通常会为此使用关系数据库,但我不确定MapReduce样式数据库是否更好然后我想知道是否有一种我完全没有考虑过的数据库......

一如既往,所有帮助都感激不尽:)

2 个答案:

答案 0 :(得分:4)

这正是neo4j的设计目标。它是一个图形数据库,提供执行图遍历和其他常见操作的操作。

答案 1 :(得分:-1)

我建议调查MongoDB - 它不是一个关系型数据库,你的所有数据都以JSON的形式保存和传递,它易于扩展并且可以构建性能,并且还带来了一些技巧,像MapReduce构建到mongoDB中的方式更多。

由于数据保存为JSON,您可以很好地保存对象和数组中的对象:

{
  foo:"bar", 
  animals: ['cat','dog','fish'],
  blog:{
    post:"Hello World!",
    comments:["this is cool","Hello back"]
  }
}

结帐 - http://www.mongodb.org/
http://www.mongodb.org/display/DOCS/MapReduce/
了解更多信息