Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在开发web应用程序时,何时使用图形数据库而不是文档数据库?_Ruby On Rails_Database_Document Database_Graph Databases - Fatal编程技术网

Ruby on rails 在开发web应用程序时,何时使用图形数据库而不是文档数据库?

Ruby on rails 在开发web应用程序时,何时使用图形数据库而不是文档数据库?,ruby-on-rails,database,document-database,graph-databases,Ruby On Rails,Database,Document Database,Graph Databases,我正在使用Rails开发一个基于web的应用程序。我正在讨论使用图形数据库(如InfoGrid)还是文档数据库(如MongoDB) 我的应用程序需要同时存储小数据集(如URL)和大数据集(如虚拟机)。此数据将绑定到单个用户 我感兴趣的是了解人们使用图形或文档数据库的经历,以及他们为什么会使用这两种数据库 谢谢你我觉得我对这两个方面都没有足够的经验来正确完整地回答你的问题,但是我使用文档数据库已经有一段时间了,这里有一些个人提示 文档数据库基于键、值和静态视图的概念,对于查找一组具有特定值的文档非

我正在使用Rails开发一个基于web的应用程序。我正在讨论使用图形数据库(如InfoGrid)还是文档数据库(如MongoDB)

我的应用程序需要同时存储小数据集(如URL)和大数据集(如虚拟机)。此数据将绑定到单个用户

我感兴趣的是了解人们使用图形或文档数据库的经历,以及他们为什么会使用这两种数据库


谢谢你

我觉得我对这两个方面都没有足够的经验来正确完整地回答你的问题,但是我使用文档数据库已经有一段时间了,这里有一些个人提示

文档数据库基于键、值和静态视图的概念,对于查找一组具有特定值的文档非常酷

它们没有概念化文档之间的关系

因此,如果您的软件必须提供高级“查询”,其中选择标准作用于多个“文档类型”,或者如果您只需要使用多个元素执行选择,[key,value]概念并不合适

还有许多其他不适合使用文档数据库的情况:在“分页”表中显示大型数据集,在多个列上进行排序是性能低下且磁盘空间使用量巨大的情况之一

因此,在许多情况下,您必须执行“服务器端”处理才能完成任务,而使用rails或任何其他基于ruby的框架,您可能会遇到性能问题

图形数据库基于tripplestore的概念,这意味着它们还概念化了实体之间的关系

可以使用关系(和实体角色)遍历该图,并且在跨关系结构化数据执行搜索时可能更方便

由于我没有使用图形数据库的经验,我不知道是否可以使用几个标准轻松地查询/遍历图形数据库,但是如果建议的读者有这样的信息,我非常感谢任何此类查询/遍历的示例

我目前正在阅读有关InfoGrid的文章,并试图弄清楚这样的数据库是否可以方便地对一组非常大的数据(包括关系)执行复杂的请求

据我所知,InfoGrah应该被视为“数据联邦者”,能够搜索/挖掘来自多个源(存储)的数据,也可以是NoSQL数据库,如Mongo

Wich意味着您可以使用mongo存储进行更新,使用InfoGraph进行数据搜索,并且在nosql数据库中进行复杂搜索时可能会节省大量cpu和磁盘

当然,如果你的应用程序只是在数据库中存储一大组巨大的二进制文件,而你所需要的只是执行简单的密钥查询和检索结果,那么这可能看起来有点“过火”。在这种情况下,像mongo或Coach这样的nosql数据库可能很方便


希望这能有所帮助;)

当通过边连接相关文档时,您会得到浅图还是深图?我认为在决定GraphDB和DocumentDB时,这个问题的答案很重要。吉姆·韦伯(Jim Webber)提供了这些思路