知识卡片

读写分离原理及"主从集群"与"主备集群"的本质区别

普通读书笔记卡

内容

读写分离是高性能数据库集群最基础的一种方式,本质是把数据库的读操作和写操作分散到不同节点上处理——数据库服务器搭建主从集群(一主一从或一主多从均可),主机负责读写操作,从机只负责读操作,主机通过复制机制把数据同步给从机,使每台服务器都存有完整的业务数据;业务服务器把写操作发给主机,把读操作发给从机。这里有个容易被混用但含义并不等同的术语区分:这套架构里用的是”主从”而不是”主备”——”从机”的”从”取的是”仆从”的含义,仆从是要真正帮主人干活的,所以”从机”必须承担实际的读服务;而”备机”通常只承担数据备份的职责,本身不对外提供访问能力。也就是说,”主从”强调的是从节点也在分担业务流量,”主备”强调的是备节点只是冗余保障,两个词该用哪个要看这个节点到底有没有真正对外提供服务,不能不分场景地混用。读写分离虽然只分散了访问压力(读写请求可以打到不同节点),但没有分散存储压力(每台服务器仍然保存全量数据),这也是它和后续要讲的”分库分表”(既分散访问压力又分散存储压力)在能力边界上的关键区别。

参考来源

- 位置:《从零开始学架构》第14讲《高性能数据库集群:读写分离》"读写分离原理"(源文件:_epub-src/OEBPS/text00001.html) - 结论依据:原文说明"读写分离的基本原理是将数据库读写操作分散到不同的节点上",并明确"这里用的是'主从集群',而不是'主备集群'。'从机'的'从'可以理解为'仆从',仆从是要帮主人干活的,'从机'是需要提供读数据的功能的;而'备机'一般被认为仅仅提供备份功能,不提供访问功能",直接支撑本卡片结论。 - 原始内容:读写分离的基本原理是将数据库读写操作分散到不同的节点上……这里用的是"主从集群",而不是"主备集群"。"从机"的"从"可以理解为"仆从",仆从是要帮主人干活的,"从机"是需要提供读数据的功能的;而"备机"一般被认为仅仅提供备份功能,不提供访问功能。