Nosql 大型键值存储的横向扩展比文档数据库更好的是谁?

Nosql 大型键值存储的横向扩展比文档数据库更好的是谁?,nosql,scalability,key-value-store,document-database,distributed-database,Nosql,Scalability,Key Value Store,Document Database,Distributed Database,在本演示中,有一个图表显示了随着数据变大,以下水平可伸缩性上限: 键值>列族>文档数据库>图形数据库 换句话说,随着数据的连接越来越紧密(即越来越复杂),允许数据库增长的限制也越来越低 为什么与键值存储相比,文档数据库的数据大小不具有可伸缩性?我是否回答了自己的问题,说“连接数据越自由,划分数据就越困难” (我想做的事)每个人通常都会问:我有一个数据库,它的模式大部分是树型的,但偶尔也有两个父节点。我在原型中使用了Neo4j,但对于生产规模的应用程序,我需要更多地考虑分区。我将不得不使用Mon

在本演示中,有一个图表显示了随着数据变大,以下水平可伸缩性上限:

键值>列族>文档数据库>图形数据库

换句话说,随着数据的连接越来越紧密(即越来越复杂),允许数据库增长的限制也越来越低

为什么与键值存储相比,文档数据库的数据大小不具有可伸缩性?我是否回答了自己的问题,说“连接数据越自由,划分数据就越困难”


(我想做的事)每个人通常都会问:我有一个数据库,它的模式大部分是树型的,但偶尔也有两个父节点。我在原型中使用了Neo4j,但对于生产规模的应用程序,我需要更多地考虑分区。我将不得不使用Mongo DB,因为图形数据库不能很容易地分区,而且更难实现在Mongo DB中为我的“多父”关系编写代码。因此我想知道是否值得付出额外的努力,使用键值存储——或者至少使用列族存储)。

对于图形数据库。。。我会考虑提坦的可扩展性。 他们最近写了一篇很好的博客文章,介绍了他们的数据库引擎如何存储数据以实现扩展/性能:

Titan还可以配置为与Cassandra携手工作,因此您也可以从柱状数据库中获益

我认为你对关系(一个实体与另一个实体相关)和可伸缩性的理解一针见血

您需要管理的“连接”或“连接”越多,扩展就越困难

键/值系统假定您将在应用程序中关联数据。没有查询的概念,因此为了扩展,可以基于键进行切分。非常简单,可扩展性很强


如果你阅读了一些关于Titan的文章,你很容易理解为什么很难扩展图形数据库。

谢谢Ryan。如果你有什么推荐文章,我想读一读。我认为泰坦在缩放方面会做得更好一些。我会阅读奥雷利乌斯的博客来了解更多关于泰坦的信息。我还想看看泰坦马科·罗德里格斯的创造者。他一直在推特上发布关于缩放、图形数据库等的信息。谢谢Ryan。我会更仔细地跟踪他