精选开源数据工程工具

一个精选的开源工具列表,用于分析平台和数据工程生态系统

有关2025年上述汇编景观的更多信息,请参阅Pracdata.io上发布的博客文章。

存储系统

关系型数据库管理系统

  • PostgreSQL - 高级的对象-关系型数据库管理系统
  • MySQL - 最受欢迎的开源数据库之一
  • MariaDB - 一个流行的MySQL服务器分支
  • Supabase - 开源的Firebase替代品
  • SQLite - 最受欢迎的嵌入式数据库引擎

分布式SQL数据库管理系统

  • Citus - 作为扩展的流行分布式PostgreSQL
  • CockroachDB - 云原生分布式SQL数据库
  • YugabyteDB - 云原生分布式SQL数据库
  • TiDB - 云原生、分布式、兼容MySQL的数据库
  • OceanBase - 可扩展的分布式关系型数据库
  • ShardingSphere - 分布式SQL事务和查询引擎
  • Neon - AWS Aurora Postgres的开源无服务器替代品
  • CrateDB - 分布式、可扩展、兼容PostgreSQL的SQL数据库

缓存存储

  • Redis - 基于键值对的流行缓存存储
  • Memcached - 高性能的多线程键值缓存存储
  • Dragonfly - 兼容Redis和Memcached API的现代缓存存储

内存SQL数据库

  • Apache Ignite - 分布式、符合ACID的内存数据库管理系统
  • ReadySet - 兼容MySQL和Postgres协议的缓存层
  • VoltDB - 分布式、水平可扩展、符合ACID的数据库

文档存储

  • MongoDB - 跨平台、面向文档的NoSQL数据库
  • RavenDB - 符合ACID的NoSQL文档数据库
  • RethinkDB | ⚠️ 已停止维护 | - 面向实时应用的分布式文档数据库
  • CouchDB - 可扩展的面向文档的NoSQL数据库
  • Couchbase - 现代云原生NoSQL分布式数据库
  • FerretDB - 真正的开源MongoDB替代品
  • LowDB | ⚠️ 已停止维护 | - 简单快速的JSON数据库

NoSQL多模型数据库

  • OrientDB - 支持图、文档、响应式、全文和地理空间模型的多模型数据库管理系统
  • ArangoDB - 支持文档、图和键值等多种灵活数据模型的多模型数据库
  • SurrealDB - 可扩展、分布式、协作的文档-图数据库
  • EdgeDB - 具有声明式模式的图关系型数据库

图数据库

  • Neo4j - 高性能领先的图数据库
  • JanusGraph - 高度可扩展的分布式图数据库
  • HugeGraph - 快速且高度可扩展的图数据库
  • NebulaGraph - 分布式、水平可扩展、快速的开源图数据库
  • Cayley | ⚠️ 已停止维护 | - 受Google知识图谱背后的图数据库启发
  • Dgraph - 具有图后端的水平可扩展分布式GraphQL数据库
  • Apache Age - 作为PostgreSQL扩展的图数据库
  • FalkorDB - 内部使用GraphBLAS的图数据库,专为LLM定制

分布式键值存储

  • Riak | ⚠️ 已停止维护 | - Basho Technologies开发的去中心化键值数据存储
  • FoundationDB - Apple开发的分布式事务键值存储
  • etcd - 用Go编写的分布式可靠键值存储
  • TiKV - 最初为补充TiDB而创建的分布式事务键值数据库
  • Immudb - 内置加密证明和验证的数据库
  • Valkey - 从Redis分叉的分布式键值数据存储
  • Apache Kvrocks - 使用RocksDB作为存储引擎的分布式键值数据库

宽列键值存储

  • Apache Cassandra - 高度可扩展的基于LSM树的分区行存储
  • Apache HBase - 模仿Google Bigtable的分布式宽列存储
  • Scylla - 基于LSM树的宽列存储,兼容Apache Cassandra和Amazon DynamoDB API
  • Apache Accumulo - 基于Hadoop的分布式键值存储,具有可扩展的数据存储和检索能力

嵌入式键值存储

  • LevelDB | ⚠️ 已停止维护 | - Google编写的快速键值存储库
  • RocksDB - Meta(Facebook)开发的可嵌入持久键值存储
  • MyRocks - MySQL的RocksDB存储引擎
  • BadgerDB - 用纯Go编写的可嵌入快速键值数据库

搜索引擎

  • Apache Solr - 基于Apache Lucene的快速分布式搜索数据库
  • Elasticsearch - 为速度优化的分布式RESTful搜索引擎
  • Sphinx | ⚠️ 已停止维护 | - 索引速度快的全文搜索引擎
  • Meilisearch - 集成支持出色的快速搜索API
  • OpenSearch - 社区驱动的Elasticsearch和Kibana开源分支
  • Quickwit - 面向可观测性数据的快速云原生搜索引擎
  • ParadeDB - 基于Postgres构建的搜索引擎

流式数据库

  • RisingWave - 用于流处理、分析和管理的高扩展性Postgres
  • Materialize - 专为运营工作负载构建的实时数据仓库
  • EventStoreDB - 为事件溯源和事件驱动架构设计的原生事件数据库
  • KsqlDB - 在Apache Kafka之上构建流处理应用的数据库
  • Timeplus Proton - 由ClickHouse驱动的快速轻量级流式SQL引擎
  • Fluss - 作为Lakehouse架构实时数据层的流式存储

时序数据库

  • InfluxDB - 面向指标、事件和实时分析的可扩展数据存储
  • TimeScaleDB - 作为PostgreSQL扩展打包的快速摄入时序SQL数据库
  • Apache IoTDB - 与Hadoop和Spark生态无缝集成的物联网数据库
  • Netflix Atlas - Netflix开发并开源的n维内存时序数据库
  • QuestDB - 用于快速摄入和SQL查询的时序数据库
  • TDengine - 针对物联网(IoT)优化的高性能云原生时序数据库
  • KairosDB | ⚠️ 已停止维护 | - 用Java编写的可扩展时序数据库
  • GreptimeDB - 面向指标、日志和事件的云原生统一时序数据库
  • HoraeDB - 分布式云原生时序数据库

列式OLAP数据库

  • Apache Kudu - 面向Apache Hadoop生态系统的列式数据存储
  • Greenplum | ⛔️ 已归档 | - 面向分析的列式大规模并行PostgreSQL
  • MonetDB - 最初由CWI数据库研究组开发的高性能列式数据库
  • Databend - 用Rust构建的弹性、负载感知的云原生数据仓库
  • ByConity - 从ClickHouse分叉的云原生数据仓库
  • Hydra | ⚠️ 已停止维护 | - 列式Postgres扩展

实时OLAP引擎

  • ClickHouse - 最初在Yandex开发的实时列式数据库
  • Apache Pinot - LinkedIn开源的实时分布式OLAP数据存储
  • Apache Druid - 由Metamarkets开发并开源的高性能实时OLAP引擎
  • Apache Kylin - 为Hadoop提供多维分析的分布式OLAP引擎
  • Apache Doris - 基于MPP架构的高性能实时分析数据库
  • StarRocks - 支持多维分析的亚秒级OLAP数据库(Linux Foundation项目)

进程内OLAP引擎

  • DuckDB - 进程内SQL OLAP数据库管理系统
  • GlareDB - 用于跨分布式数据运行分析SQL数据库
  • Apache DataFusion - 支持SQL和DataFrame API的可扩展查询引擎
  • chdb - 由ClickHouse驱动的进程内OLAP SQL引擎
  • SlateDB - 基于对象存储构建的云原生嵌入式存储引擎

OLAP扩展

  • pg_duckdb - 嵌入DuckDB分析引擎的Postgres扩展
  • pg_analytics - 由DuckDB驱动的Postgres分析扩展
  • pg_mooncake - 基于DuckDB的Postgres列式存储扩展
  • pg_parquet - 用于读写数据湖Parquet文件的Postgres扩展

数据湖平台

分布式文件系统

  • Apache Hadoop HDFS - 高度可扩展的分布式块存储文件系统
  • GlusterFS | ⚠️ 已停止维护 | - 可扩展至数PB的分布式存储
  • JuiceFS - 基于Redis和S3构建的分布式POSIX文件系统
  • Lustre - 专用于提供全局POSIX兼容命名空间的分布式并行文件系统

分布式对象存储

  • Apache Ozone - 面向Apache Hadoop的可扩展、冗余、分布式对象存储
  • Ceph - 分布式对象、块和文件存储平台
  • MinIO - 与Amazon S3 API兼容的高性能对象存储
  • Garage - 为中小规模自托管设计的S3兼容分布式对象存储

序列化框架

  • Apache Parquet - 支持嵌套数据的高效列式二进制存储格式
  • Apache Avro - 高效快速的基于行的二进制序列化框架
  • Apache ORC - 为Hadoop设计的自描述类型感知列式文件格式
  • Lance - 用Rust实现的面向ML和LLM的现代列式数据格式
  • Vortex - 高度可扩展的快速列式文件格式
  • Arrow Feather - 用于存储Arrow表或数据框的可移植文件格式

开放表格式

  • Apache Hudi - 设计用于在云和Hadoop上支持增量数据摄取的开放表格式
  • Apache Iceberg - Netflix开发的大型分析表高性能表格式
  • Delta Lake - Databricks开发的用于构建Lakehouse架构的存储框架
  • Apache Paimon - Apache孵化器项目,支持高速流式数据摄取
  • OpenHouse - 面向开放Data Lakehouse格式的声明式目录和数据服务

原生开放表格式库

  • Delta-rs - Delta Lake的Rust原生库,带有Python绑定
  • PyIceberg - 与Iceberg表格式交互的Python原生库
  • Hudi-rs - Apache Hudi的Rust原生库,带有Python绑定

通用Lakehouse

  • Apache XTable - 支持多种开源表格式之间互操作的统一框架
  • Apache Amoro - 基于开放数据湖格式构建的Lakehouse管理系统

数据集成

数据集成平台

  • Airbyte - 支持广泛连接器的ETL/ELT数据管道数据集成平台
  • Apache NiFi - 具有良好企业支持的可靠、可扩展低代码数据集成平台
  • Apache Camel - 支持多种企业集成模式的可嵌入集成框架
  • Apache Gobblin - LinkedIn构建的支持流式和批处理数据的分布式数据集成框架
  • Apache InLong - 最初在腾讯构建的支持海量数据的集成框架
  • Meltano - 声明式代码优先的数据集成引擎
  • Apache SeaTunnel - 支持多种摄取模式的高性能分布式数据集成工具
  • Estuary Flow - 用于快速数据集成的实时ETL和数据管道平台
  • dlt - 面向Python优先数据平台的轻量级数据集成库

CDC工具

  • Debezium - 支持多种数据库的变更数据捕获框架
  • Kafka Connect - 基于Apache Kafka的流式数据集成框架和运行时,支持CDC
  • Redpanda Connect - 基于Redpanda的数据流和集成框架
  • Flink CDC - 支持不同数据库的Apache Flink引擎CDC连接器
  • Brooklin | ⚠️ 已停止维护 | - 在各种异构源和目标系统之间流式传输数据的分布式平台
  • RudderStack - 构建数据管道的无头客户数据平台,Segment的开源替代品
  • Artie Transfer - 在OLTP和OLAP数据库之间进行实时CDC复制的解决方案
  • Dozer - 在各种源和目标之间进行基于实时CDC的数据集成工具
  • PeerDB - 将数据从Postgres复制到数据仓库、队列和其他存储的CDC工具

数据迁移

  • DBmate - 轻量级、框架无关的数据库迁移工具
  • Ingestr - 用单个命令在任意数据库之间复制数据的CLI工具
  • Sling - 将数据从源存储传输到目标存储/数据库的CLI工具

日志与事件收集

  • CloudQuery - 将数据从云API同步到各种支持目标的ETL工具
  • Snowplow | ⚠️ 已停止维护 | - 用于收集行为数据并加载到各种云存储系统的云原生引擎
  • EventMesh - 用于收集和加载事件数据到各种目标的无服务器事件中间件
  • Apache Flume | ⚠️ 已停止维护 | - 可扩展的分布式日志聚合服务
  • Steampipe - 从API和服务直接获取数据的零ETL解决方案
  • Jitsu - 用于收集事件数据的完全可脚本化数据摄取引擎

事件中心

  • Apache Kafka - 高度可扩展的分布式事件存储和流式处理平台
  • NSQ - 设计用于大规模运行的实时分布式消息传递平台
  • Apache Pulsar - 可扩展的分布式发布-订阅消息系统
  • Apache RocketMQ - 云原生消息传递和流式处理平台
  • Redpanda - 与Kafka API兼容的高性能流式数据平台
  • Memphis | ⚠️ 已停止维护 | - 用于构建事件驱动应用的可扩展数据流平台
  • AutoMQ - 使用S3作为主要存储层的云原生Kafka替代品

反向ETL

  • Multiwoven - Hightouch和RudderStack的开源反向ETL替代品

数据处理与计算

统一处理

  • Apache Beam - 支持在流行分布式处理后端上执行的统一编程模型
  • Apache Spark - 大规模数据处理统一分析引擎
  • Dinky - 基于Apache Flink的流批一体化计算平台
  • Feldora - 统一的增量计算引擎

批处理

  • Hadoop MapReduce - Apache Hadoop项目的高度可扩展分布式批处理框架
  • Apache Tez - 为Apache Hive和Hadoop构建的分布式数据处理管道

流式处理

  • Apache Flink - 可扩展的高吞吐量流式处理框架
  • Apache Samza - 使用Kafka和Hadoop的分布式流式处理框架,最初由LinkedIn开发
  • Apache Storm - 基于Actor Model框架的分布式实时计算系统
  • Akka - 基于Actor Model的高度并发、分布式、消息驱动处理系统
  • Bytewax - 带有Rust分布式处理引擎的Python流式处理框架
  • Timeplus Proton - 由ClickHouse驱动的快速轻量级流式SQL引擎
  • FastStream - 与Apache Kafka等事件流交互的Python框架
  • Bento - WarpStream Labs的流式处理引擎(从Benthos分叉)
  • Fluvio - 用Rust和WebAssembly编写的精简分布式流式处理系统
  • Arroyo - 用Rust编写的分布式流式处理引擎

Python处理框架

  • Polars - 带有向量化查询引擎的多线程DataFrame,用Rust编写
  • PySpark - Apache Spark的Python接口
  • Vaex - 面向大型表格数据集的高性能Python库
  • Apache Arrow - 高效的内存数据格式
  • Ibis - 支持多种引擎后端的可移植Python数据框库
  • SQLFrame - 用于数据转换的兼容Spark DataFrame API的库
  • Daft - 使用Python或SQL进行大规模数据处理的分布式查询引擎
  • cuDF - GPU加速的pandas API DataFrame库

Python工作流扩展

  • Dask - 带有任务调度的灵活并行计算库
  • RAY - 用于扩展Python应用的统一框架和分布式运行时
  • Modin - 将Pandas工作流扩展到多线程执行的库
  • Pandarallel | ⚠️ 已停止维护 | - 在所有可用CPU上并行化Pandas操作的库

SQL工具包

  • SQLAlchemy - Python SQL工具包和对象关系映射器
  • SQLGlot - Python SQL解析器和转换器

工作流管理与DataOps

工作流编排

  • Apache Airflow - 将工作流创建和调度为任务有向无环图(DAG)的平台
  • Prefect - 基于Python的工作流编排工具
  • Argo - 在Kubernetes上编排并行作业的容器原生工作流引擎
  • Azkaban | ⚠️ 已停止维护 | - LinkedIn创建的用于运行Hadoop作业的批处理工作流作业调度器
  • Cadence - 支持不同语言客户端库的分布式、可扩展、高可用编排系统
  • Dagster - 用Python编写的云原生数据管道编排器
  • Apache DolphinScheduler - 低代码高性能工作流编排平台
  • Luigi - 用于构建复杂批处理作业管道的Python库
  • Flyte - 面向数据和ML工作负载的可扩展灵活工作流编排平台
  • Kestra - 声明式语言无关的工作流编排和调度平台
  • Mage.ai - 集成、调度和管理数据平台的工具
  • Temporal - 弹性工作流管理系统,源自Uber Cadence的分支
  • Windmill - 快速工作流引擎,Airplane和Retool的开源替代品
  • Maestro - Netflix开发的通用工作流编排器

作业调度

  • Celery - Python分布式任务队列系统
  • DKron - 分布式、容错作业调度系统
  • APScheduler - Python高级任务调度器和任务队列系统

数据质量

  • Data-diff | ⛔️ 已归档 | - 比较数据库内或跨数据库表的工具
  • Great Expectations - 用Python编写的数据验证和分析工具
  • Deequ - 基于Apache Spark的用于测量大型数据集数据质量的库
  • Pandera - 轻量级、灵活、富有表现力的统计数据测试库
  • Soda - 用于数据质量测试的CLI工具和Python库
  • Pydantic - 使用Python类型提示的数据验证库

数据版本控制

  • LakeFS - 数据湖存储数据的数据版本控制
  • Project Nessie - 具有Git语义的数据湖事务目录
  • DVC - 面向数据和ML实验的数据版本控制工具
  • Dolt - 面向数据的Git工具
  • Git-lfs - 用于对大文件进行版本控制的Git扩展
  • Datachain - 面向非结构化数据版本控制的Python框架

数据建模

  • dbt - 面向数据管道的数据建模和转换工具
  • SQLMesh - 与dbt向后兼容的数据转换和建模框架

管道可观测性

  • Elementary - 用于监控数据管道的dbt原生数据可观测性解决方案

数据基础设施

资源调度

  • Apache YARN - Apache Hadoop集群的默认资源调度器
  • Apache Mesos - 由UC Berkeley博士生开发的资源调度和集群资源抽象框架
  • Kubernetes - 生产级容器调度和管理工具
  • Apache YuniKorn - 面向容器编排系统的轻量级通用资源调度器
  • Docker - 流行的操作系统级虚拟化和容器化软件

集群管理

  • Apache Ambari - Apache Hadoop集群的配置、管理和监控工具
  • Apache Helix - LinkedIn开发的通用集群管理框架

安全

  • Apache Knox - 用于管理Hadoop集群访问的网关和SSO服务
  • Apache Ranger - 面向Hadoop和其他流行服务的安全和治理平台
  • Kerberos - 流行的企业网络认证协议

指标存储

  • InfluxDB - 面向指标和事件的可扩展数据存储
  • Mimir - Grafana Labs开发的Prometheus可扩展长期指标存储
  • OpenTSDB - 基于Apache HBase编写的分布式可扩展时序数据库
  • M3 - 分布式TSDB和指标存储与聚合器

可观测性框架

  • Prometheus - 流行的指标收集和管理工具
  • ELK - 流行的可观测性技术栈,包括Elasticsearch、Kibana、Beats和Logstash
  • Graphite - 成熟的基础设施监控和可观测性系统
  • OpenTelemetry - 用于管理和监控指标的API、SDK和工具集合
  • VictoriaMetrics - 带有时序数据库的可扩展监控解决方案
  • Zabbix - 实时基础设施和应用监控服务

监控仪表板

  • Grafana - 流行的开放可组合可观测性和数据可视化平台
  • Kibana - Elasticsearch的可视化和搜索仪表板
  • Redpanda Console - 用于监控和管理Apache Kafka和Redpanda工作负载的UI

日志与指标管道

  • Fluentd - 指标收集、缓冲和路由服务
  • Fluent Bit - 快速日志处理器和转发器,Fluentd生态系统的一部分
  • Logstash - 服务器端日志和指标传输与处理器,ELK技术栈的一部分
  • Telegraf - 由Influxdata开发的用于收集和报告指标的插件驱动服务器代理
  • Vector - 高性能端到端(代理和聚合器)可观测性数据管道
  • StatsD | ⚠️ 已停止维护 | - 用于收集、聚合和路由指标的网络守护进程

成本管理

  • OpenCost - Kubernetes工作负载和云成本的监控

元数据管理

元数据平台

  • Amundsen - Lyft工程师开发的数据发现和元数据引擎
  • Apache Atlas - 面向Apache Hadoop生态系统的可观测性平台
  • DataHub - Netflix开发的现代数据堆栈元数据平台
  • Marquez - 用于收集、聚合和可视化元数据的元数据服务
  • CKAN - 用于编目、管理和访问数据的数据管理系统
  • OpenMetadata - 使用中央元数据存储库的统一直观治理平台
  • ODD Platform - 数据发现和可观测性平台

开放标准

  • OpenLineage - 血缘元数据收集的开放标准
  • OpenMetadata - 提供开放元数据管理标准的统一元数据平台
  • Egeria - 促进元数据交换的开放元数据和治理标准

模式与目录服务


分析与可视化

BI与仪表板

  • Apache Superset - 流行的开源数据可视化和数据探索平台
  • Metabase - 简单的数据可视化和探索仪表板
  • Redash - 支持多种数据源连接器的探索、查询、可视化和共享数据的工具
  • Lightdash - 将dbt项目转变为全栈BI平台的自助BI工具

BI即代码(Web应用)

  • Streamlit - 将数据打包和共享为Web应用的Python工具
  • Evidence - 使用纯SQL和Markdown构建交互式数据可视化的工具
  • Dash - 面向ML和数据科学Web应用的Python框架
  • Vizro - 创建模块化数据可视化应用的工具包
  • Mercury - 将Jupyter Notebook转换为Web应用的XHR工具
  • Quary - 基于代码的BI解决方案

查询与协作

  • Hue - Cloudera开发的具有Hadoop生态系统支持的查询和数据探索工具
  • Apache Zeppelin - Hadoop交互式数据分析的Web笔记本
  • Querybook - Pinterest开发的简单查询和笔记本UI
  • Jupyter - 流行的交互式Web笔记本应用
  • IPython - 用于数据分析的增强交互式Python shell
  • Datasette - 用于探索和发布数据的工具

MPP查询引擎

  • Apache Hive - Hadoop之上的数据仓库和MPP引擎
  • Apache Impala - 主要面向Hadoop集群的MPP引擎,由Cloudera开发
  • Presto - 面向大数据的分布式SQL查询引擎
  • Trino - 前PrestoSQL分布式SQL查询引擎
  • Apache Drill - 面向NoSQL和Hadoop数据存储系统的分布式MPP查询引擎
  • DataFusion Ballista - 基于Apache DataFusion的分布式查询执行引擎

语义与中间件层

  • Alluxio - 数据编排和虚拟分布式存储系统
  • Cube - 支持流行数据库引擎的构建数据应用的语义层
  • Apache Linkis - 促进应用与数据引擎之间连接和编排的计算中间件
  • Apache Gluten - 将基于JVM的SQL引擎执行卸载到原生引擎的中间层
  • Apache OpenDAL - 实现与各种存储服务无缝交互的开放数据访问层

数据共享

  • delta-sharing - 安全实时交换大型数据集的开放协议

ML/AI平台

向量存储

  • Milvus - 云原生向量数据库,AI应用的存储
  • Qdrant - 面向AI的高性能、可扩展向量数据库
  • Chroma - 用于构建LLM应用的AI原生嵌入数据库
  • Marqo - 面向文本和图像的端到端向量搜索引擎
  • LanceDB - 用Rust编写的面向AI应用的无服务器向量数据库
  • Weaviate - 可扩展的云原生,支持对象和向量存储
  • Deeplake - 为深度学习应用优化的AI数据库存储格式
  • Vespa - 组织向量、张量、文本和结构化数据的存储
  • Vald - 可扩展的分布式近似最近邻(ANN)密集向量搜索引擎
  • pgvector - 作为Postgres扩展的向量相似性搜索

MLOps

  • MLflow - 简化机器学习开发和生命周期管理的平台
  • Metaflow - Netflix开发的构建和管理ML/AI及数据科学项目的工具
  • SkyPilot - 在任何云上运行LLM、AI和批处理作业的框架
  • Jina - 使用云原生栈构建多模态AI应用的工具
  • NNI | ⛔️ 已归档 | - 微软的自动化机器学习(AutoML)工具包
  • BentoML - 构建可靠且可扩展AI应用的框架
  • Determined AI - 简化分布式训练、调优和实验跟踪的ML平台
  • RAY - 扩展AI和Python应用的统一框架
  • Kubeflow - 面向ML操作的云原生平台 - 管道、训练和部署
  • Kedro - 构建生产就绪的数据科学和ML工作流的工具箱和框架
  • Pachyderm - 可扩展的ML和数据科学数据处理工作流管理平台

LLMOps

  • Dify - 具有AI工作流、RAG管道和模型管理的LLM开发平台
  • Haystack - 构建可定制、生产就绪LLM应用的AI编排框架
  • Superduper - 基于Python的构建AI数据流和应用框架
  • Cognee - 用于实现LLM工作流的LLM内存引擎
  • vLLM - 面向LLM的高吞吐量、内存高效推理和服务引擎

Q.E.D.


寻门而入,破门而出