4个数据仓库反模式

  当数据仓库超出其核心用途时,这些曾经备受推崇的系统可能会使我们的数据和项目面临风险。 以下是四种最常见的数据仓库反模式。

  

4个数据仓库反模式

  > Photo by Ascend blog on Ascend.io

  "最好的投资是在自己的交易工具上。"

  · 本杰明·富兰克林

  大量的数据,系统及其相互联系不断增长,并且变得越来越复杂。 毫不奇怪,即使不是完全失败,大多数数据项目也会遇到严重的延迟,而这通常可以追溯到我们使用的工具。 为数据生命周期的各个阶段设计了许多有效的工具,但是如果这些工具使用不当,那么项目从一开始就注定要失败。

  "如果您只有锤子,那么一切看起来就像钉子。"

  —马斯洛/吐温/佛陀

  以数据仓库为例。 数据团队通常依靠数据仓库来提高其速度和便捷性。 这是一个熟悉的工作环境,更重要的是,它在那里。 但是,在大量的一次性生产使用和更大,更复杂的数据转换为系统增加了负载之后,曾经很容易使用的环境可能会变得完全相反。 当数据仓库超出其核心用途时,这些曾经备受推崇的系统可能会使我们的数据和项目面临风险。

  以下是四种最常见的数据仓库反模式。

  用作数据湖的数据仓库

  在当今的数据世界中,数据仓库和数据湖都是广泛使用的技术-有时彼此代替。 但是请不要误会:这些技术有很大的不同。 当组织交替使用这些系统时,组织应保持谨慎。

  数据仓库的成本,性能和复杂性会随着不必要地添加应驻留在其他位置的数据(例如旨在有效存储大量数据的数据湖)而显着增加。 这些湖泊支持灵活的处理,以清理,建模和优化数据以使其有意义。 另一方面,数据仓库存储旨在支持分析,数据应用程序和机器学习项目的精炼数据。

  两种系统都提供相似的功能,并且如果正确使用,则可以相互补充。 数据湖提供了灵活地操作,探索和准备下游用例数据的能力。 然后,数据仓库将获取经过精炼的数据并将其快速提供给用户。

  数据仓库用作数据管道

  数据仓库中的ETL非常适合结构化数据。 但是,当将大量快速移动,半结构化和非结构化的数据添加到混合中时,此过程开始迅速崩溃。 种类繁多,数据量大,速度高的数据的爆炸性增长已经超出了ETL的功能,这使得数据管道成为任何现代数据体系结构必不可少的部分。 数据工程团队发现,构建起来可能极其复杂且耗时。买QQ靓号平台数据管道需要繁重的编码和不成比例的维护和优化时间。 这使许多开发人员转向数据仓库来进行数据转换的"最后一英里",而不是管道。

  通过这些转换很容易使您的仓库超载,但是这样做会导致很多数据非常"痛苦"。 将数据和处理工作推送到仓库需要大量的计算能力-这会很快变得昂贵。 此外,这些作业会与资源竞争标准仓库查询,从而影响其他下游用户和应用程序的性能。 虽然存在通过逐步缓存部分查询及其数据来减轻这种痛苦的工具,但这些方法还带来了新一轮的数据完整性和沿袭挑战,这对于当今大多数企业而言都是成问题的。

  相反,许多数据团队现在已开始卸载其数据仓库,并将处理移至基于Apache Spark的管道中。 这种转变带来了更大的规模和效率,使数据团队和CFO都感到高兴。

  数据仓库用作数据科学的处理引擎

  当前,大规模数据处理技术的可用性因素通常迫使数据科学家严重依赖资源和成本密集型数据仓库来实现核心数据科学功能。 虽然这些是事实上的商业智能和报告系统,但重要的数据科学家并不仅限于仓库可以提供什么。

  数据仓库保存已结构化的数据,旨在快速回答有关已知数据的已知问题。 但是,考虑到所需的成本和前期建模,仓库可能不是运行试图在各种数据中查找未知模式的数据科学团队所需的那种类型的实验和复杂分析的理想系统。 数据科学家通常需要比仓库中经过严格建模的数据集更具流动性和原始上下文的系统,以便快速进行迭代,实验和发现这些未知数,以将其作为模型进行生产。 此外,更多的数据更适合数据科学家提高准确性,这通常意味着更大的数据量,更适合使用Apache Spark等工具。

  数据科学最终仍然是一门科学。 它是由研究,实验,测试和重复驱动的。 为此,数据科学家需要比数据仓库所能提供的更多的上下文,可伸缩性和可负担性,以便能够以业务所需的速度构建足够准确的模型。

  数据仓库用作数据开发的主要工具

  传统的数据开发生命周期通常只允许您在两个地方转换数据:因为数据是从原始位置传输的,或者是从其最终存放位置查询的。 但是,现代数据开发生命周期要灵活得多。 正如现代软件应用程序通过定义良好的API调用使用微服务和编织令牌层构建一样,现代数据体系结构也越来越多地转移到可以很好地理解,维护和优化的较小,增量和迭代的阶段。

  在现代数据开发生命周期中,并非所有数据都驻留在仓库中,并且用户被迫等待,直到将数据集配置为在仓库中交付为止。 无法访问数据的原始阶段和临时阶段可能会严重限制数据团队的工作,从而导致迭代周期变慢。 此外,访问其他数据集或功能的请求通常会导致数周的延迟,使项目和环境处于危险之中。

  为了获得有效且可预测的DataOps策略,必须使跨所有数据阶段的主动数据开发成为可能。 过去在这些阶段维护和管理安全性,作业执行和存储一直是一个挑战,但现在出现了新工具,可以使这一切变得更加轻松和安全,无论数据在生命周期中的任何位置,都可以确保它们可访问和协作。

  结论

  在过去的几年中,在数据仓库功能方面进行了重大的创新。 但是,这只能使我们走到现在。 归根结底,无论我们将数据仓库推入和延伸多远,它们都是专门为精炼的下游使用而构建的。 在规模,成本和灵活性方面,很难击败数据湖和数据管道,而最新的创新使它们比以往任何时候都更快捷,更容易使用。

  当今的数据世界是由功能强大的技术产品驱动的,但是请确保在数据开发生命周期的每个阶段都为正确的用户使用正确的工具,以取得最佳效果。

  (本文翻译自Sean Knapp的文章《Top 4 Data Warehouse Anti-Patterns》

猜你喜欢

转载自blog.csdn.net/iqifenxia/article/details/121872668
今日推荐