分片与mongoDB中的分布式数据库相同吗?

分片与mongoDB中的分布式数据库相同吗?,mongodb,virtualbox,distributed,sharding,database,Mongodb,Virtualbox,Distributed,Sharding,Database,我想将mongodb实现为一个分布式数据库,但找不到好的教程。每当我在mongodb中搜索分布式数据库时,它都会给我提供切分链接,因此我不知道它们是否是相同的东西?一般来说,如果你有一个阅读量大的系统,你可能会想使用。它是1个主,最多有50个辅助。secondary分担读压力,而primary负责写操作。它是一个自动故障切换系统,因此当主关闭时,其中一个辅助将在那里接受作业,并成为新的主 然而,它更灵活。所有碎片共享写入压力和读取压力。也就是说,数据被分配到不同的碎片。每个碎片可以由一个复制系统

我想将mongodb实现为一个分布式数据库,但找不到好的教程。每当我在mongodb中搜索分布式数据库时,它都会给我提供切分链接,因此我不知道它们是否是相同的东西?

一般来说,如果你有一个阅读量大的系统,你可能会想使用。它是1个
,最多有50个
辅助
secondary
分担读压力,而
primary
负责写操作。它是一个自动故障切换系统,因此当
关闭时,其中一个
辅助
将在那里接受作业,并成为新的

然而,它更灵活。所有
碎片
共享写入压力和读取压力。也就是说,数据被分配到不同的
碎片
。每个碎片可以由一个
复制
系统组成,自动故障切换工作如上所述

我会首先选择
replication
,因为它很简单,对于大多数场景基本上都足够了。一旦还不够,你可以选择


还有另一个关于的讨论供您参考。

关于分布式数据库的一些观点:

在90年代早期,很多应用程序都是基于桌面的,并且有一个本地数据库,其中包含MB/GBs的数据

现在,随着基于web的应用程序的出现,可以有数百万用户使用和存储他们的数据,这些数据可以达到GB/TB/PB。在一台服务器上存储所有这些数据在经济上是昂贵的,因此有一个服务器集群(或商品硬件),在该集群中数据是水平分区的。切分是数据水平分区的另一个术语。 例如,您有一个包含100行的客户表,您想在4台服务器上对其进行分片,您可以选择基于“键”的分片,其中客户将按如下方式分布:分片-1(1-25)、分片-2(26-50)、分片-3(51-75)、分片-4(76-100)

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

  • 基于散列的

  • 基于密钥的


  • 是mongoDB的最佳教程。@Glavić是的,我读过,但这并不能回答我的问题。是的,切分可以被认为是对数据库进行分区,但Mongo提供了分布式数据库的许多功能,可以自动配置和处理。用户不必担心同步、复制和可靠性。根据您的要求,您可能希望使用或同时使用它们。实际上,共享数据库意味着您正在共享该数据库