图表数据块与文件数据块与Triplestores(Graph DBs vs. Document DB

2019-06-27 04:18发布

这是一个比较抽象和普遍的问题。 我感兴趣的不同方法的固有(以及具体实现的)特性来保持在与两个批次内部参考(图状)和大量的属性(JSON-等)的非结构化数据。

  • 由于图是一棵树的超集,你可以看看图的DB(如Neo4j的)的文件数据块(如MongoDB中)的超集。 也就是说,图DB提供文件DB的所有功能,再加上另外还可以循环或有一个本地指针类型,所以你不必取消引用外国键/ IDS手动。 那么,有没有,你到你的对象/资源在您使用的图形数据库更好,但以前关闭了文档存储更加入了更多的参考,当达到一定临界点? 是否有优势,文件数据块(存储空间,性能如何?),还是应该你只是总是以图形DB以防万一,你需要在未来更多的参考资料去?

  • 同样,如何绘制DB和triplestores(如RDF存储)比较? 图形数据块(其中节点和边具有属性)似乎是简单triplestores的超集。 因此,对于哪些问题(如果有的话)执行triplestores实际上更好的话,说的Neo4j? (RDF存储的一个优点是,有一个标准化的查询语言 - SPARQL - 虽然似乎有很多不喜欢SPARQL,因此将其称之为缺点的人。)

我想我的问题是:该图模型(包含属性)似乎能够整齐地表达各种数据,什么是赶上,当你进入现实? 我想图DB的渔获的表现,所以我很乐意看到什么样的速度变慢的一些数字或经验法则的期望时加载,查询和修改数据以及内存和持久的存储需求(相对于文件和三店)。 此外关于横向扩展是什么? 我得到的印象是有公平的竞争环境是相当的水平。

你认为它有可能与他们的表达性的图表将成为具有不超大量的数据,还是我们注定十年项目新的默认存储模式多语种持久性与RDBMS,JSON商店和图形数据块沿着彼此生活这必须与更多的胶水代码集成?

Answer 1:

我不知道我会与很多人不喜欢SPARQL感情认同。 SPARQL 1.0也有一些短的缺憾,但它很好地解决它是专为,而新的迭代,SPARQL 1.1,建立在从SQL人们有望在原来的规格看,包括子查询增加了许多结构,聚集&更新语义。 我认为,事实上,它是标准的,你可以期望看到相同的解析及语义在各个三联店,而不是SQL的方言,是一个很好的功能。

我也声称,所有三联门店图形数据库; 你可以把特定的边缘性质RDF,虽然不是很好,你可以瓦特/ Neo4j的。 但三联卖场有一个真正的查询语言,W3C标准的数据表示,这使得它琐碎把你的数据到另一个triplestore的优势,并为多家三重店,有能力基于OWL进行推理。

我不知道的可扩展性对于大多数图形数据库的任何东西,但通常,商业RDF数据库扩展得非常好。 所有可以扩展到数十亿美元的三倍,它处理了大量的使用案例。 虽然他们如何处理规模由供应商广泛而不同厂商WRT以扩大或向外扩展,集群等,还可以看到相当不同MEM和硬件要求符合每个的实现。 对于我来说,我倾向于只是去,抓住一个EC2实例,通常是2XL或4XL,安装大到足以容纳数据的EBS,而且我很好设定。

此外,一些三重店使用Lucene或类似的技术集成到了数据提供倒排索引,现在许多人都开始包括地理空间和时间的索引。 这些都是非常有用的功能,我不知道他们在像Neo4j的可用性。

随着中说,他们不打算扩展,以及一个关系数据库,他们只是没有那么成熟。 但你也不会当你有数据的“真实”的数额要么就会上当受骗。 当然,三元店的优势之一是推理,其执行规模化是棘手的,但这是很多的,为什么被创建的各种OWL型材的原因。 但是,你可以画自己到一个角落,如果你不提前考虑。

我认为,图形数据库,三联门店具体而言,可以为很多正在构建的应用程序相当不错的比赛,但我不认为这意味着一切都应该与他们进行。 其他任何事情一样,他们是工具瓦特/自己好点和他们的优缺点,让你有种要根据您的应用程序的正确选择。 但他们可能永远值得至少考虑这些天。



Answer 2:

只是一个小的修正AMK答案:TinkerPop有关还包含ArangoDB适配器,见https://github.com/triAGENS/blueprints-arangodb-graph/wiki/Gremlin 。 所以,你可以使用小鬼查询与ArangoDB。

在一般情况下,像ArangoDB或OrientDB多模型数据库允许您使用图形结构一起使用的文件数据库(无架构,索引)的所有不错的功能。 一个顶点或边简单地是一个文档作为文档数据库。 只要你喜欢,你可以有很多的属性,甚至嵌入文档。 您可以对这些文件规定的散列,范围,全文,或地理索引。 或者,你可以忘掉文档结构和查看文档的顶点和边,使用精怪或一些穿越语言investige底层的图。

至于这个问题:“我们是用多种语言的持久性注定”:独立的文件/图形数据库问题,我相信这RDBMS将围绕一小会儿时间。 所以,这个问题的答案是:“是的,这是非常有可能”。



Answer 3:

没有为图形数据库的临时标准- TinkerPop有关 ,包括小鬼(必要)查询语言,比其他ArangoDB一切支持。

到浑水摸鱼进一步也有混合文档-图形数据库OrientDB和ArangoDB。

这让我感到储存使用图形数据库的边缘的孩子的关系与在文档数据库嵌入对象之间的主要区别在于,前者的孩子可以实现廉价而不必它出现的风险转移到另一个父两个地方有两个不同的地方。



文章来源: Graph DBs vs. Document DBs vs. Triplestores