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

有关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数据库
缓存存储
内存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工具
数据迁移
日志与事件收集
- 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框架
数据建模
管道可观测性
- 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 - 促进元数据交换的开放元数据和治理标准
模式与目录服务
- Hive Metastore - 作为Apache Hive项目一部分的流行模式管理和元数据存储服务
- Confluent Schema Registry - 由Confluent开发的Kafka模式注册表
- Apache Polaris - 面向Apache Iceberg的互操作开源目录
- Unity Catalog - 面向Data Lakehouse格式和其他数据/AI资产的通用目录
- Lakekeeper - Rust原生的Apache Iceberg REST目录
- Apache Gravitino - 地理分布和联邦开放数据目录
分析与可视化
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.


