面试题答案
一键面试- 垂直拆分:
- 策略:按照业务功能将数据库表拆分成不同的数据库。例如,将用户相关表放在用户数据库,订单相关表放在订单数据库。
- 适用场景:适用于业务模块之间耦合度较低,不同业务模块对数据的访问频率、性能要求差异较大的场景。可提高业务的独立性,便于不同团队独立开发、维护各自业务数据库。
- 水平拆分:
- 策略:根据一定的规则(如哈希取模、范围等)将表中的数据拆分到不同的数据库或表中。比如按照用户ID哈希取模,将用户数据分布到多个数据库。
- 适用场景:当单个表的数据量过大,导致查询性能下降时使用。能有效降低单表数据量,提升查询效率,应对高并发读写场景。
- 读写分离:
- 策略:将数据库分为主库和从库,主库负责写操作,从库负责读操作,通过数据同步机制保证主从数据一致性。
- 适用场景:适用于读多写少的应用场景,可减轻主库压力,提高系统整体的并发处理能力,提升读操作的性能。