51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

360安全浏览器的用户数据(如用户信息、浏览记录)随着用户增长,数据量达到TB级别,如何设计分库分表策略,并说明如何处理跨库查询和事务。

360Web服务端开发工程师难度:中等

答案

1) 【一句话结论】

针对TB级用户数据,采用垂直分库(按业务模块拆分)与水平分片(基于ShardingSphere的哈希分片),通过分布式事务(两阶段提交+Saga模式)处理跨库操作,并设计动态扩容与数据迁移方案,确保高并发下的数据一致性与查询效率。

2) 【原理/概念讲解】

分库分表是为了应对TB级数据,将数据分散到多个数据库实例。垂直分库是将不同业务(如用户信息、浏览记录)拆分到独立库,水平分片是将同一业务的数据按规则(如哈希、范围)拆分到多个表。跨库查询需聚合不同库的数据,事务需保证跨库操作一致性。分片键是核心,决定数据分布。
类比:分库分表就像把用户数据按ID哈希到3个数据库实例,每个实例下再按ID范围分3张表,查询用户123456的浏览记录时,只需访问库0的表0和表1,避免跨库查询延迟。

3) 【对比与适用场景】

策略定义特性使用场景注意点
垂直分库按业务模块拆分(如用户库、行为库)单库数据量小,查询集中业务模块多,数据量差异大需服务间通信,跨库事务复杂
水平分片(哈希分片)按哈希值分表(如用户ID哈希)数据均匀分布,查询本地数据量巨大,需高并发分片键选择影响数据分布
水平分片(范围分片)按范围分表(如时间范围、ID范围)数据有序,适合范围查询时间序列数据、有序数据分片键选择影响查询效率

4) 【示例】

假设用户表为user,浏览记录表为behavior,分库分表规则:库按用户ID哈希,表按ID范围分片。

  • 分库分表逻辑:
    库编号 = 用户ID % 库数(如3个库:库0、库1、库2);
    表编号 = 用户ID % 表数(如每个库下3张表:表0、表1、表2)。

  • 跨库查询示例:
    查询用户ID=123456的所有浏览记录,需定位到库0的user_0_0表(用户信息),再从库0的behavior_0_1表(行为记录)读取数据。

  • 跨库事务示例(两阶段提交):
    用户注册时,插入user表(库1表1)和behavior表(库1表2):

    1. 准备阶段:检查用户表插入成功,行为表插入准备;
    2. 提交阶段:若都成功则提交,否则回滚。

5) 【面试口播版答案】

(约90秒)
“面试官您好,针对TB级用户数据,分库分表的核心策略是结合垂直分库与水平分片。垂直分库按业务拆分,比如用户信息、浏览记录分不同库,水平分片用用户ID哈希分片,保证数据均匀分布。跨库查询时,通过分片键(用户ID)定位到对应库表,再聚合数据,比如查询用户所有浏览记录需要从多个库表读取并汇总。事务处理采用分布式事务,关键业务(如用户注册)用两阶段提交确保强一致性,非关键业务(如浏览记录更新)用Saga模式提高性能。具体来说,比如用户注册时,插入用户表(库1表1)和初始浏览记录(库1表2),事务提交前检查两个操作都成功,否则回滚。这样既能应对数据量增长,又能保证数据一致性和查询效率。”

6) 【追问清单】

  • 问:分片键选择时,如何避免数据倾斜?
    答:选择业务中分布均匀的键(如用户ID),避免热点数据集中,定期重新哈希调整分片。

  • 问:跨库事务选两阶段提交的话,性能如何?
    答:两阶段提交保证强一致性,但可能阻塞,适合关键业务;非关键业务可采用最终一致性,提高性能。

  • 问:分库分表后,如何优化跨库查询?
    答:通过预聚合(如物化视图)、分布式查询引擎(如ClickHouse),减少实时聚合的延迟。

  • 问:如果用户数据有更新,分库分表如何保证一致性?
    答:通过分布式事务(如两阶段提交),或异步补偿机制,确保更新操作在所有分库分表中同步。

7) 【常见坑/雷区】

  • 分片键选择不当:如用时间作为分片键,导致数据热点,影响性能。
  • 跨库事务处理不当:直接用本地事务导致数据不一致;或过度依赖分布式事务,影响性能。
  • 查询优化不足:未考虑跨库查询的延迟,导致用户体验差。
  • 分库分表后,数据迁移复杂:扩容时数据迁移方案设计不当,影响业务连续性。
  • 未考虑数据分区策略:如未按时间分区,导致查询全表,性能下降。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1