我需要在DAG中存储依赖项。 (我们正在以非常精细的水平绘制新的学校课程)
我们正在使用rails 3
考虑
我知道SQL,我会考虑NoSQL。
寻找有关实施选项的良好比较的指示。
对我们可以从快速入手的内容感兴趣,但是稍后过渡到更强大/可扩展的内容会更少痛苦。
答案 0 :(得分:12)
我在SQL中找到了建模有向非循环图的例子:
http://www.codeproject.com/KB/database/Modeling_DAGs_on_SQL_DBs.aspx?msg=3051183
答案 1 :(得分:4)
我认为图表数据库Ruby bindings的Neo4j即将推出的版本(目前为测试版)应该非常合适。它用于Rails 3.底层数据模型使用节点和定向关系/边缘以及两者上的键/值样式属性。为了扩展以读取为主的架构,Neo4j使用master/slave replication设置。
答案 2 :(得分:4)
您可以使用OrientDB作为图表数据库。它针对关系进行了高度优化,因为它们存储为链接而不是JOIN。具有1,000个顶点的双向图的加载需要几毫秒。
Rails的语言绑定尚不可用,但您可以将其与HTTP RESTful调用一起使用。
答案 3 :(得分: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