Day38-01|19.1 传统数据处理系统存在的问题:为什么架构必须走向大数据
Day38-01|19.1 传统数据处理系统存在的问题:为什么架构必须走向大数据
对应教材目录:第 19 章 大数据架构设计理论与实践 → 19.1 传统数据处理系统存在的问题
学习目标:理解传统数据处理系统在数据规模、速度、类型、质量、价值和治理方面的局限;掌握这些问题如何推动分布式存储、流式计算、批处理、数据湖和云原生数据架构发展;能够在案例题中从业务需求反推架构演进方向。
一、传统数据处理系统的基本假设
早期信息系统通常围绕关系数据库、集中式服务器和周期性批处理建设。数据规模相对可控,来源较少,结构稳定,业务主要是交易录入、查询和报表统计。系统可以在夜间将当天数据汇总到数据仓库,再由报表工具生成管理信息。
这种架构在一定范围内非常有效:事务一致性清晰,数据模型容易理解,运维边界相对集中,开发人员可以通过 SQL 完成大量分析工作。但随着互联网、移动终端、物联网和智能化业务发展,传统假设逐渐被打破。
传统假设:数据量可控 + 结构稳定 + 来源有限 + 批处理足够
|
v
互联网/物联网/移动化/智能化打破假设
|
v
规模、速度、类型、质量、价值、治理全面复杂化
大数据架构并不是单纯把数据库换成更大的服务器,而是重新思考数据采集、存储、计算、服务、治理和安全边界。
二、数据规模快速增长
1. 存储容量压力
传统数据库依靠纵向扩展,即提升单机 CPU、内存、磁盘和存储阵列性能。当数据从 GB、TB 增长到 PB 甚至更大时,单机扩容成本急剧增加,设备能力也存在物理上限。全量数据长期保留、备份和副本进一步放大存储成本。
2. 计算规模压力
复杂查询、关联分析、机器学习和图计算会消耗大量 CPU 和内存。集中式数据库在高峰期可能出现资源争用:在线交易影响报表查询,批处理影响实时服务,数据导入影响用户访问。
3. 分布式扩展需求
面对持续增长的数据,系统需要通过分布式存储、水平扩展、数据分片和并行计算增加容量。分布式架构同时带来网络、节点故障、数据一致性、任务调度、数据倾斜和运维复杂度,不能简单认为“加机器”就解决问题。
三、数据产生速度与实时性问题
传统系统擅长按小时、天或月批量处理,但现代业务要求秒级甚至毫秒级响应。支付风控、推荐、设备告警、实时营销、交通监控和交易监测都需要在数据产生后快速计算。
1. 批处理的延迟
批处理要等待数据收集、清洗、装载和调度,无法及时发现异常。对于欺诈检测,第二天才发现异常已经失去阻断价值;对于设备预测性维护,故障发生后再分析也无法预防停机。
2. 流式数据处理
实时场景需要消息队列、事件流、流计算、窗口、状态存储和实时服务。架构需要处理乱序、重复、迟到、断点恢复、背压和状态一致性。
事件产生 -> 消息接入 -> 分区与持久化 -> 流式计算 -> 实时存储/告警/服务
\-----------------------------------------------> 离线归档
实时处理并不意味着所有数据都必须秒级计算。架构师应按业务价值区分实时、准实时和离线链路,避免为了追求低延迟而显著增加成本和复杂度。
四、数据类型越来越复杂
传统关系数据库主要处理结构化表格数据,但现代系统还产生文本、图片、音频、视频、日志、传感器序列、网络流量和半结构化事件。
1. 结构化数据
结构化数据字段和关系相对稳定,适合关系数据库、数据仓库和 SQL 分析。但在业务快速变化时,频繁修改表结构可能影响生产和下游系统。
2. 半结构化数据
JSON、XML、日志和消息通常具有一定结构但字段可变。传统固定模式装载会导致模式变更频繁、空字段增多和数据丢失。需要采用模式注册、兼容性规则和灵活存储。
3. 非结构化数据
文档、图片、视频和音频无法直接用二维表表达,通常需要对象存储、内容索引、元数据管理和专用分析能力。文件本身与元数据、权限、版本和生命周期必须协同管理。
五、数据来源异构和集成困难
企业数据可能来自 ERP、CRM、生产系统、移动端、第三方平台、传感器和合作伙伴。不同来源使用不同编码、时间格式、主键、业务口径和更新频率。
1. 数据语义不一致
不同系统对“客户”“订单”“收入”和“有效用户”的定义可能不同。简单拼接表格不能得到可信指标,必须建立主数据、数据标准和指标口径。
2. 数据同步不一致
批量 ETL 可能产生延迟,实时 CDC 可能出现重复、乱序和删除捕获问题。跨系统同步要明确源系统、目标系统、延迟、冲突处理、重试和对账规则。
3. 接入方式多样
传统数据库可通过批量导出,现代服务可能通过 API、消息、日志和流式协议提供数据。采集平台需要统一连接器、断点续传、限流、格式校验和失败重试。
六、数据质量问题
数据量增加并不自动产生价值,低质量数据反而会放大错误决策。常见质量问题包括缺失、重复、错误、过期、冲突、口径不一致和异常值。
数据采集 -> 校验 -> 清洗 -> 标准化 -> 质量评分 -> 追踪与修复
质量管理应明确规则、责任人、监控指标和修复流程。例如客户手机号格式错误可以在接入时拦截;历史数据中的重复客户需要主数据匹配;传感器异常值需要结合设备状态判断,不能简单删除。
七、传统架构中的性能与资源争用
1. OLTP 与 OLAP 冲突
在线事务处理强调短事务、并发和一致性;在线分析处理强调大范围扫描、聚合和复杂关联。两者共享同一数据库会导致锁竞争、缓存污染、IO 争用和响应时间抖动。
2. 报表和临时查询风险
业务人员的临时查询可能扫描大表,影响所有在线交易。传统系统常通过增加索引和定时汇总缓解,但索引和汇总也会增加写入成本和维护复杂度。
3. 计算与存储耦合
集中式系统通常把计算和存储绑在一起,资源不能按业务需求独立扩展。数据湖、分布式计算和云平台可以让存储与计算分离,按任务弹性使用资源,但需要治理数据格式、权限和生命周期。
八、可靠性、可扩展性和故障影响
集中式系统的某个关键节点故障可能影响所有业务。硬件升级、存储阵列故障、数据库主备切换和批处理失败都会造成大范围中断。
分布式系统可以通过副本、分区和弹性节点降低单点影响,但引入了新的故障模式:网络分区、节点失联、数据倾斜、部分任务失败、版本不兼容和一致性降低。架构演进不是从“没有故障”变成“不会故障”,而是把故障影响范围缩小,并增强发现和恢复能力。
九、数据安全和隐私治理不足
传统数据平台经常出现共享账号、全库权限、备份明文、测试使用生产数据、日志记录敏感字段和数据导出不可追踪等问题。数据集中后,一次账号泄露可能造成大规模影响。
大数据环境还会产生更多副本:原始数据、清洗数据、特征数据、缓存、搜索索引、报表和模型训练集。安全治理需要覆盖数据分级、访问控制、行列权限、脱敏、加密、密钥、审计、血缘和销毁,而不能只保护主数据库。
十、数据价值发现能力不足
传统系统通常围绕已知报表和固定需求建设,面对新业务问题需要先改表、建 ETL、建数仓和开发报表,周期较长。大量半结构化和非结构化数据被丢弃,因为系统没有低成本保存和分析能力。
大数据架构强调先保存原始数据和元数据,再通过批处理、流处理、交互式查询、机器学习和图分析挖掘价值。但“先存再说”也会导致数据湖沼泽,因此必须建立目录、标准、质量、权限和生命周期治理。
十一、传统数据处理系统问题总结
| 问题 | 传统方式局限 | 架构演进方向 |
|---|---|---|
| 规模 | 单机纵向扩展有上限 | 分布式存储和水平扩展 |
| 速度 | 批处理延迟高 | 消息流和实时计算 |
| 类型 | 固定表结构难适应 | 湖仓、对象存储和模式治理 |
| 来源 | 接口和口径不统一 | 数据集成、主数据和血缘 |
| 质量 | 发现和修复滞后 | 规则、评分、监控和责任制 |
| 性能 | 交易与分析争用 | 读写分离、数仓和弹性计算 |
| 可靠性 | 单点影响大 | 副本、分区、容错和恢复 |
| 安全 | 共享账号和副本失控 | 分级、最小权限、加密和审计 |
| 价值 | 固定报表响应慢 | 自助分析、算法和实时服务 |
十二、案例分析:传统零售数据平台升级
某零售企业使用集中式数据库保存订单、会员和库存,每晚生成报表。随着门店、移动端和线上商城增加,出现报表影响交易、库存更新延迟、会员数据重复、促销效果无法实时分析和数据泄露风险。
改造思路如下:
- 在线交易库继续承担核心事务,分析任务迁移到独立的数据处理平台。
- 通过 CDC 和消息流采集订单、库存和会员变化,实时链路用于库存告警和促销监测。
- 原始事件进入对象存储或数据湖,经过清洗、标准化和质量校验后进入分析层。
- 建立会员、商品、门店和订单主数据,统一编码和指标口径。
- 通过批处理完成历史汇总,通过流计算生成实时指标,避免所有场景都强行实时化。
- 敏感会员数据分级、脱敏和加密,分析人员只能访问必要字段。
- 通过目录、血缘、质量评分、生命周期和访问审计避免数据湖沼泽。
- 以对账、延迟、数据质量和报表准确率验证改造效果。
十三、案例题答题模板
面对“传统系统无法支撑大数据需求”的题目,可以按以下方式回答:
- 从数据规模、速度、类型、来源、质量和价值说明问题。
- 拆分在线交易、实时处理、离线分析和数据服务边界。
- 设计采集、消息、存储、批处理、流处理和查询服务。
- 说明数据标准、主数据、质量、血缘、权限和生命周期治理。
- 说明副本、备份、容错、监控、对账和恢复机制。
- 说明安全、实时性、成本、复杂度和一致性的权衡。
- 给出数据延迟、吞吐、质量、可用性和恢复等验证指标。
十四、课后练习
练习 1
传统集中式数据库为什么难以同时满足在线交易和复杂分析?
参考答案:两类负载对并发、事务、扫描、缓存和 IO 的需求不同,共享资源会产生锁竞争和性能抖动。通常需要读写分离、数据仓库、分布式计算或独立分析平台解耦。
练习 2
列举大数据架构需要解决的六类问题。
参考答案:规模、速度、类型、来源、质量、价值、可靠性、安全和治理,任意六项并说明即可。
练习 3
为什么“把所有数据直接放进数据湖”可能产生数据湖沼泽?
参考答案:没有目录、标准、质量、责任人、权限、血缘和生命周期的数据会难以发现、理解和使用,重复、过期和敏感数据也会增加治理和安全风险。
练习 4
论文题:论“传统数据平台向大数据平台演进的架构设计”。
参考答案要点:分析传统系统的规模、实时性、异构和治理问题;设计采集、消息、湖仓、批流计算、服务化、数据质量、主数据、权限、审计和灾备;说明分阶段迁移、双写对账和性能成本权衡。
十五、今日复盘
- 我能否从六个以上维度说明传统数据处理系统的问题?
- 我是否能区分 OLTP、OLAP、批处理和流处理?
- 我能否解释数据湖为什么需要治理?
- 我是否考虑数据副本、质量、安全和生命周期?
- 我能否根据业务实时性选择批、流或混合处理?
- 我能否写出传统平台向大数据平台的演进路径?
传统数据处理系统问题的核心结论是:当数据规模、速度、类型和业务价值超过集中式批处理的能力时,系统必须走向分布式、实时化和平台化。但架构升级不能只增加存储和计算组件,还必须同步建立数据标准、质量、安全、血缘、生命周期和可验证的业务价值闭环。