什么是数据湖?
数据湖 是一种存储库,可以按数据本来的原始格式存储大量的数据。 Data Lake 存储经过优化,数据规模可以达到数 TB 甚至数 PB。 这些数据通常来自多个异类源,数据湖中的数据包括结构化数据(关系数据库数据),半结构化数据(CSV、XML、JSON等),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频),从而形成一个容纳所有形式数据的集中式数据存储。
数据湖主要思想
数据湖的理念是指以原始的非转换状态存储一切内容。 此方法不同于传统的数据仓库,后者在引入数据时对数据进行转换和处理。
数据湖的基本要素
数据移动
安全地存储和编目数据
数据湖允许您存储关系数据(例如,来自业务线应用程序的运营数据库和数据)和非关系数据(例如,来自移动应用程序、IoT 设备和社交媒体的运营数据库和数据)。它们还使您能够通过对数据进行爬网、编目和建立索引来了解湖中的数据。最后,必须保护数据以确保您的数据资产受到保护。
分析
数据湖允许组织中的各种角色(如数据科学家、数据开发人员和业务分析师)通过各自选择的分析工具和框架来访问数据。这包括 Apache Hadoop、Presto 和 Apache Spark 等开源框架,以及数据仓库和商业智能供应商提供的商业产品。数据湖允许您运行分析,而无需将数据移至单独的分析系统。
机器学习
数据湖将允许组织生成不同类型的见解,包括报告历史数据以及进行机器学习(构建模型以预测可能的结果),并建议一系列规定的行动以实现最佳结果。
数据湖的价值
能够在更短的时间内从更多来源利用更多数据,并使用户能够以不同方式协同处理和分析数据,从而做出更好、更快的决策。
数据湖的优点
Data Lake 的优点:
- 绝不会丢弃数据,因为数据是以原始格式存储的。 这在无法事先知道可以从数据中获得何种见解的大数据 环境中特别有用。
- 用户可以浏览数据并创建自己的查询。
- 可能比传统的 ETL 工具更快。
- 比数据仓库更灵活,因为它可以存储非结构化和半结构化数据。
完整的 Data Lake 解决方案由存储和处理两部分组成。 Data Lake 存储的设计用途包括:容错、确保无限可伸缩性,以及在引入不同形状和大小的数据时实现高吞吐量。 Data Lake 处理涉及生成一个或多个用于实现此类目的的处理引擎,可以对存储在 Data Lake 中的数据进行大规模的处理。
数据湖面临的挑战
面临的挑战:
- 缺少架构或描述性元数据可能使得数据难以使用或查询。
- 整个数据缺少语义一致性可能导致数据难以分析,除非用户精于数据分析。
- 可能难以保证进入 Data Lake 的数据的质量。
- 如果没有正确的监管,可能造成访问控制和隐私方面的问题。 什么信息会进入 Data Lake?谁可以访问该数据?该数据的用途是什么?
- 若要集成已经是关系数据的数据,Data Lake 可能不是最佳方式。
- Data Lake 本身不提供跨组织的集成视图或整体视图。
- Data Lake 可能会成为那些从来没有进行过实际分析或见解挖掘的数据的转储之地。
数据湖架构的主要挑战是存储原始数据而不监督内容。对于使数据可用的数据湖,它需要有定义的机制来编目和保护数据。没有这些元素,就无法找到或信任数据,从而导致“数据沼泽”的出现。 满足更广泛受众的需求需要数据湖具有管理、语义一致性和访问控制。
附参考资料: