无论你是零售商、金融服务公司还是数字广告商,数据都是现代企业的生命线。跨行业,组织正在认识到其数据对于业务分析、机器学习和人工智能的重要性。
智能企业正在投资于从数据中提取价值的新方法:更好地了解客户需求和行为,定制新产品和服务,并做出在未来几年将带来竞争优势的战略决策。
几十年来,企业数据仓库已用于所有类型的业务分析,围绕 SQL 和关系数据库的强大生态系统。现在,一个挑战者出现了。
创建数据湖是为了存储用于训练人工智能模型和预测分析的大数据。这篇文章涵盖了每个存储库的优缺点:如何使用它们,以及最终为 ML 项目提供最佳结果的方法。
这个难题的关键是处理 AI 和 ML 工作流的数据。人工智能项目需要大量数据来训练模型和运行预测分析。技术团队必须评估如何捕获、处理和存储数据,以使其具有可扩展性、经济性和易用性。
什么是数据仓库?
数据仓库创建于 20 世纪 80 年代,旨在帮助企业组织高数据量,以便做出更好的业务决策。数据仓库与企业资源规划( ERP )、客户关系管理( CRM )软件、库存和销售点系统等遗留资源一起使用。
主要目标是跨业务线、产品分析和商业智能提供运营报告。
数据仓库使用 ETL (提取、转换、加载)已有几十年的历史,在上传数据之前,倾向于完成转换和清理数据。传统的数据仓库对数据结构和提前规划有严格的标准,以满足模式要求。
数据只有在经过处理和优化后才能存储在数据仓库中。 ETL 通过首先清理数据,然后上传到关系数据库来处理数据。好处是数据状态良好,可以使用。但是,您需要预先支付处理开销,如果数据从未使用,则会丢失这些开销。
数据分析员在运行查询之前,必须创建预先确定的数据结构和固定模式。这个拦截器对于数据科学家、分析师和其他业务部门来说是一个巨大的痛点,因为运行新的查询需要几个月或更长的时间。
通常,仓库中的数据是只读的,因此很难添加、更新或删除数据文件。
优势:数据质量
对于任何系统,都存在权衡。数据仓库的优点是,它们的数据在接收时处于良好状态,并且由于数据仓库的规则,可能会保持这种状态 数据清洗 和数据治理。
传统的数据仓库可以作为分类账,提供干净、结构化和规范化的数据,作为组织的唯一真实来源。通过使用关系数据库,整个组织的经理和业务分析师可以快速准确地查询大量企业数据,以指导关键业务战略。
缺点:模式需求
数据仓库更有可能将 ETL 用于操作分析和机器学习工作负载。
然而,传统的数据仓库需要一个固定的模式来构建数据,这可能需要数月或数年的时间才能在所有团队和业务线经理之间达成一致。当一个模式被实现时,它的用户有了新的查询,使他们回到原点。
公平地说,数据仓库模式引发了人们对数据湖的极大兴趣。
为什么使用数据湖?
在 21 世纪初, Apache Hadoop 引入了一种在分布式文件系统( HDF )中存储数据的新范式,使企业能够更轻松地挖掘其数据以获得竞争优势。数据湖的想法来自 Hadoop ,能够吸收存储在低成本 blob 或对象存储中的各种数据类型。
在过去的十年中,组织纷纷涌向数据湖,以捕获来自 web 、社交媒体、传感器、物联网、天气数据、购买列表等的各种数据类型。随着大数据变得越来越大,数据湖开始流行使用弹性技术存储数 PB 的原始数据。
数据湖有两个主要优点:易于接受广泛的数据类型和随时访问该数据以进行临时查询。
使用 ELT (提取、加载、转换),数据湖可以吸收大多数任何类型的数据:结构化、非结构化、半结构化和二进制图像和视频。
进入数据湖的数据在存储之前不必进行转换。摄取是高效的,没有按类型清理和规范化数据的开销。
数据湖使存储所有类型的数据( PDF 、音频、 JSON 文档)变得很容易,而不知道将来如何使用这些数据。
优势:即席查询
数据湖的好处是团队可以访问不同的数据,并根据需要运行任意查询。需要立即提供数据分析是采用数据湖的主要驱动力。
缺点:随着时间的推移,数据质量会下降
原始数据在数据湖中很快就会坏掉。很少有工具可以驯服原始数据,因此很难进行合并、重复数据消除和数据连续性。
数据仓库和数据湖有什么共同点?
数据仓库和数据湖都是大型数据存储库,具有共同的特点和缺点,尤其是在成本和复杂性方面。
比例:两者都可以使用批处理和流式处理来保留大量数据。
高成本:两者都非常昂贵,每年维护成本超过 100 万美元。
复杂性:数据中心正在管理数十个独特的数据源,数据量以每年 50% 或更高的速度快速增长。存储基础架构占用了更多的 IT 工时,提高了存储成本,降低了整体效率。
数据处理:两者都可以使用 ETL 和 ELT 处理。
共享用例:随着数据科学家优先考虑 ML 技术以从他们的数据中获得新的见解,许多组织现在正在充分利用这两个领域:支持人工智能的数据分析和广泛的不同数据类型。
数据仓库和数据湖之间有什么区别?
比较数据仓库和数据湖有点像比较苹果和桔子。他们提供不同的东西。
数据仓库组织、清理和存储用于分析的数据。
数据湖存储许多数据类型,并根据需要进行转换。
随着团队越来越专注于人工智能项目,功能性、可管理性和数据质量问题上的差距逐渐显现,导致这两种方法不断发展和改进。
部署
数据仓库更有可能位于内部或混合云中。数据湖更有可能是基于云的,以利用更实惠的存储选项。
数据处理
数据仓库更有可能将 ETL 用于操作分析和机器学习工作负载。数据湖使用原始数据的 ELT 管道接收数据,以备将来需要。数据湖也不需要模式,因此团队可以毫不延迟地提出临时查询。
工具
就功能性编程模型和成熟的、企业级软件和工具而言,数据湖缺乏数据仓库的稳健性。数据湖有很多痛点,包括不支持事务、原子性或数据治理。
数据质量
这总是一个问题。对于数据湖来说,这是一个更大的问题。希望对数据湖中的数据进行大量监控和维护。如果不能有效地管理原始数据,最终可能会陷入数据沼泽,性能低下,存储成本失控。
Gartner 估计,大约 85% 的数据湖由于低质量的数据而失败。正如谚语所说:数据管道的好坏取决于流经它们的数据。
购买与建造相比
像 Teradata 、 Oracle 和 IBM 这样的公司可以以数百万美元的价格向您出售一个数据仓库。存储是最昂贵的组件之一,因为一般公司的数据量每年增长超过 50% 。
为了获得数据湖,大多数公司使用开源的 Apache Spark 、 Kafka 或 Zookeeper 在免费的 PaaS 上构建自己的数据湖。然而,这并不意味着构建和维护数据湖的成本更低。
据估计,雇佣人员部署带有云存储的生产数据湖每年可能会花费超过 100 万美元。如果你能获得专业知识,建立一个数据湖可能需要 6 个月到一年的时间。
什么最适合 ML 工作负载?
简单的答案是两者都有。大多数公司将在人工智能项目中同时使用数据仓库和数据湖。原因如下。
数据湖之所以受欢迎,是因为它们可以扩展到 PB 或 EB 级的大数据,而不会破坏数据库。然而,由于其编程模型中的约束,数据湖并没有为 ML 工作负载提供端到端的解决方案。
许多组织采用了 Hadoop 范式,却发现几乎不可能让高技能人才使用 MapReduce 从数据湖中提取数据。 Apache Spark 的引入和开发使数据湖得以维持,从而使数据访问变得更容易。
尽管如此, Hadoop 模型并没有实现其对 ML 的承诺。 Data lakes 持续的痛点包括缺乏原子性、性能差、缺乏语义更新,以及不断发展的 SQL Spark 引擎。
将其与数据仓库进行比较,数据仓库与整个 SQL 生态系统兼容。任何为 SQL 后端编写的软件都可以访问企业软件。这些方法从所见即所得前端和拖放界面到自动生成的仪表板,再到进行 Kube 分析和超 Kubes 的全自动方法等等。
过去 30 年的所有商业智能和数据分析工作都是在 SQL 数据库中继承的。这些都不适用于 Hadoop 或数据湖。
越来越多的数据仓库支持数据湖常用的 ELT 。数据湖的一个主要用例是将数据摄取到数据仓库中,以便可以为 ML 项目提取和构造数据。 ELT 使数据科学家能够定义一种结构数据和查询数据的方法,同时将原始数据作为真理的来源。
数据湖之家的前景
对于寻求更强健的数据解决方案以满足其大数据需求的数据工程师来说,一个 数据湖屋 (数据湖和数据仓库的组合)有望解决数据湖的缺点。
在一个名为 三角洲湖 。
混合云选项
如果你刚刚开始人工智能数据架构,像 Amazon 和谷歌这样的公司正在提供基于云的数据仓库 ( Amazon 红移 , Google BigQuery ) 帮助降低存储和部署成本。
核心数据库 是一种开源数据库服务,作为 Apache 许可证下的一项服务,其功能相当于数据湖。
结论
数据仓库和数据湖都是驯服大数据和推进高级 ML 分析的有用方法。数据湖是最近在商业云中存储大量数据的一种方法,例如 Amazon S3 和 Azure Blob 。
数据仓库和数据湖的定义正在演变。每种方法都在为新的用例测试新的数据过程和模型。展望未来,优化性能的技术对于管理成本和监控大型存储库中的数据卫生至关重要。
数据湖为数据分析提供了更灵活的解决方案,可以以较低的价格处理和存储数据。然而, Hadoop 数据湖范式目前并没有为大规模机器学习提供全功能解决方案。许多组织正在制定新策略并尝试新工具,以便在不久的将来为数据仓库和数据湖提供更好的功能。
关于作者
JudyMcConnell 为 NVIDIA 撰写了关于企业数据中心和网络安全的文章。在过去的 15 年里,她在硅谷的多家公司工作,之前她是一名技术记者。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !