1. 数据采集策略
1.1. 选择合适的数据采集策略是一项重大的业务决策,它在一定程度上决定了企业用其数据进行业务决策和运营的水平
1.2. 风险很高:错误的策略可能会导致数据质量差、性能问题、成本增加,甚至违反监管合规性
1.3. 要谨慎考虑数据采集方法,不仅是技术必需,也是业务必需
2. ETL
2.1. 提取-转换-加载(ETL)一直是从源系统将数据转移到关系数据仓库的最常见方法
2.2. ETL过程包括从外部源提取数据、在传输过程中对其进行转换和清理以适应目标源的格式和结构,然后将其加载到目标位置(通常是数据湖或RDW)
2.3. ETL(提取-转换-加载)=早转换为主导(Early Transformation Leads)
2.4. 缺点
2.4.1. 转换数据需要时间,而提取可能会占用大量资源
- 2.4.1.1. 提取时间越长,源系统上的最终用户就越有可能遇到性能问题
2.4.2. 如果ETL过程中出现错误需要重新运行,你将不得不回到源系统重新提取数据,可能再次影响性能
2.4.3. 如果要复制大量数据,传统的ETL工具可能因为处理能力有限而无法处理
2.4.4. ETL一次处理一条记录进行转换,这也可能很慢
2.4.5. 某些ETL工具对支持的数据类型有限制
2.5. 通常适用于较小的数据集,并且转换过程不是过于复杂的情况
2.6. ETL对于数据安全也很关键,因为只有必要的被清理过数据会被加载,从而减少潜在的安全风险
2.7. 当源端和目标端都是关系数据库时,ETL通常更高效,因此更受青睐
2.8. ETL在数据质量控制、安全性和效率方面都很出色,尤其是当源和目标都是关系数据库时,其非常适合较小的数据集
3. ELT
3.1. ELT(提取-加载-转换)=每次加载都会转换(Every Load Transforms)
3.2. ELT也会从外部源复制数据到目标系统,但数据在传输过程中不会被转换
3.3. 通常被认为是数据湖的首选方法,特别是适用于处理大数据量的非结构化或半结构化数据
3.4. 其灵活性在于首先将所有原始数据加载到目标系统,然后根据需要进行转换
3.5. 优点
3.5.1. 可用工具选择范围广泛,包括专门为大数据平台设计的工具
- 3.5.1.1. 味着ELT流程可以支持更多种类的数据类型,并适应不断发展的数据环境需求
3.5.2. 可以极大降低对源系统的潜在性能影响,因为它只提取数据一次
- 3.5.2.1. 将来的转换都在目标系统内处理
3.6. 较新的ELT方法则在数据湖中越来越受欢迎,其提供了更大的灵活性和可伸缩性,特别是在处理大数据量和非结构化数据时
3.7. ETL和ELT之间的选择主要取决于数据环境的具体需求和结构
3.7.1. 随着数据技术的快速发展,这种选择并不是一种非此即彼的决定
3.7.2. 关键是找到最能满足数据处理需求的平衡点
4. 反向ETL
4.1. 是将数据从现代数据仓库移动到第三方系统或多个系统的过程,使数据实现运营化
4.2. 运营分析有助于日常决策,目标是提高效率和效益
5. 批量处理
5.1. 延迟容忍度
- 5.1.1. 实际是在即时数据需求与系统为实时处理分配必要资源的能力之间寻求一种平衡
5.2. 批量处理是处理大量数据的有效方式
5.3. 来自源系统的一组相似交易按照某一时间周期会被组队
5.4. 系统会在定期间隔内自动“运行作业”,整个批次会在非业务高峰时段从源系统复制到目的地
5.5. 批量处理系统的主要功能是定期或按需运行批次作业
5.6. 传统上,仅使用批量处理进行RDW处理
5.7. 优点
5.7.1. 批量处理适用于大量数据情况,因为所有数据都是一次性处理的,而不是逐个处理
5.7.2. 可以在非高峰时段安排批量处理任务,从而将对日常系统使用造成的干扰降到最低
5.7.3. 批量处理发生系统故障的风险较低,因为失败的任务可以重试而不会产生重大后果
5.8. 缺点
5.8.1. 潜在的数据可用性延迟,因为一次处理大量数据需要时间
5.8.2. 不适合需要数据实时响应的应用程序,因为更新较大且频率低,数据或计算的任何更改都需要完全重新运行批量处理,这可能会影响性能
5.9. 如果业务流程或系统可以承受轻微的数据访问延迟(换句话说,如果它具有较高的延迟容忍度),则批量处理可能是适当的方法
6. 实时处理
6.1. 是一种在数据收集时就持续处理数据的方法,时间就是几秒或几毫秒,几乎可提供实时见解
6.2. 能够在基于事件的架构中快速响应新信息
6.3. 当它在源系统中检测到新文件或记录时,就会触发一个事件,并将该文件或记录复制到目标位置
6.4. 物联网设备、社交媒体消息和金融交易系统都使用实时处理系统
6.5. 实时处理实时更新目标系统,因此报告或查询永不过期
- 6.5.1. 可对需实时提醒的商业业务提供快速检测,以及对依赖于实时数据的应用程序或者报告进行实时更新
6.6. 使用它的系统主要将其数据存储在数据湖中,数据湖更适合实时数据,因为它可能包括每秒数百万个事件
6.7. 优点
6.7.1. 可提供最新数据的观点,从而能够据此立即采取行动
6.7.2. 特别有利于需要持续更新并且可以有效处理流数据的系统
6.7.3. 更加灵活,可以响应持续变化的业务需求
6.8. 缺点
6.8.1. 需要更多系统资源进行持续处理,并且有更高的系统失败风险
6.8.2. 在实时系统中处理错误和恢复可能会很复杂,需要强大的工具
6.8.3. 由于需要持续处理,实时处理的相关成本可能更高
6.9. 如果对即时数据的需求至关重要,并且系统配备了足够的资源(表明延迟容忍度较低),则实时处理可能更合适
7. 数据治理
7.1. 数据治理是组织内数据的整体管理
7.2. 涉及建立收集、存储、保护、转换和报告数据的策略和程序
7.3. 用于确保组织符合法律和监管要求
7.4. 包括监控数据质量和准确性,例如确保数据得到适当的清理和转换
7.5. 治理应包括一个框架,定义负责管理、维护和使用组织内数据的人员和角色
7.5.1. 一种方式是创建数据治理卓越中心(CoE)
7.5.2. 卓越中心充当制定组织数据治理政策、程序和标准的中心枢纽,并定义与数据相关活动的角色、职责和决策流程
7.6. 在构建任何数据仓库解决方案之前,投入时间先定义数据治理框架并建立卓越中心非常重要
- 7.6.1. 太多项目之所以失败,是因为没有人足够重视数据治理