首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分片是否等同于mongoDB中的分布式数据库?

分片是否等同于mongoDB中的分布式数据库?
EN

Stack Overflow用户
提问于 2015-06-12 13:36:03
回答 2查看 3.1K关注 0票数 8

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

EN

回答 2

Stack Overflow用户

发布于 2015-06-12 14:22:03

一般来说,如果你有一个读繁重的系统,你可能会想要使用replication。最大为50 secondaries的1 primarysecondaries分担读取压力,而primary负责写入。它是一个自动故障切换系统,因此当primary关闭时,其中一个secondaries将接管那里的工作,并成为新的primary

然而,Sharding更加灵活。所有Shards共享写压力和读压力。也就是说,数据分布在不同的Shards中。每个分片可以由一个Replication系统组成,并且自动故障转移的工作原理如上所述。

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

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

票数 7
EN

Stack Overflow用户

发布于 2015-06-12 14:33:04

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

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

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

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

基于

  1. 散列的
  2. Key based
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30795937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档