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

在智慧安防项目中,如何设计结构化与非结构化数据的存储方案,并说明分库分表策略及数据一致性保障措施。

佳都科技集团股份有限公司解决方案工程师/售前工程师等难度:困难

答案

1) 【一句话结论】:智慧安防项目需按数据特性分存储(结构化用关系型+时序数据库,非结构化用对象存储+分布式文件系统),结合分库分表(按业务/时间维度拆分)并采用分布式事务/最终一致性保障,实现高效存储与一致性。

2) 【原理/概念讲解】:首先区分结构化与非结构化数据。结构化数据(如设备ID、报警时间、坐标)适合关系型数据库(如MySQL),因为其强事务支持、ACID特性适合业务逻辑;非结构化数据(视频、图片)适合对象存储(如MinIO)或分布式文件系统(如HDFS),因为其高扩展性、低存储成本。分库分表是水平拆分数据库,按业务维度(如区域)分库,按时间维度(如按天)分表,解决单库性能瓶颈。数据一致性保障:对于强一致性场景(如报警事件),用分布式事务(如两阶段提交、TCC模式);对于最终一致性场景(如视频检索),用事件溯源或消息队列(如Kafka)异步同步。

3) 【对比与适用场景】

类别结构化数据存储非结构化数据存储
定义符合关系模型,字段固定无固定格式,如视频、图片
存储引擎关系型数据库(MySQL, PostgreSQL)对象存储(MinIO, S3)或分布式文件系统(HDFS)
特性强事务、ACID、支持复杂查询高扩展性、低延迟写入、适合海量文件
使用场景设备状态、报警日志、用户行为视频监控、人脸识别、图像分析
注意点单库容量有限,需分库分表查询需通过元数据索引,需考虑数据生命周期

分库分表策略对比:

策略垂直分库水平分表
定义按业务模块拆分(如监控库、报警库)按数据量/时间维度拆分(如按天分表)
适用场景业务模块独立,互不干扰数据量增长快,单表数据量大
注意点跨库查询复杂,需中间件(如ShardingSphere)需保证分表键的一致性,避免数据倾斜

4) 【示例】:假设项目中有“区域A”的监控设备,结构化数据存储在MySQL(分库:按区域分库,区域A对应db_a),表结构:device_info(设备ID, 区域, 型号)、alarm_log(报警ID, 设备ID, 时间, 坐标);非结构化数据(视频流)存储在MinIO(对象存储),对象名格式:video/{区域}/{设备ID}/{时间}.mp4。分库分表:alarm_log按时间维度分表(如按天),device_info按区域分库。数据一致性:当设备触发报警时,先写入alarm_log(结构化)事务,再通过Kafka发送报警事件,异步写入MinIO的视频片段(非结构化),确保报警记录与视频关联。

5) 【面试口播版答案】:在智慧安防项目中,存储方案需分结构化与非结构化。结构化数据(如设备状态、报警日志)用关系型数据库(如MySQL),非结构化数据(视频、图片)用对象存储(如MinIO)。分库分表方面,按业务维度(如区域)分库,按时间维度(如按天)分表,解决单库性能瓶颈。数据一致性保障:强一致性场景用分布式事务(如两阶段提交),最终一致性场景用消息队列(如Kafka)异步同步。比如,报警事件先写入结构化库,再通过Kafka通知非结构化存储写入视频片段,确保关联。

6) 【追问清单】

  • 问:分库分表的具体策略选择依据是什么?答:按业务维度分库(如区域)解决跨区域查询,按时间维度分表(如按天)解决单表数据量增长。
  • 问:数据一致性保障方案中,分布式事务的选型(如两阶段提交 vs TCC)如何考虑?答:两阶段提交适合强一致性、低延迟场景,TCC适合高并发、高可用场景。
  • 问:非结构化数据的检索优化方案?答:通过对象存储的元数据索引(如MinIO的S3 API)和分布式文件系统的HDFS NameNode索引,结合ES(Elasticsearch)实现视频检索。
  • 问:数据生命周期管理如何设计?答:按数据重要性设置保留策略(如视频保留30天,日志保留90天),自动清理过期数据。

7) 【常见坑/雷区】

  • 未区分数据类型,统一用关系型数据库存储,导致非结构化数据存储成本高、查询慢。
  • 分库分表策略选择不当,如垂直分库导致跨库查询复杂,水平分表未考虑数据倾斜。
  • 数据一致性方案选择错误,强一致性场景用最终一致性,导致业务错误。
  • 未考虑非结构化数据的访问延迟,如直接从对象存储读取大视频文件,导致前端响应慢。
  • 未设计数据生命周期管理,导致存储成本过高。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1