2022年数据工程现状

22-08-08 banq

数据工程的所有最新工具和趋势:

数据摄取
该层包括提供从操作系统到数据存储的管道的流技术和 SaaS 服务。
这里值得一提的演变是Airbyte的急剧崛起。Airbyte 成立于 2020 年,直到当年年底才转向目前的产品,它是一个开源项目,如今已被 15,000 多家公司使用。社区有超过 600 名贡献者。很少看到使用和社区呈指数级增长。
Airbyte 刚刚推出了其商业产品,并通过收购反向 ETL 连接器的开源软件 Grouparoo 扩展至反向 ETL(我们的图表中未涵盖的类别)。我们认为反向 ETL 与 ETL 是一个非常不同的产品,因为它需要以有利于用户在该系统中的工作流程的方式将数据集成到操作系统中。

数据湖
在2021年,我们将数据仓库和lakehouse作为数据湖层的一部分。但今年,我们决定保留数据湖类别,仅用于作为数据湖的对象存储技术。我们把所有的仓库和湖室移到分析引擎类别。

为什么?今天数据工程师处理的大多数架构都很复杂,足以包括对象存储和分析引擎。因此,你要么只需要一个分析数据库(在这种情况下,你没有一个数据湖,而是一个作为分析引擎的数据仓库),要么你需要两者。而当你需要两者时,你通常会在对象存储上执行一些分析,在分析引擎上执行一些分析。这就是为什么他们需要很好地协同工作。

这种依赖性发生在不同的层。大型数据集将在你的对象存储中管理,而工件和服务层数据集将被存储在分析引擎和数据库中。他们中的一个会征服另一个的想法是我们在周围的架构中没有看到的。

我们在现实中看到的是这些解决方案并存。这种架构背后有几个原因,其中之一肯定是成本考虑。在Snowflake或BigQuery中查询大量的数据是很昂贵的。因此,与其让分析数据库管理你的整个湖泊,你不如在对象存储中管理一切可以管理的东西,并在上面进行更便宜的计算,把所有必须的东西留给分析引擎。

我们认为lakehouse 是一个分析引擎(尽管在Databricks中它包括数据湖和分析引擎)。这个架构的特点是用Spark SQL的优化版本在Delta表格式上创建一个分析引擎。这提供了分析引擎所期望的更高的性能和成本。

同样的规则适用于冰山上的Dremio,或支持冰山作为其数据库的外部表的Snowflake。

元数据管理
在元数据领域发生了很多事情! 元数据的两个层次,这个层次和我们图表顶部的组织层次,正在成为许多组织的焦点。

回顾我们作为可扩展数据从业者所面临的挑战的演变,我们在过去的十年里围绕着存储和计算机进行了创新--所有这些都是为了确保它们支持数据的规模。

今天,我们面临的主要是可管理性问题,可以通过制作和管理元数据来解决这些问题。这一层包括了元数据的不同方面,让我们来看看它们。

开放表格式
在过去的一年里,我们看到了开放表格式的有趣进展。它们正在成为数据湖中保存结构化数据的标准。

一年前,Delta Lake是一个Databricks项目,有一个实际的商业产品叫Delta。然后在今年,我们有Onehouse商业化的Apache Hudi和Tabular商业化的Apache Iceberg。这两家公司都是由这些开源项目的创建者创建的。

因此,整个空间从开源到完全由商业实体支持。这就带来了一个问号,既然背后有商业利益,其他参与者对开源项目会有多大影响。

由于这三个开源项目都是apache/Linux基金会的一部分,对社区的风险很低。这似乎并不能平息所有这三个项目的创作者和粉丝之间关于谁是 "真正的 "开源和谁有最好的解决方案的热烈争论。Netflix很快就会把这个故事作为电视剧的绝佳素材。

Metastore的未来仍在黑暗中......
我们看到Hive Metastore被从架构中撤出,在那里有可能用开放表格式来替代它。并非所有的组织都在充分利用Metastore的功能,如果他们唯一的用例是虚拟化表,那么开放表格式和围绕它们的商业产品提供了一个不错的选择。Metastore的其他用例还没有得到更好的替代解决方案。

用于数据的Git
dbt鼓励分析师在不同版本的数据(开发、阶段和生产)上使用最佳实践,尽管不支持在数据湖中创建和维护这些数据集。

数据运营团队越来越需要提供跨组织的数据版本控制,以管理那些随着时间推移有不同修订的数据集。对数据集进行不同修订的几个例子是:重新计算,这是算法和ML模型所必需的,或者是来自运营系统的回填,这在BI中经常发生,或者是由于法规的原因,如GDPR下的被遗忘权,删除了一个子集。

这一趋势从LakeFS及其社区的急剧增长中显而易见,我亲眼目睹了这一点。LakeFS同时服务于结构化和非结构化的数据操作,在两者都存在的情况下大放光彩。

不幸的是,关于Dremio的Project Nessie使用情况的公开数据很难得到。有趣的是,它也可以作为一个名为Arctic的免费服务。这可能是为了与Tabular竞争而做出的战略决定。

计算
我们今年对计算层做了一些改变,以更好地反映生态系统。首先,我们把虚拟化作为一个类别完全删除。它目前似乎还没有流行起来。

然后我们把计算引擎分成两类:分布式计算和分析引擎。它们之间的主要区别是这些工具对其存储层的意见有多大。

分布式计算包括对存储没有意见的计算引擎,而分析引擎类别包含有意见的计算引擎(无论是否分布式)。

分布式计算
通用分布式计算引擎允许工程师分发任何 SQL 或任何其他代码。当然,他们可能对编程语言固执己见,但他们会对(通常)联合数据进行一般分布。这可能是跨多种格式和来源存储的数据。
分布式计算类别的两个有趣的补充是RayDask
Ray 是一个开源项目,允许工程师扩展任何计算密集型 Python 工作负载,主要用于机器学习。Dask 也是一个基于 Pandas 的分布式 Python 引擎。
您可能会认为Spark将成为在看不到竞争对手的情况下统治现场的分布式引擎。因此,目睹新技术的兴起在这一类别中获得关注是非常令人兴奋的。

分析引擎
分析引擎类别包括所有数据仓库,例如SnowflakeBigQueryRedshiftFirebolt和良好的旧PostgreSQL。它还包含像Databricks Lakehouse、DremioApache Pinot这样的 Lakehouse 。所有人都对他们支持的数据格式非常有意见,以便为他们的查询引擎提供更好的性能。
由于所有分析引擎都使用数据湖作为其深度存储或存储,因此值得一提的是,Snowflake现在支持Apache Iceberg作为一种外部表格式,Snowflake 可以直接从湖中读取。

编排和可观察性
这是一个由现有类别填充的新层。编排工具是去年元数据层的一部分,但我们将其移至它真正属于的计算引擎——它是关于跨计算引擎和数据源编排管道。
与编排一起,我们获得了在 2021 年也大幅增长的可观察性工具,以支持更多数据源,从而产生任何计算引擎。

1、编排
编排方面有没有发生什么引人注目的事情?Airflow仍然是最大的开源产品。Astronomer已经支持它几年了,自从该公司加入云计算的潮流以来,它现在直接与托管 Airflow 前沿的云提供商竞争。
Astronomer 的另一个非常有趣的举措是收购了提供数据沿袭的 Datakin 。这让人不禁想知道——当编排工具具有沿袭功能时会发生什么?
从理论上讲,这可以帮助数据团队构建更安全、更有弹性的管道。通过了解哪些数据集依赖于丢失、损坏或低质量的数据,通过将逻辑(由编排工具管理)及其输出(在沿袭工具中管理)结合在一起,影响分析变得相当容易。这是否会成为编排生态系统的一个组成部分,还有待观察。

2、可观察性

Monte Carlo 数据建立的可观测性类别也由它主导。Monte Carlo频繁的筹资表明其产品在市场上的迅速采用。该产品不断发展,提供更多集成,例如数据块生态系统,以及额外的可观察性和根本原因分析功能。
至少从今天探索这一领域的公司数量的角度来看,正是这种成功可能推动了该类别的增长。2021 年有几家公司成立或隐身,最有趣的是Elementary,另一个 YC 之外的开源项目

端到端 MLOps 工具
当我开始回顾这个空间时,有人告诉我应该给这个类别命名:“准备好失望吧。” 尽管该类别包括出色的工具,但它们都不是真正端到端的。它们为 ML 流程中的某些步骤提供了一个很好的解决方案,但在 ML 管道的其他方面却缺乏提供。

尽管如此,提供端到端解决方案的方法在 2021 年仍然很流行。一些特定于任务的工具进入了成为端到端产品的道路。示例包括CometWeights & Biases 、Clear.mlIguazio。

1、以数据为中心的机器学习
这个子类别也没有摆脱端到端的陷阱,但其中列出的工具对它们提供的功能采取了不同的方法。他们将数据本身及其管理置于其任务的中心。
这个空间的两个新加入者是ActiveloopGraviti。它们由经验丰富的数据从业者构建,他们了解数据管理对任何数据操作成功的重要性。我们在lakeFS 分享了这种观点。

DagsHub采用了一种独特的方法,它提供了一个以数据为中心但基于开源解决方案的端到端解决方案。它们在每个 ML 生命周期阶段都表现出色,提供了独特的可用性和易于集成的特点。在如此混乱的空间中,这是获得良好的端到端解决方案的可靠方法,该解决方案也令用户满意。我们满怀期待地注视着这家公司……

2、机器学习可观察性和监控
该子类别包括专注于模型质量监控和可观察性的工具。与数据可观察性类别非常相似,这个领域正在增长并获得动力。2022 年初, Deepchecks开源,并迅速获得了关注、贡献者和合作伙伴。


Notebooks
在这个类别中,我们看到Hex通过[url=https://databricks.com/]Databricks[/url]和Snowflake的投资获得了更多的牵引力和验证。Hex 在其Notebooks中提供了更多的编排功能。Ploomber也是如此,它为Jupyter提供编排功能。

用于分析师的工具类别在过去一年中确立了自己的地位,并获得了一些竞争。dbt证明了自己是分析师的标准,并在 2021 年发布了与可扩展数据工程堆栈的集成,包括对象存储、HMS 和 Databricks 产品。在与生态系统合作的同时,Databricks 于 2021 年推出了其“活桌”产品的 GA,与 dbt 直接竞争。

目录、权限和治理
对这个生态系统的看法是,现在各种规模的公司都清楚对数据目录的需求,我们将看到它成为一种标准。基于开源项目的商业产品显示出良好的采用水平
同时,企业解决方案的长期供应商AlationCollibra继续扩展他们的产品。安全和权限供应商BigID 也在尝试提供目录。

Immuta始终专注于数据访问控制,其独特的技术现在与其他数据源兼容。为了加速增长,该公司早在 2021 年年中就筹集了 9000 万美元的 D 轮融资。

结论
尽管该领域的公司数量不断增长,但我们可以看到其中几个类别的产品有整合的迹象。
MLOps 正朝着端到端的方向发展,笔记本正在进入编排,而编排正在转向沿袭和可观察性。同时,我们看到开放表格式进入 Metastore 功能。在治理层,安全和权限工具进入目录,反之亦然……
这些迹象是否表明市场(仍然)有限,可能在 MLOps 中?这种整合是否反映了由于激烈的竞争而需要差异化(在编排中可能就是这种情况)?还是有机会填补开放表格格式或以数据为中心的机器学习可能出现的空白?也许这一切都是因为用户希望使用更少的工具来做更多的事情?

1