MST

星途 面试题库

面试题:微服务架构下数据库设计的常见拆分策略有哪些

在微服务架构中,为了实现数据库的合理设计,通常会采用一些拆分策略。请阐述至少三种常见的数据库拆分策略,并说明每种策略的适用场景。
34.1万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

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