OpenMLDB

GitHub
1.7k 325 较难 1 次阅读 昨天Apache-2.0开发框架数据工具
AI 解读 由 AI 自动生成,仅供参考

OpenMLDB 是一款开源的机器学习数据库,专为解决人工智能工程中数据与特征处理的难题而生。在传统的机器学习开发流程中,从离线训练到在线推理往往涉及两套不同的代码和团队,这不仅导致开发周期漫长,还极易引发“数据泄露”或特征不一致等严重问题,使得企业不得不投入巨大成本进行验证和维护。

OpenMLDB 的核心使命是实现“开发即部署”。它提供了一个统一的特征平台,允许开发者直接使用 SQL 进行复杂的特征工程。通过这一设计,OpenMLDB 确保了用于模型训练的特征与线上实时推理的特征完全一致,从而消除了因环境差异导致的误差。其独特的技术亮点在于能够高效处理实时特征计算,同时满足低延迟、高吞吐和高可用性的生产级要求,将原本需要重构代码的繁琐过程简化为统一的 SQL 开发体验。

这款工具非常适合机器学习工程师、数据科学家以及后端开发人员使用。无论是需要构建实时个性化推荐系统,还是从事金融风控分析的团队,都能利用 OpenMLDB 大幅降低从实验到落地的门槛,将精力更多地集中在算法优化而非工程适配上。作为一个已在数百家企业实际应用中验证过的成熟方案,OpenMLDB 正帮助各类组织以更高效、可靠的方式拥抱人工智能。

使用场景

某金融科技公司正在构建实时反欺诈系统,数据科学团队需要基于用户历史交易行为快速计算滑动窗口特征(如过去 1 小时的转账次数)以训练风控模型。

没有 OpenMLDB 时

  • 特征不一致风险高:数据科学家使用 Python/Pandas 离线计算特征,而工程团队用 Java/C++ 重写逻辑用于线上推理,两套代码极易出现逻辑偏差,导致“训练 - 推理”数据漂移。
  • 开发迭代周期长:每次调整特征逻辑,都需要算法和工程两组人员分别修改代码并重新验证,沟通成本高,新模型上线往往耗时数周。
  • 实时性能难以保障:传统的脚本化处理难以满足毫秒级低延迟和高并发要求,必须投入大量精力进行底层架构优化和重构。
  • 数据泄露隐患大:在手动拼接历史数据时,容易因时间窗口处理不当引入未来数据,导致模型评估虚高但实际失效。

使用 OpenMLDB 后

  • 训练推理高度一致:通过统一的 SQL 定义特征逻辑,OpenMLDB 自动确保离线训练和在线推理使用完全相同的计算引擎,彻底消除特征不一致问题。
  • 实现“开发即部署”:算法工程师只需编写一次 SQL 脚本即可直接应用于生产环境,无需工程团队重复造轮子,模型迭代效率提升数倍。
  • 原生支持高性能实时计算:内置的即时特征计算能力天然支持低延迟和高吞吐,轻松应对海量交易请求,无需额外优化底层代码。
  • 自动规避数据泄露:系统严格基于时间戳管理数据窗口,从机制上杜绝了未来数据混入训练集的风险,保证模型效果真实可靠。

OpenMLDB 通过统一的特征平台打破了算法与工程的壁垒,让实时机器学习应用的开发像写 SQL 一样简单高效。

运行环境要求

操作系统
  • Linux
GPU

未说明

内存

未说明

依赖
notesOpenMLDB 是一个机器学习数据库,核心功能基于 SQL 进行特征工程。它包含定制的 Spark 发行版用于批处理,以及自研的实时 SQL 引擎。虽然提供了 Python SDK(PyPI 上有 openmldb 包),但 README 中未明确指定具体的 Python 版本、内存或 GPU 需求。该系统支持分布式存储和计算,适用于生产环境,可通过 Docker 部署或从源码编译安装。
python未说明
Spark (定制版)
LightGBM
XGBoost
Apache Kafka
Apache Pulsar
Apache RocketMQ
DolphinScheduler
Byzer
OpenMLDB hero image

快速开始

openmldb_logo

构建状态 Docker 拉取次数 Slack 讨论 发布版本 许可证 Gitee Maven Central Maven Central PyPI

English | 中文

目录

  1. 我们的理念
  2. 面向机器学习应用的特征平台
  3. 亮点
  4. 常见问题解答
  5. 下载与安装
  6. 快速入门
  7. 使用案例
  8. 文档
  9. 路线图
  10. 贡献
  11. 社区
  12. 出版物
  13. 用户列表

OpenMLDB 是一款开源的机器学习数据库,提供用于训练和推理的一致性特征计算平台。

1. 我们的理念

在人工智能(AI)工程化过程中,95% 的时间和精力都耗费在数据相关的工作上。为了应对这一挑战,科技巨头们投入数千小时自建数据和特征平台,以解决诸如数据泄露、特征回填和效率等问题。而其他中小型企业则不得不购买昂贵的 SaaS 工具和数据治理服务。

OpenMLDB 是一款开源的机器学习数据库,致力于解决数据和特征方面的难题。它已在数百个真实的企业级应用场景中部署,优先支持使用 SQL 进行特征工程,为开源社区提供一个能够实现训练与推理一致性特征的平台。

2. 面向机器学习应用的特征平台

实时特征对于许多机器学习应用至关重要,例如实时个性化推荐和风险分析。然而,数据科学家开发的特征工程脚本(通常是 Python 脚本)无法直接部署到生产环境中进行在线推理,因为它们通常无法满足低延迟、高吞吐量和高可用性等工程需求。因此,需要专门的工程团队介入,利用数据库或 C++ 对源代码进行重构和优化,以确保其高效性和鲁棒性。由于开发和部署生命周期涉及两个团队和两套工具链,验证一致性变得尤为重要,而这往往需要耗费大量时间和人力。

OpenMLDB 专为机器学习应用设计,旨在实现“开发即部署”的目标,从而大幅降低从离线训练到在线推理的成本。基于 OpenMLDB,整个生命周期只需三步:

  • 第一步:基于 SQL 进行离线特征工程脚本开发
  • 第二步:仅需一条命令即可完成 SQL 在线部署
  • 第三步:配置在线数据源以导入实时数据

完成这三步后,系统即可提供实时特征,并经过高度优化以实现低延迟和高吞吐量的生产环境需求。

workflow

为实现“开发即部署”的目标,OpenMLDB 被设计成能够为训练和推理提供一致性的特征。上图展示了 OpenMLDB 的高层架构,由四个关键组件组成:(1) 统一的编程语言 SQL;(2) 用于超低延迟服务的实时 SQL 引擎;(3) 基于 定制化的 Spark 发行版 的批处理 SQL 引擎;(4) 统一的执行计划生成器,用于连接批处理和实时 SQL 引擎,以保证一致性。

3. 亮点

训练与推理的一致性特征:基于统一的执行计划生成器,能够为离线训练和在线推理生成正确且一致的特征,实现无数据泄露的便捷时间旅行。

超低延迟的实时特征:实时 SQL 引擎从零开始构建,并针对时序数据进行了特别优化。它能够在几毫秒内生成实时特征,性能显著优于其他商业内存数据库系统(图 9 和 10,VLDB 2021 论文)。

用 SQL 定义特征:SQL 被用作定义和管理特征的统一编程语言。此外,SQL 还针对特征工程进行了扩展,例如新增了 LAST JOINWINDOW UNION 等语法。

适用于生产环境的机器学习应用:生产级特性无缝集成,支持企业级机器学习应用,包括分布式存储与计算、故障恢复、高可用性、无缝扩容、平滑升级、监控以及异构内存支持等。

4. 常见问题解答

  1. OpenMLDB 的应用场景有哪些?

    目前,OpenMLDB 主要定位于机器学习应用的特征平台,其优势在于低延迟的实时特征。它提供了“开发即部署”的能力,能够显著降低机器学习应用的开发和部署成本。此外,OpenMLDB 还内置了一个高效且功能完备的时序数据库,广泛应用于金融、物联网等领域。

  2. OpenMLDB 是如何发展起来的?

    OpenMLDB 最初源自 4Paradigm(一家领先的人工智能服务提供商)的商业产品。2021 年,核心团队在该商业产品的基础上进行了抽象、增强,并开发了更符合社区需求的功能,随后将其以开源项目的形式对外发布,旨在帮助更多企业以低成本实现数字化转型。在开源之前,OpenMLDB 已与 4Paradigm 的其他商业产品一起成功部署于数百个实际的机器学习应用场景中。

    需要注意的是,尽管名称相似,但 OpenMLDB 与自 2015 年开始开发的另一个开源项目 MLDB 并无关联。

  3. OpenMLDB 是一个特征存储吗?

    OpenMLDB 不仅仅是一个为机器学习应用提供特征的特征存储。它能够在几毫秒内生成实时特征。目前市场上大多数特征存储系统主要通过同步离线预计算好的特征来提供在线特征,而无法生成低延迟的实时特征。相比之下,OpenMLDB 利用其优化的在线 SQL 引擎,能够高效地在几毫秒内生成实时特征。

  4. 为什么 OpenMLDB 选择使用 SQL 来定义和管理特征?

    SQL(及其扩展)具有简洁优雅的语法和强大的表达能力。基于 SQL 的编程方式可以大幅降低使用 OpenMLDB 的学习曲线,同时也有助于团队协作和知识共享。

5. 下载与安装

6. 快速入门

OpenMLDB 快速入门

7. 使用案例

我们正在整理一系列基于 OpenMLDB 的真实应用场景,以展示它如何适配您的业务需求。

使用案例 使用工具 简介
纽约市出租车行程时长预测 OpenMLDB、LightGBM 这是 Kaggle 上的一个挑战赛,目标是预测纽约市出租车行程的总时长。详细信息请参阅 此处。本案例展示了如何使用 OpenMLDB 和 LightGBM 这两个开源工具,轻松构建端到端的机器学习应用。
从 Pulsar 导入实时数据流 OpenMLDB、Pulsar、OpenMLDB-Pulsar 连接器 Apache Pulsar 是一个云原生的流式处理平台。借助 OpenMLDB-Kafka 连接器,我们可以将 Pulsar 中的实时数据流无缝导入 OpenMLDB,作为在线数据源。
从 Kafka 导入实时数据流 OpenMLDB、Kafka、OpenMLDB-Kafka 连接器 Apache Kafka 是一个分布式事件流平台。通过 OpenMLDB-Kafka 连接器,Kafka 中的实时数据流可以被导入 OpenMLDB,作为在线数据源。
从 RocketMQ 导入实时数据流 OpenMLDB、RocketMQ、OpenMLDB-RocketMQ 连接器 Apache RocketMQ 是一个分布式消息和流处理平台。利用 OpenMLDB-RocketMQ 连接器,可以高效地将 RocketMQ 中的实时数据流导入 OpenMLDB。
在 DolphinScheduler 中构建端到端机器学习流水线 OpenMLDB、DolphinScheduler、OpenMLDB 任务插件 本案例演示如何基于 OpenMLDB 和 DolphinScheduler(一个开源的工作流调度平台)构建端到端的机器学习流水线,包括特征工程、模型训练和部署等环节。
广告点击欺诈检测 OpenMLDB、XGBoost 本示例使用 OpenMLDB 和 XGBoost 来检测在线广告中的点击欺诈行为,相关比赛详情请参阅 此处
基于 SQL 的机器学习流水线 OpenMLDB、Byzer、OpenMLDB Byzer 插件 Byzer 是一种低代码的开源编程语言,适用于数据处理、分析和人工智能领域。Byzer 已集成 OpenMLDB,从而支持使用 SQL 构建机器学习流水线。
在 Airflow 中构建端到端机器学习流水线 OpenMLDB、Airflow、Airflow OpenMLDB 提供者插件、XGBoost Airflow 是一款流行的工作流管理和调度工具。本示例展示了如何通过提供的插件包,在 Airflow 中高效地调度 OpenMLDB 任务。
精准营销 OpenMLDB、OneFlow OneFlow 是一个用户友好、可扩展且高效的深度学习框架。本案例展示了如何使用 OpenMLDB 进行特征工程,再结合 OneFlow 进行模型训练和推理,从而构建一个用于精准营销的应用程序,具体参考 京东数据平台

8. 文档

9. 路线图

请参阅我们的公开路线图页面

此外,开发路线图上还有一些重要的功能尚未排期。我们非常欢迎对这些功能的任何反馈。

  • 云原生的 OpenMLDB
  • 自动特征提取
  • 基于异构存储和计算资源的优化
  • 面向边缘计算的轻量级 OpenMLDB

10. 贡献

我们非常感谢社区的贡献。

在 Gitpod 中打开

11. 社区

12. 出版物

13. 用户列表

我们正在建立用户列表,以收集社区的反馈。如果您在使用 OpenMLDB 时能提供您的使用场景、评论或其他反馈,我们将不胜感激。我们期待您的声音!

版本历史

v0.9.32025/02/21
v0.9.22024/07/27
v0.9.12024/07/18
v0.9.02024/04/25
v0.8.52024/02/27
v0.8.42023/11/21
v0.8.32023/09/16
v0.8.22023/07/20
v0.8.12023/06/29
v0.8.02023/05/12
v0.7.32023/03/22
v0.7.22023/02/20
v0.7.12023/01/14
v0.7.02022/12/31
v0.6.92022/12/08
v0.6.82022/11/30
v0.6.72022/11/24
v0.6.62022/11/15
v0.6.52022/11/05
v0.6.42022/10/22

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|4天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|5天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

148.6k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.1k|★★☆☆☆|2天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|今天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|3天前
插件开发框架