复制与分片(读取可扩展性与写入可扩展性)

问题描述 投票:0回答:1

有人可以解释为什么他们说数据库复制对于读取可扩展性更理想,而分片对于写入可扩展性更理想吗?

以我目前的理解:

  • 复制允许读取流量分布在多个副本而不是单个节点之间,从而增加读取流量。这不也适用于写入流量吗?
  • 分片允许将一个非常大的数据库节点(例如 10 TB)分成几个较小的节点,这使得流量/查询速度更快(因为它不需要搜索 10 TB 的数据)。这不适用于读取和写入流量吗?
database architecture replication scalability sharding
1个回答
0
投票

分片可以根据工作负载类型(I/O 模式)同时支持两者。如果写入量很大,并且不仅仅发生在同一分片的几个键上,那么将它们分布在一堆机器上可以减少每台机器的负载,从而允许您进行更多写入。如果读取模式也分布良好,因此不会仅在几个键上创建热点,那么是的,您是对的。

复制永远无法实现写入可扩展性,因为每个更新都必须发送到所有副本。从这个意义上说,实际上与可扩展相反,因为它会导致写入放大。

© www.soinside.com 2019 - 2024. All rights reserved.