有人可以解释为什么他们说数据库复制对于读取可扩展性更理想,而分片对于写入可扩展性更理想吗?
以我目前的理解:
分片可以根据工作负载类型(I/O 模式)同时支持两者。如果写入量很大,并且不仅仅发生在同一分片的几个键上,那么将它们分布在一堆机器上可以减少每台机器的负载,从而允许您进行更多写入。如果读取模式也分布良好,因此不会仅在几个键上创建热点,那么是的,您是对的。
复制永远无法实现写入可扩展性,因为每个更新都必须发送到所有副本。从这个意义上说,实际上与可扩展相反,因为它会导致写入放大。