目录
April 30, 2026 · View on GitHub
加入 MatrixOne 社区
如果你对 MatrixOne 项目感兴趣的话,请帮忙给 MatrixOne 点击 Star, Fork 和 Watch 三连吧,谢谢!
目录
MatrixOne 是什么?
MatrixOne 是业界首个将 Git 风格版本控制引入数据库的产品,同时具备 MySQL 兼容、AI 原生和云原生架构。
作为一款 HTAP(混合事务/分析处理)数据库,MatrixOne 采用超融合的 HSTAP 引擎,在单一系统中无缝处理事务型(OLTP)、分析型(OLAP)、全文检索和向量检索等多种工作负载——无需数据迁移、无需 ETL、无需妥协。
🎬 Git for Data - 革命性创新
正如 Git 革新了代码管理,MatrixOne 将 Git 风格工作流带入数据管理。这一能力的设计与实现可参见 arXiv 论文 Version Control System for Data with MatrixOne;在实际使用中,您可以像管理代码一样管理数据库:
- 📸 即时快照 - 毫秒级零拷贝快照,无存储膨胀
- ⏰ 时间旅行 - 查询任意历史时刻的数据状态
- 🔀 分支与合并 - 在隔离分支中测试迁移和转换
- ↩️ 即时回滚 - 无需完整备份即可恢复到任意状态
- 🔍 完整审计追踪 - 不可变历史记录追踪每次数据变更
为什么重要: 数据错误代价高昂。Git for Data 为您的最关键资产(数据)提供了开发者在 Git 中享有的安全性和灵活性。
🎯 为 AI 时代而生
|
🗄️ MySQL 兼容 MySQL 8.0 的直接替代品。使用现有工具、ORM 和应用程序无需修改代码。无缝迁移路径。 |
🤖 AI 原生 内置向量检索(IVF/HNSW)和全文检索。直接构建 RAG 应用和语义搜索——无需外部向量数据库。 |
☁️ 云原生 存算分离。随处部署。弹性扩展。Kubernetes 原生。零停机运维。 |
🚀 一个数据库替代所有
MatrixOne 的 HSTAP 引擎整合您的整个数据基础设施:
传统方案:
MySQL (OLTP) → ETL → ClickHouse (OLAP) → ETL → Elasticsearch (检索)
→ Vector DB (AI)
4 个数据库 · 多条 ETL 管道 · 数据不一致 · 运维复杂
MatrixOne 方案:
MatrixOne (OLTP + OLAP + 全文检索 + 向量检索)
1 个数据库 · 无需 ETL · 实时一致 · ACID 合规
核心优势:
- 🎯 简单 - 一套系统部署、监控和维护
- ⚡ 实时 - 无数据延迟,即时分析
- 🔒 一致 - 单一数据源,无同步问题
- 💰 高效 - 共享基础设施,无数据重复
⚡️ 60秒快速上手
1️⃣ 启动 MatrixOne
docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:latest
2️⃣ 创建数据库
mysql -h127.0.0.1 -P6001 -p111 -uroot -e "create database demo"
3️⃣ 连接与查询
安装 Python SDK:
pip install matrixone-python-sdk
向量检索示例:
from matrixone import Client
# 连接到 MatrixOne(使用默认配置)
client = Client()
client.connect(database='demo')
# 创建带向量列的表
client.execute("""
CREATE TABLE IF NOT EXISTS documents (
id INT PRIMARY KEY,
title VARCHAR(100),
embedding VECF32(16) -- 16维向量
)
""")
# 创建 IVF 索引以加速相似度搜索
client.execute("CREATE INDEX idx_vec ON documents(embedding) USING IVF")
# 插入示例向量数据
client.execute("""
INSERT INTO documents VALUES
(1, 'AI 数据库', '[0.1, 0.2, 0.3, 0.15, 0.25, 0.35, 0.12, 0.22, 0.18, 0.28, 0.13, 0.23, 0.17, 0.27, 0.14, 0.24]'),
(2, '向量检索', '[0.2, 0.3, 0.4, 0.25, 0.35, 0.45, 0.22, 0.32, 0.28, 0.38, 0.23, 0.33, 0.27, 0.37, 0.24, 0.34]'),
(3, '时序数据', '[0.5, 0.1, 0.2, 0.45, 0.15, 0.25, 0.42, 0.12, 0.48, 0.18, 0.43, 0.13, 0.47, 0.17, 0.44, 0.14]')
""")
# 使用余弦相似度查找相似文档
query_vector = "[0.15, 0.25, 0.35, 0.2, 0.3, 0.4, 0.17, 0.27, 0.23, 0.33, 0.18, 0.28, 0.22, 0.32, 0.19, 0.29]"
results = client.query(f"""
SELECT id, title, cosine_similarity(embedding, {query_vector}) AS similarity
FROM documents
ORDER BY similarity DESC
LIMIT 3
""")
print(results)
全文检索示例:
...
from matrixone.sqlalchemy_ext import boolean_match
# 使用 SDK 创建全文索引
client.fulltext_index.create(
Article, name='ftidx_content', columns=['title', 'content']
)
# 布尔搜索,支持 must/should 操作符
results = client.query(
Article.title,
Article.content,
boolean_match('title', 'content')
.must('机器')
.must('学习')
.must_not('入门')
).execute()
# 结果是 ResultSet 对象
for row in results.rows:
print(f"标题: {row[0]}, 内容: {row[1][:50]}...")
...
完成! 🎉 您现在已运行一个生产级数据库,具备类 Git 快照、向量检索和完整 ACID 合规性。
💡 需要更多控制? 查看下方的 安装与部署 章节了解生产级安装选项。
📚 教程与示例
深入了解 MatrixOne!浏览我们全面的实践教程和真实案例:
🎯 入门教程
| 教程 | 语言/框架 | 说明 |
|---|---|---|
| Java CRUD 示例 | Java | Java 应用开发 |
| SpringBoot 和 JPA CRUD 示例 | Java | SpringBoot + Hibernate/JPA |
| PyMySQL CRUD 示例 | Python | Python 基础数据库操作 |
| SQLAlchemy CRUD 示例 | Python | Python + SQLAlchemy ORM |
| Django CRUD 示例 | Python | Django Web 框架 |
| Golang CRUD 示例 | Go | Go 应用开发 |
| Gorm CRUD 示例 | Go | Go + Gorm ORM |
| C# CRUD 示例 | C# | .NET 应用开发 |
| TypeScript CRUD 示例 | TypeScript | TypeScript 应用开发 |
🚀 高级功能教程
| 教程 | 使用场景 | 相关 MatrixOne 特性 |
|---|---|---|
| Pinecone 兼容向量检索 | AI 与搜索 | 向量检索,Pinecone 兼容 API |
| IVF 索引健康监控 | AI 与搜索 | 向量检索,IVF 索引 |
| HNSW 向量索引 | AI 与搜索 | 向量检索,HNSW 索引 |
| 全文自然语言搜索 | AI 与搜索 | 全文检索,自然语言 |
| 全文布尔搜索 | AI 与搜索 | 全文检索,布尔运算符 |
| 全文 JSON 搜索 | AI 与搜索 | 全文检索,JSON 数据 |
| 混合搜索 | AI 与搜索 | 混合搜索,向量+全文+SQL |
| RAG 应用示例 | AI 与搜索 | RAG,向量检索,全文检索 |
| 图文搜索应用 | AI 与搜索 | 多模态搜索,图像相似度 |
| Dify 集成示例 | AI 与搜索 | AI 平台集成 |
| HTAP 应用示例 | 性能 | HTAP,实时分析 |
| 多团队开发即时克隆 | 性能 | 即时克隆,Git for Data |
| 生产环境安全升级与即时回滚 | 性能 | 快照,回滚,Git for Data |
📖 查看所有教程 →
🛠️ 安装与部署
MatrixOne 支持多种安装方式,选择最适合您需求的方式:
🐳 本地多 CN 开发环境
在本地运行完整的分布式集群,包含多个 CN 节点、负载均衡和便捷的配置管理。
# 快速开始
make dev-build && make dev-up
# 通过代理连接(负载均衡)
mysql -h 127.0.0.1 -P 6001 -u root -p111
# 配置特定服务(交互式编辑器)
make dev-edit-cn1 # 编辑 CN1 配置
make dev-restart-cn1 # 仅重启 CN1(快速!)
📖 完整开发指南 → - 涵盖单机设置、多 CN 集群、监控、指标、配置和所有 make dev-* 命令的完整指南
🎯 使用 mo_ctl 工具(推荐)
官方 mo_ctl 工具提供一键部署和生命周期管理。自动处理安装、升级、备份和健康监控。
⚙️ 从源码构建
从源码构建 MatrixOne,适用于开发、定制或参与贡献。需要 Go 1.22、GCC/Clang、Git 和 Make。
🐳 其他方式
Docker、Kubernetes、二进制包等更多部署选项。
📖 所有安装选项 →
🔎 架构一览
MatrixOne 的架构图如下图所示:
关于更详细的 MatrixOne 技术架构,可以参考MatrixOne 架构设计。
🐍 Python SDK
MatrixOne 提供全面的 Python SDK,支持数据库操作、向量搜索、全文搜索以及快照、PITR、账户管理等高级功能。
核心特性:高性能 async/await 支持、向量相似度搜索(IVF/HNSW 索引)、全文搜索、元数据分析和完整的类型安全。
📚 完整文档
📖 Python SDK README - 功能详情、安装和使用指南
📦 安装: pip install matrixone-python-sdk
引用 MatrixOne
如果您在学术研究中使用 MatrixOne,或引用 MatrixOne 的 Git for Data 设计,请使用以下 BibTeX:
@misc{gou2026versioncontrolsystemdata,
title={Version Control System for Data with MatrixOne},
author={Gou, Hongshen and Tian, Feng and Wang, Long and Deng, Nan and Xu, Peng},
year={2026},
eprint={2604.03927},
archivePrefix={arXiv},
primaryClass={cs.DB},
doi={10.48550/arXiv.2604.03927},
url={https://arxiv.org/abs/2604.03927}
}
🙌 参与贡献
欢迎大家对 MatrixOne 的贡献。 请查看贡献指南来了解有关提交补丁和完成整个贡献流程的详细信息。