对普通非分区表,单机单副本理论上是不是比三机三副本要快?单机单副本稳定度咋样,不知道有没有大佬做过测试?单机单副本的mtbf之类的指标有没有?
三机三副本 看怎么用。如果设置了 primary_zone 为单个 Zone,跟 单机单副本相比,在所有配置都一样的情况下,读是一样的,写会差一些,因为三副本多数派强同步,事务日志生效确认延时肯定比单个副本要长一些。
但是比性能的话,三机三副本可以 primary_zone 设置为两个或三个zone,从而将大量表(实际是分区)的读写入点错开,宏观上实现三机同时提供读写服务。这个时候有些 带表连接的 SQL 可能会是分布式执行计划,有些 SQL可能是远程执行计划。就某一个sql而言可能会比单机更慢。不过如果是性能压测的时候,当单机单副本已经呈现瓶颈的时候,三机三副本这种用法 还很可能有更多提升空间。所以有些sql 可能又比单机遭遇瓶颈后性能更好。
总体上来说使用方法得当的话,三机三副本的总体性能大概率是高于单机单副本。
单机单副本没有说稳定程度如何这种说法,更准确的说是 OB 稳定程度怎么样。 如果 OB 不稳定,单个节点不稳定的情况下,三节点虽然有高可用,整体也不会太稳定。这种情况并没有发生。
不过有不少用户压测三机三副本总是出现各种报错,大部分原因是 资源配置、参数设置、使用方法不当导致。真正触及 OB 新版本 BUG 的是很少见的。 当你各方面配置都很合理,使用方法也合理的时候,如果你还遇到稳定性问题,那是可以去怀疑 是不是遭遇了 BUG 。