作者 | ALIREZA SADEGHI
翻译 | Debra Chen
简介
尽管生成式人工智能和ChatGPT带来的沸反盈天的炒作令科技界为之一振,但在数据工程范畴,2023年依然是一个令人振奋和充满活力的一年,数据工程生态体系变得更加多样化和复杂化,体系中的一切层面都在不断创新和演进。
跟着各种开源东西、结构和解决计划的持续呈现,数据工程师的挑选也越来越多!在这样快速改变的环境中,紧跟最新技能和趋势的重要性不言而喻。挑选适宜的东西来完结适宜的作业是一项至关重要的技能,保证在不断改变的数据工程应战面前保持功率和相关性。
作为一名资深数据工程师和参谋,我一向密切重视着数据工程趋势,我想在2024年初向咱们介绍开源数据工程生态体系,包括辨认要害的活泼项目和重要东西,让咱们在这个充满活力的技能范畴中能够做出明智的决策。
为什么要再出一份生态全景图?
为什么我要再出一份数据生态体系全景图呢?尽管有类似的周期性陈述,比如著名的MAD Landscape、数据工程现状和Reppoint开源Top25,但我做的这份全景图专心于仅适用于数据渠道和数据工程生命周期的开源东西。MAD Landscape供给了对机器学习、人工智能和数据的一切东西和服务的十分全面的概览,包括商业和开源项目,而本陈述呈现的生态体系则更全面地展现了MAD中关于数据部分的活泼开源项目。其他陈述,比如Reppoint开源Top25和Data50更重视SaaS供给商和创业公司,而本陈述则更重视开源项目自身,而非SaaS服务。
像Github的开源现状、Stackoverflow年度查询和OSS Insight陈述这样的年度陈述和查询也是了解社区中正在使用或趋势的重要来历,但它们包括的数据生态体系有限(如数据库和编程语言)。
因而,我出于对开源数据栈的爱好,便整理了数据工程生态体系中的开源东西和服务。
所以,不多说了,这就是2024年的开源数据工程生态体系:
开源数据工程生态体系2024年
东西挑选规范
每个类别的可用开源项目明显数目庞大,把每个东西和服务都归入其间是不现实的。因而,我遵从了以下挑选每个类别东西的规范:
- 扫除了任何已退休、存档和被抛弃的项目。咱们很重视的退休项目包括Apache Sqoop、Scribe和Apache Apex,尽管它们依然或许在一些生产环境中使用。
- 扫除了曩昔一年在Github上完全不活泼的项目,以及在社区中简直未被提及的项目。比如Apache Pig和Apache Oozie项目。
- 扫除了依然相对较新且在Github上没有取得太多重视(如stars、forks)以及在博客文章、案例展现和在线社区中简直未被提及的项目。可是一些有远景的项目,如OneTable,现已取得了一些值得注意的开展,并且是依据现有技能构建的。
- 除了机器学习渠道和基础设施东西,数据科学、机器学习和人工智能东西被扫除在外,由于我只重视与数据工程学科相关的内容。
- 不同类型的存储体系,如关系型OLTP和嵌入式数据库体系都有所列举。由于数据工程学科涉及到处理应用程序和运营体系(BSS)中使用的许多不同的内部和外部存储体系,即使它们不是剖析仓库的一部分。
- 类别的名称尽或许地通用,依据这些东西在数据仓库中的方位来分门别类。关于存储体系,首要的数据库模型和数据库作业负载(OLTP、OLAP)用于对存储体系进行分组和符号,可是例如“分布式SQL DBMS”也被称为HTAP或可扩展的SQL数据库。
- 一些东西或许属于多个类别。例如,VoltDB既是内存数据库又是分布式SQL DBMS。可是我尽量将它们放在商场上最常辨认的类别中。
- 关于某些数据库体系,它们实践所属的类别或许有些含糊。例如,ByConity声称自己是数据仓库解决计划,可是它是建立在被以为是实时OLAP引擎的ClickHouse之上的。因而,现在还不清楚它是否是实时(能够支撑亚秒查询)的OLAP体系。
- 并非一切列出的项目都是完全可搬迁的开源东西。其间一些项目更像是Open Core而不是开源。在敞开中心模型中,不是一切组件都是由首要SaaS供给商供给的完整体系的开源。因而,在决定选用开源东西时,考虑项目有多具有可移植性和真正开源是很重要的。
东西类别概述
在接下来的部分中,我简单讨论下每个类别。
1. 存储体系
存储体系是这份生态体系全景图中最大的类别,首要归因于专门的数据库体系近期以来激增。最新的两个流行类别是矢量数据库和流数据库。Materialize和RaisingWave是开源流数据库体系的示例。矢量数据库在存储体系范畴也阅历了快速增加。我将矢量存储体系放在ML渠道部分,由于它们首要用于ML和AI仓库。分布式文件体系和目标存储也有了它们自己的相关类别,即数据湖渠道。
如挑选规范部分所述,存储体系依据首要的数据库模型和作业负载进行分组和符号。在最高层面上,存储体系能够分为三个首要类别:OLTP、OLAP和HTAP。它们能够依据SQL vs NoSQL(OLTP引擎)以及离线(非实时)vs 实时(亚秒结果)(OLAP引擎)进一步分类,如下图所示。
2. 数据湖渠道
数据湖渠道在曩昔一年持续老练化,Gartner把数据湖放在了其2023年版的数据办理炒作周期图上。
关于存储层,分布式文件体系和目标存储依然是服务于本地和依据云的数据湖实施的首要技能柱石。尽管HDFS依然是本地Hadoop集群的干流技能,但Apache Ozone分布式目标存储正在迎头赶上,为本地数据湖存储技能供给了另一种挑选。干流商业Hadoop供给商Cloudera现在把Ozone作为其CDP私有云产品的一部分。
数据序列化格局的挑选会影响存储功率和处理性能。在Hadoop生态体系中,Apache ORC依然是列存储的首选,而Apache Parquet现已成为现代数据湖中数据序列化的事实规范。它之所以受欢迎,是由于它体积不大、高效紧缩以及与各种处理引擎的广泛兼容性。
2023年的另一个要害趋势是存储和计算层的解耦。许多存储体系现在供给与依据云的目标存储解决计划(如S3)的集成,使用其固有的功率和弹性。这种办法答应数据处理资源独立于存储进行扩展,然后实现成本节省和增强可扩展性。Cockroachdb支撑S3作为存储后端,Confluent供给在S3上长时间保留Kafka主题数据的服务,进一步说明了这一趋势,突显了数据湖作为经济实惠、长时间存储解决计划的不断增加的使用。
2023年最热门的开展之一是敞开表格格局的兴起。这些结构实质上充当了一个表格笼统和虚拟数据办理层,坐落你的数据湖存储和数据层之上,如下图所示。
当时,敞开表格格局范畴三足鼎立:
- Apache Hudi:最初由Uber开发和开源,其首要设计目标是支撑近实时数据更新和ACID事务。
- Apache Iceberg:由Netflix的工程团队建议。
- Delta Lake:由Databricks创建和开源,与Databricks渠道无缝集成。
在这个赛道的抢先SaaS供给商Databricks、Tabular和OneHouse,在2023年取得的融资显示出商场对这个范畴的爱好,以及它们进一步推进数据湖上数据办理的潜力。
此外,现在正在呈现一种新的趋势,即一致的数据湖层的呈现。OneTable(最近由OneHouse开源)和UniForm(现在是Databricks的非开源产品)是去年宣布的两个抢先项目。这些东西逾越了单个表格格局,供给了在一个单一结构下使用一切这三个首要竞争者的才能。这让用户能够选用通用格局,同时以其首选格局向处理引擎露出数据,然后提高了灵敏性和敏捷性。
3. 数据集成
2023年的数据集成范畴不只继续由Apache Nifi、Airbyte和Meltano等老牌玩家主导,还呈现了一些有远景的东西,例如Apache Inlong和Apache SeaTunnel,它们以其独特的优势供给的的代替计划有目共睹。
与此同时,得益于Kafka生态体系的活跃开展,流式CDC(变更数据捕获)也进一步老练。Kafka Connect和Debezium插件现已成为从数据库体系中进行近实时数据捕获的首选,而关于使用Flink作为首要流处理引擎的部署,Flink CDC连接器正在取得越来越多的重视。
除了传统的数据库之外,比如CloudQuery和Streampipe之类的东西正在简化对API的数据集成,为各种来历的数据供给了便利的解决计划,这反映了与云服务灵敏集成的重要性的增加。
在事件和音讯中间件范畴,尽管有应战者如Redpanda追赶,但Apache Kafka的地位无人撼动。Redpanda在2023年取得了1亿美元的C轮融资,表明资本对供给低延迟和高吞吐量的代替音讯署理的爱好正在增加。
4. 数据处理与计算
流处理范畴在2023年继续升温!Apache Spark和Apache Flink依然是主导者,但Apache Flink在2023年吸引了一些严肃的重视。AWS和阿里巴巴等云巨子推出了Flink-as-a-service产品,Confluent收买了Immerok并推出了自己的全保管Flink产品,能够看到这一强大引擎背后的动力。
在Python生态体系中,数据处理库如Vaex、Dask、polars和Ray可用于使用多核处理器。这些并行履行库进一步拓展了在熟悉的Python环境中剖析大规划数据集的或许性。
5. 作业流办理与DataOps
作业流调度的生态能够说是整个生态体系中最丰厚的类别,其间既有老牌巨子也有令人兴奋的新秀。
比如Apache Airflow和Dagster之类的老牌东西依然很受欢迎,尽管最近社区中关于作业流调度引擎的拆解、从头打包和打包与不打包的辩论异常激烈,但它们依然是被广泛选用的调度引擎。另一方面,在曩昔的两年中,GitHub见证了几个令人信服的新式东西的兴起,它们取得了相当大的重视。Kestra、Temporal、Mage和Windmill都值得重视,它们各自有着独特的优势。无论是专心于无服务器编列,如Temporal,仍是分布式使命履行,如Mage,这些新秀都能满足现代数据管道不断开展的需求。
6. 数据基础设施与监控
最近Grafana Labs的查询证实,Grafana、Prometheus和ELK依然在可调查性和监控范畴占有主导地位。Grafana Labs自身一向十分活泼,推出了新的开源东西,如Loki(用于日志聚合)和Mimir(用于长时间的Prometheus存储),进一步加强了渠道才能。
在集群办理和监控方面,开源东西好像就不那么热门了。这或许是由于云搬迁的趋势减少了对办理大型本地数据渠道的需求。尽管Apache Ambari项目曾经因Hadoop集群办理火爆一时,但在2019年Hortonworks和Cloudera合并后简直被抛弃,最近从头燃起的复苏的小火苗又给它的未来带来一丝希望。可是,它的命运是否持久依然不确定。
至于资源调度和作业负载部署,Kubernetes好像是首选的资源调度,特别是在依据云的渠道上。
7. 机器学习渠道
机器学习渠道是最活泼的类别之一,其间矢量数据库受到了前所未有的重视。这是一种针对高维数据存储和检索进行优化的专用体系。正如DB-Engines的2023年陈述所强调的,矢量数据库成为曩昔一年中最受欢迎的数据库类别。
MLOps东西在高效扩展ML项目方面也发挥着越来越重要的作用,保证ML应用程序生命周期办理的顺利运行。跟着ML部署的复杂性和规划不断增加,MLOps东西已成为简化ML模型开发、部署和监控的不可或缺的东西。
8. 元数据办理
近年来,元数据办理现已成为重视焦点,这是由于对数据进行办理和访问的需求不断增加。然而,缺少全面的元数据办理渠道促使像Netflix、Lyft、Airbnb、Twitter、LinkedIn和Paypal等科技巨子构建自己的解决计划。
这些努力为开源社区带来了一些明显的改变。像Amundsen(来自Lyft)、DataHub(来自LinkedIn)和Marquez(来自WeWork)这样的东西是自主开发的解决计划,都现已开源并正在活跃开发和贡献。
至于架构办理,这个范畴依然有些停滞不前。Hive Metastore依然是许多人的首选解决计划,由于现在没有代替的开源解决计划来取代它。
9. 剖析与可视化
在商业智能(BI)和可视化范畴,Apache Superset是最活泼和受欢迎的开源代替计划,与答应的SaaS BI解决计划相比,它的体现更为超卓。
关于分布式和大规划并行处理(MPP)引擎,一些专家以为大数据现已过时,大多数公司不需要大规划的分布式处理,而是挑选单个强大的服务器来处理其数据量。
尽管有这种说法,但分布式大规划并行处理(MPP)引擎,如Apache Hive、Impala、Presto和Trino,在大型数据渠道中依然十分普遍,特别是关于拥有PB级数据的状况。
除了传统的MPP引擎之外,一致履行引擎是另一个取得重视的趋势。比如Apache Linkis、Alluxio和Cube之类的引擎为上层应用程序和底层引擎之间供给了查询和计算中间件。
结论
对开源数据工程生态体系的探究是咱们对不断变化而充满活力的数据工程国际的一瞥。尽管这份全景图中各个类别包括了体现杰出的东西和技能,但这个生态体系仍在迅速开展,不断呈现新的解决计划。
注意,这不是一个翔实的列表,而“最佳”的东西终究取决于你的具体需求和用例。假如我漏掉了任何值得注意的好东西,欢迎随时分享给我。
本文由 白鲸开源科技 供给发布支撑!