与mongoDB中的分布式数据库相同? [关闭]

问题描述 投票:5回答:2

我想将mongodb实现为分布式数据库,但我找不到好的教程。每当我在mongodb中搜索分布式数据库时,它都会给我分片的链接,所以我很困惑,如果它们都是相同的东西?

mongodb virtualbox distributed sharding database
2个回答
6
投票

一般来说,如果你有一个读取繁重的系统,你可能想要使用replication。这是1 primary与最多50 secondariessecondaries分享阅读压力,而primary负责写作。这是一个自动故障转移系统,因此当primary下降时,其中一个secondaries将在那里工作并成为一个新的primary

然而,Sharding更灵活。所有Shards分享写压力和阅读压力。也就是说,数据被分配到不同的Shards中。并且每个分片可以由Replication系统和自动故障转移组成,如上所述。

我会首先选择replication,因为它很简单,基本上足以满足大多数情况。一旦它还不够,你可以选择convert from replication to sharding

还有另一个关于differences between replication and sharding的讨论供您参考。


0
投票

对分布式数据库的一些看法:

在九十年代早期,许多应用程序都是基于桌面的,并且有一个包含MB / GB数据的本地数据库。

现在随着基于Web的应用程序的出现,可能有数百万用户使用和存储他们的数据,这些数据可以运行到GB / TB / PB。将所有这些数据存储在单个服务器上是非常昂贵的,因此存在一组服务器(或商品硬件),数据在这些服务器上水平分区。分片是数据水平分区的另一个术语。例如,您有一个包含100行的Customer表,您希望在4个服务器上对其进行分片,您可以选择基于“密钥”的分片,其中客户将按如下方式分发:SHARD-1(1-25),SHARD-2 (26-50),碎片-3(51-75),碎片-4(76-100)

分片可以通过两种方式完成:

  1. 基于哈希
  2. 基于密钥
© www.soinside.com 2019 - 2024. All rights reserved.