面试题答案
一键面试数据分布不均匀
- 业务特性:某些业务数据本身就具有天然的倾斜性。例如电商系统中,热门商品的浏览、购买记录远远多于普通商品,这些热门商品的数据在按范围分区时,会集中在某个分区,形成数据热点。
- 数据生成规律:数据生成并非随机,而是受特定规则影响。如按时间范围分区时,特定时间段内产生的数据量大幅高于其他时段,像电商大促期间,订单数据量在促销时段猛增,该时段对应的时间分区就会成为热点。
分区策略不合理
- 简单按顺序范围分区:如果简单地按照数据的顺序进行范围分区,当数据具有顺序性增长特点时,新数据总是集中在最后一个分区。例如自增ID的订单数据,按ID范围分区,新订单都在最大ID对应的分区,导致该分区成为热点。
- 未考虑业务属性:分区策略没有结合业务的实际读写模式。例如,在社交系统中,若只按用户ID范围分区,而不考虑用户活跃度,高活跃度用户所在的分区会因频繁的读写操作成为热点。
访问模式异常
- 突发流量:业务突发的高流量访问集中在特定范围的数据上。如新闻APP在报道某个热门事件时,对该事件相关文章的数据分区会承受大量并发访问,形成数据热点。
- 关联查询:复杂的关联查询涉及的数据集中在某些特定范围分区。例如在一个包含用户表和订单表的系统中,按用户ID范围分区,如果经常进行用户及其订单的关联查询,高消费用户所在的分区会因频繁查询成为热点。