15

我需要将依赖项存储在 DAG 中。(我们正在细粒度地绘制新的学校课程)

我们正在使用 Rails 3

注意事项

  • 比深更宽
  • 很大
  • 我估计每个节点有 5-10 个链接。随着系统的发展,这将增加。
  • 多读少写
  • 最常见的是查找:
    • 一级和二级依赖
    • 搜索/验证依赖关系

我知道 SQL,我会考虑 NoSQL。

寻找指向实现选项的良好比较的指针。

也对我们可以快速开始的东西感兴趣,但以后过渡到更健壮/可扩展的东西会不那么痛苦。

4

4 回答 4

13

我发现了这个在 SQL 中建模有向无环图的例子:

http://www.codeproject.com/KB/database/Modeling_DAGs_on_SQL_DBs.aspx?msg=3051183

于 2010-12-08T06:17:43.347 回答
5

我认为图形数据库Neo4j的Ruby 绑定的即将发布的版本(目前是测试版)应该很合适。它与 Rails 3 一起使用。底层数据模型使用节点和定向关系/边,两者都具有键/值样式属性。为了扩展以读取为主的架构,Neo4j 使用主/从复制设置。

于 2010-10-10T08:41:41.967 回答
4

您可以使用OrientDB作为图形数据库。它针对关系进行了高度优化,因为存储为链接而不是 JOIN。加载具有 1,000 个顶点的双向图需要几毫秒。

Rails 的语言绑定尚不可用,但您可以将它与 HTTP RESTful 调用一起使用。

于 2010-10-13T16:14:17.370 回答
1

您可能想看看 act_as_dag gem。

https://github.com/resgraph/acts-as-dag

对于可能需要这方面背景的人来说,还有一些关于 Dags with SQL 的好文章。

http://www.codeproject.com/Articles/22824/A-Model-to-Represent-Directed-Acyclic-Graphs-DAG-o

于 2013-04-28T02:04:23.110 回答