读数据架构知识体系指南03数据湖(上)

1. 数据湖
1.1. 因为传感器、视频和社交媒体等数据源的增加,产生了半结构化和非结构化的数据,所以大数据在21世纪10年代初以前所未有的规模出现
-
1.1.1. 关系数据仓库*不适合存储这些类型的数据
-
1.1.1.1. 数据仓库中的数据更加结构化和并且经过处理,就像仓库里的瓶装或包装商品一样
-
1.1.2. 迫使行业提出了一个解决方案:*数据湖
-
1.1.3. 数据湖可以轻松处理半结构化和非结构化的数据,并管理频繁采集的数据
1.2. “数据湖”这个术语是用来比喻大量原始数据以原始格式存储
-
1.2.1. 湖泊可以容纳水而不改变水的本质一样,数据湖可以存储数据而不需要先对其进行结构化或处理
-
1.2.2. 湖泊可以容纳各种野生动物和植物物种一样,数据湖可以存储不同类型的数据(结构化、半结构化和非结构化数据)
1.3. 一旦数据被放入数据湖中,就必须对其进行清洗、合并和汇总,才能使其发挥作用
- 1.3.1. 需要某种类型的计算(即管理、操作和分析数据所需的处理能力)连接到数据湖,获取并转换数据,然后将数据放回数据湖中
1.4. 数据湖是一种能够以原生格式保存原始数据的大规模数据存储和管理解决方案
1.5. 与关系数据仓库不同,数据湖允许快速存储数据,不需要任何预先准备或转换
- 1.5.1. 确保了快速而轻松的数据采集过程,在当今的大数据时代尤其有用
2. 选择数据湖的理由
2.1. 可以在不进行任何前期工作的情况下快速将数据存储在数据湖中,这种方法称为“读时模式”
2.2. 可以让用户更快地访问数据,从而让高级用户能够快速生成报表,以提高投资回报率或ROI,并让数据科学家能够快速访问数据来训练机器学习模型
2.3. 对于调查数据也非常有用。如果用户需要将源数据复制到数据仓库中,可以先将源数据快速复制到数据湖中,然后对其进行调查,以确保在为数据仓库创建模式和编写ETL之前,该数据具有价值
2.4. 在使用数据仓库时,会有一个维护期,在此期间会将最终用户排除在外,以便将源数据加载到数据仓库的临时表中
2.5. 更好的选择是将数据在数据湖中进行转换,而不是在数据仓库中
-
2.5.1. 节省成本,因为在数据仓库进行计算通常比数据湖中的计算要昂贵得多
-
2.5.2. 提高转换性能,数据湖提供多种计算选项,每种计算选项都能访问包含数据的不同文件夹,并且可以并行运行(或者在相同数据上并行运行)
-
2.5.3. 由于数据湖对数据使用多种不同类型的计算选项非常灵活,因此相比数据仓库它能够有更多的方式对数据进行细化
-
2.5.4. 无须为数据仓库安排单独的维护期,允许全天候使用数据仓库进行查询
2.6. 数据湖是一种经济高效的存储大量数据的方法
-
2.6.1. 与本地存储不同,云服务提供商拥有无限的存储空间,因此用户无须担心数据湖的空间不足
-
2.6.2. 云存储相对便宜,大多数云服务提供商都提供了多个存储层级,使客户能够节省更多费用
2.7. 数据湖允许用户收集任何数据,以备将来需要时使用
2.8. 数据的囤积在数据仓库中很少进行,因为在数据仓库中存储数据通常比在数据湖中昂贵得多,而且在数据仓库中存储更多的数据还会影响性能
2.9. 数据湖中的存储成本非常低,除非出于监管原因,否则数据很少被删除
2.10. 数据湖可以作为所有数据源的集中存储地,所以可以成为“单一来源”
2.11. 如果所有数据在被复制到其他地方之前都先被存储在数据湖中,那么在其他地方(如查询、创建报表和仪表盘)使用数据时有任何关于数据准确性的疑问,就可以返回的到数据湖
2.12. 数据湖还使得任何用户都可以从任何位置访问任何数据,并多次将其用于他们希望的任何分析需求和用例中
2.13. 当将数据湖与数据仓库一起使用时,数据湖将成为“单一事实版本”,而数据仓库不是
2.14. 数据湖还可以存储实时数据,例如来自物联网(IoT)设备的数据,而实时数据不可能存放在数据仓库中
2.15. 数据湖还充当在线档案库
-
2.15.1. 可以将过去三年的订单数据存储在数据仓库中,而将超过三年的订单数据存储在数据湖中
-
2.15.2. 大多数用于构建数据仓库的技术都可以使用SQL查询数据湖中的数据,因此用户仍然可以在报表中使用数据湖中的数据,只是性能会有所降低
-
2.15.3. 避免数据仓库的存储空间耗尽
2.16. 数据湖也是一个备份数据仓库中数据的地方,以便因意外删除、损坏、更新查询中的WHERE子句错误等原因,而需要将数据恢复到数据仓库时使用
2.17. 可以将不同结构的数据整合到数据湖中,包括CSV文件、JSON文件、Word文档和媒体文件等各种文件
2.18. 使用数据仓库时,通常会将原始数据从源系统复制到数据仓库的临时表中的,然后进行转换并加载到生产表中,然后在一两天后删除以节省有限的关系型存储空间
-
2.18.1. 通过在数据湖中进行转换,由于数据湖中的存储成本较低,可以长期保留原始数据的历史记录,而不必回到源系统
-
2.18.2. 从而避免需要回到源系统重新提取数据的情况
3. 自底向上的方法
3.1. 由于数据湖采用的是读时模式,因此在开始使用数据之前不需要做太多的前期工作
3.2. 自底向上的方法
- 3.2.1. 即在生成任何理论或假设之前先收集数据
3.3. 数据科学家通常使用的软件更倾向于处理文件形式的数据,而数据湖天然支持以文件形式存储数据,这使得他们能够使用机器学习对数据湖中的数据进行分析,以确定未来会发生什么(预测分析),以及人们如何才能让它发生(规范性分析)
3.4. 预测分析,即利用数据、统计算法和机器学习技术,根据历史数据预测未来的结果
- 3.4.1. 包括各种统计技术,如数据挖掘、预测建模和机器学习,以分析当前和历史数据,预测未来或其他未知事件,以便采取主动措施,而不是被动应对
3.5. 规范性分析比预测性分析更进一步
-
3.5.1. 利用优化和模拟算法为可能的结果提供建议
-
3.5.2. 规范性分析不仅预测未来会发生什么,还建议采取什么行动来影响这些结果,目的是根据预测的未来场景来提供建议以优化决策
-
3.5.3. 规范性分析可以就如何利用未来的机会或规避未来的风险提出决策选项,并说明每个选项的潜在影响
3.6. 数据湖最初主要用于预测性和规范性分析,以避免在传统数据仓库中进行高级分析时遇到的困难
- 3.6.1. 现在数据湖的用途已经更为广泛
3.7. 数据建模就像为组织和理解数据创建蓝图
-
3.7.1. 有助于定义哪些数据重要、它们之间如何关联以及它们在关系数据仓库中如何存储和使用
-
3.7.2. 数据湖的建模工具有限
浙公网安备 33010602011771号