读数据湖仓01让数据可信
1. 让数据可信
1.1. 每个终端用户(End User)都有一个共同的需求:访问想要的数据
1.2. 真的能够相信我正在访问的这些数据吗?
-
1.2.1. 终端用户很快就会发现,访问数据和相信正在访问的数据是两回事
-
1.2.2. 访问数据和相信数据不是同一回事
-
1.2.3. 如果数据不可信,可能会导致决策和判断出现严重错误
1.3. 在访问计算机系统时,终端用户必须进行一个隐含的步骤,即从仅仅想要访问数据转变为想要访问可信的数据
1.4. 获取这些数据并不是最紧要的,理解所听到的数据才是问题的关键
-
1.4.1. 根据不可靠或不完全合格的信息做出决策是非常危险的
-
1.4.2. 要做出一个良好的决策,不仅要关注数据,还要获得可信数据的支持
1.5. 不断攀升的可信目标
-
1.5.1. 特定目标
-
1.5.2. 不断攀升的目标
-
1.5.2.1. 对数据可信度的追求是不断攀升的
-
1.5.2.2. 提高数据的可信度是一个无止境的过程
1.6. 数据的可信度是技术世界所依赖的基础
1.7. 如果数据不可信,世界就会受制于“垃圾进,垃圾出”(Garbage In, Garbage Out,GIGO)
2. 可信数据的要素
2.1. 简单的数据准确性
2.2. 数据的来源
2.3. 企业等组织首次采集数据的时间
2.4. 所有的数据转换情况
2.5. 是否进行了数据审核与编辑
2.6. 数据是否完整
2.7. 是否有能证实现有数据的其他数据
2.8. 数据的上下文情境
2.9. 数据采集和数据血缘的责任方
2.10. 采集数据的地点
2.11. 与数据相关的元数据及其上下文情境
2.12. 对数据进行的更改
2.13. 添加和附加到数据上的内容
3. 基础数据
3.1. 人工智能、机器学习和数据网格(Data Mesh)等复杂且精尖的技术的运行都依赖于数据
3.2. 人工智能、机器学习和数据网格技术的“基石”是数据
-
3.2.1. 仅仅依赖这些技术直接访问数据是不够的,还要保证它们所访问的数据必须是可信的
-
3.2.2. 如果被访问的数据本身就不可信,那么无论这些技术多么先进,它们向用户提供的结果也是不正确的或者具有误导性
3.3. 如果人工智能被输入和使用的数据是不正确的,那么它几乎无法修正数据
3.4. 只有在稳定、可访问和可信的数据基础上运行,应用程序才可能成功
- 3.4.1. 如果应用程序依赖的是令人难以置信的数据,那么它肯定会失败
3.5. 如果能正确创建可信的数据基础,将为成功应用数据奠定坚实的基础,而且只要构建得当,数据湖仓完全可以满足大众的需求
4. 基础数据的组成要素
4.1. 准确性
- 4.1.1. 准确性是可信数据最基本的要素,如果数据不准确,它就没有用处
4.2. 完整性
- 4.2.1. 支撑应用程序的数据必须尽可能完整
4.3. 时效性
- 4.3.1. 当分析人员查看数据时,他们会假设正在使用的数据是最新版本的,而查看过时的数据可能会误导他们
4.4. 可访问性
- 4.4.1. 数据必须可访问,而且有些数据访问时间必须精确到秒级,有些数据的可访问性参数则更为宽松
4.5. 易集成性
-
4.5.1. 数据必须能够与其他数据相匹配,同时还要求能够与其他数据进行有意义的集成
-
4.5.2. 数据的可集成度有多种级别,大多数数据都可以与其他数据集成,但有些数据却无法与其他数据集成
-
4.5.3. 数据集成的能力对数据的有用性和可信度至关重要
4.6. 可塑性
- 4.6.1. 要想发挥其作用,就需要它能够被塑造
5. 数据湖仓的特性
5.1. 粒度
- 5.1.1. 粒度数据可以通过多种方式进行检验,数据粒度越小,数据的价值就越低
5.2. 元数据增强
- 5.2.1. 原始数据几乎是无用的,终端用户需要获取元数据来明确应该分析的内容
5.3. 文档化
- 5.3.1. 除了元数据,文档完备的数据也要保证清晰和简洁
5.4. 多样性
- 5.4.1. 基础数据服务于各种各样的数据类型和数据结构
6. 避免不良数据
6.1. 大多数情况下,数据变差会发生在我们第一次将数据录入系统时
-
6.1.1. 确保正确录入数据对于保障数据的质量至关重要
-
6.1.2. 不兼容问题也可能使数据变差
-
6.1.3. 缺乏相应文档也可能对数据质量造成非常不利的影响
-
6.1.4. 我们需要在第一次获取数据时就记录数据信息
6.2. 结构化数据(Structured Data)和非结构化数据(Unstructured Data)都可能存在数据质量问题
- 6.2.1. 无论是结构化数据还是非结构化数据,当大量数据输入数据库时,实时确保数据的质量至关重要
6.3. 数据质量常常被视为一种无法控制的因素
-
6.3.1. 通过分析输入错误、键的问题、重复记录、拼写错误、兼容性以及确保完成良好的文档编制工作,就可以最大限度减少数据错误,防止形成不良的数据资产
-
6.3.2. 数据质量是数据团队获得成功的核心指标
6.4. 数据质量的评估标准包括准确性、完整性、可靠性、关联性和时效性
-
6.4.1. 准确性指的是这些数据的有效性和价值
-
6.4.2. 完整性指的是数据中是否存在缺失的情况
-
6.4.3. 可靠性指的是我们是否可以信任这些数据
-
6.4.4. 关联性指的是数据对业务需求的适用性
-
6.4.5. 时效性指的是数据作为最新决策依据的能力
7. 输入错误
7.1. 输入错误常常是在将数据录入系统时人为造成的,或是因为文档本身就存在错误
7.2. 文档本身的错误可能是转录或手写错误所导致的
- 7.2.1. 安排专人检查输入的数据也可以最大限度地减少书写产生的错误
7.3. 在进行数据转录时,我们必须为审核数据分配时间,尽可能确保转录的数据与原始数据一致且可靠
- 7.3.1. 字段中指定数据类型可以有效避免输入错误
7.4. 输入掩码(Input Mask)
-
7.4.1. 提前设置待录入字段的数据格式也可以避免输入错误
-
7.4.2. 规定了输入数据的不同格式,能够提醒输入数据的人注意输入数据的特定格式要求,以避免错误
8. 键的问题
8.1. 通常在插入数据时需要进行额外的检查,以避免新输入的数据与系统中已存在的数据发生冲突,这种冲突可能导致数据集成错误
8.2. 键的非兼容性问题主要发生在将数据录入系统时,可能出现主键重复或在唯一标识符字段输入重复主键的情况,因为数据库不允许重复的主键字段,所以会导致输入错误
9. 重复记录
9.1. 当数据从一个系统传输到另一个系统时,往往会出现重复记录或多次添加相同信息的情况,而且重复也不局限于主键的重复
9.2. 若无法确定最可靠的数据,可能会导致你对已有的数据失去信心
10. 拼写错误
10.1. 拼写错误是集成数据时的常见问题之一
10.2. 当面临类似问题时,我们很难确定哪些数据是正确的
10.3. 可疑的、待定的数据可能会增加风险,特别是当数据存在明显差异或比较可疑时
10.4. 由于在数据集成过程中需要人工参与评判数据的正确性,这一步骤会降低整个系统输入数据的速度,因此,确保数据符合规定的格式和特定的数据类型可以有效减少拼写错误
11. 兼容性
11.1. 各种非兼容性问题都可能导致数据质量较低,包括上下文情境的非兼容性、蒸馏(Distillation)方法的非兼容性以及语言的非兼容性等
11.2. 上下文情境的非兼容性问题可能出现在多数据来源的数据集成过程中
11.3. 上下文情境数据是指与当前场景相关的事实信息
11.4. 蒸馏方法的非兼容性也是一个问题
-
11.4.1. 蒸馏是将一个较大的模型压缩成一个可以模拟真实世界的较小模型的过程
-
11.4.2. 通常可以通过离线蒸馏(Offline Distillation)、在线蒸馏(Online Distillation)或自蒸馏(Self-Distillation)这3种模式来训练较小的模型
-
11.4.3. 在最常见的离线蒸馏中,我们可以使用小型神经网络模型进行训练
-
11.4.3.1. 神经网络模型能够模拟大脑中的神经元,并利用预处理的样本进行训练
-
11.4.4. 与离线蒸馏不同,在线蒸馏(也称为并行计算)是将较大的模型和较小的模型同步用于训练数据
-
11.4.5. 在自蒸馏过程中,则是对较大的模型和较小的模型使用相同的训练方法,并且可以实现相互训练
-
11.4.6. 深度学习是知识蒸馏的一部分,涵盖语音和图像的识别
-
11.4.6.1. 深度学习训练数据的方式类似于人类大脑,能够为我们提供基于语音、图像等的洞察
-
11.4.6.2. 如果在处理过程中出现任何兼容性问题,就会导致知识蒸馏失败
11.5. 如果数据集成后的数据特征发生了很大的变化,则可能是语言不兼容引起的
- 11.5.1. 为了避免语言不兼容,通常我们可以检查数据库的兼容性级别,并对其进行调整,这样有助于避免出现语言不兼容的情况
12. 编制文档
12.1. 不做文档编制工作是导致数据质量问题的又一个重要原因
12.2. 如果不能准确地记录数据,那么日后我们可能需要花费大量的时间去检索需要的数据
12.3. 数据沼泽通常包含没有组织好或不符合质量规范的随机数据
- 12.3.1. 为了避免形成数据沼泽,应该只收集和记录与我们业务相关的数据
12.4. 如果我们拥有大量数据,那么可以构建一个数据湖来存储和处理大量结构化数据与非结构化数据
- 12.4.1. 与数据仓库相比,数据湖的一个优势是它能以最原始的形式存储大多数数据,而且成本更低
12.5. 维护详细的文档编制都是保持数据准确性的必要步骤
-
12.5.1. 如果没有完整详细的文档编制,日后可能造成灾难
-
12.5.2. 没有文档支持,我们就无法了解所存储数据背后的实际意义与目的
-
12.5.3. 有了文档支持后,所有的团队成员都可以轻松使用和理解被正确记录的数据
12.6. 数据字典可以帮助减少许多数据质量问题
-
12.6.1. 是所使用数据的相关信息的集合,通常提供元数据和数据情况
-
12.6.2. 在记录数据时,有许多可选的元数据标准,能够帮助指导日后数据的利用与开发过程
-
12.6.3. 数据文档还应包含数据的含义和解释
12.7. 文档通常会包含使用数据的规则