MongoDB用例:分片与复制

2020年12月31日19:38:57 发表评论 44 次浏览

介绍

在这组场景中, 我们将探讨MongoDB分片和复制之间的区别, 并说明何时最合适的解决方案。复制和分片都是水平扩展的形式, 可以创建高可用性(HA)设置。

用例:分片与复制

复制和分片均可(单独或一起)用于MongoDB安装的水平扩展。

分片是MongoDB的满足数据增长需求的解决方案。分片可将数据记录存储在多个服务器上, 以提高读写查询的吞吐量, 特别是对于非常大的数据集。

分片群集中的任何服务器都可以响应读取或写入操作, 从而大大加快了查询响应速度。

复写是MongoDB的解决方案, 用于为MongoDB安装提供稳定性, 备份和灾难恢复。此过程跨多个服务器复制并同步副本数据集。如果一台服务器脱机, 这可以防止停机。

任何辅助服务器都可以响应读取查询, 但是只有主服务器将执行写操作。然后, 写入操作的结果将传播到辅助服务器。

方案1:容错

在这种情况下, 用户将在MongoDB安装中存储计费数据。此数据对于用户的业务而言至关重要, 即使服务器崩溃或脱机, 该数据也必须24/7可用。

MongoDB复制是此用户的最佳解决方案。通过复制, 整个数据集将在多个服务器上进行镜像。如果服务器发生故障或脱机, 则群集中的其他服务器将接管。

方案2:高效能

在这种情况下, 用户正在运行一个从MongoDB数据库运行的社交网站。随着社交网络的发展, MongoDB数据集也随之增长。用户看到查询时间和页面负载增加到可接受的程度。用户的MongoDB安装获得重大的性能提升至关重要。

对于该用户而言, 设置分片的MongoDB集群是最佳解决方案。分片群集将分解用户的数据集并将其一部分存储在单独的辅助服务器上。每个辅助服务器都可以响应对其部分数据的读取或写入查询, 这大大增加了安装的响应时间。

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: