# matrixone
**Repository Path**: matrixorigin/matrixone
## Basic Information
- **Project Name**: matrixone
- **Description**: MatrixOne 是一个分布式的云原生融合数据库,专为异构混合工作负载而设计
- **Primary Language**: Go
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://docs.matrixorigin.io
- **GVP Project**: No
## Statistics
- **Stars**: 41
- **Forks**: 15
- **Created**: 2021-10-27
- **Last Updated**: 2025-10-30
## Categories & Tags
**Categories**: database-service
**Tags**: 云原生数据库
## README
加入 MatrixOne 社区
如果你对 MatrixOne 项目感兴趣的话,请帮忙给 MatrixOne 点击 Star, Fork 和 Watch 三连吧,谢谢!
目录
========
* [MatrixOne 是什么?](#what-is-matrixone)
* [60秒快速上手](#️-60秒快速上手)
* [教程与示例](#-教程与示例)
* [安装与部署](#️-安装与部署)
* [架构](#architecture)
* [Python SDK](#python-sdk)
* [参与贡献](#contributing)
* [License](#license)
## MatrixOne 是什么?
**MatrixOne 是业界首个将 Git 风格版本控制引入数据库的产品**,同时具备 MySQL 兼容、AI 原生和云原生架构。
作为一款 **HTAP(混合事务/分析处理)数据库**,MatrixOne 采用超融合的 **HSTAP 引擎**,在单一系统中无缝处理事务型(OLTP)、分析型(OLAP)、全文检索和向量检索等多种工作负载——无需数据迁移、无需 ETL、无需妥协。
### 🎬 **Git for Data - 革命性创新**
正如 Git 革新了代码管理,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
```bash
docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:latest
```
### 2️⃣ 创建数据库
```bash
mysql -h127.0.0.1 -P6001 -p111 -uroot -e "create database demo"
```
### 3️⃣ 连接与查询
**安装 Python SDK:**
```bash
pip install matrixone-python-sdk
```
**向量检索示例:**
```python
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)
```
**全文检索示例:**
```python
...
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 合规性。
> 💡 **需要更多控制?** 查看下方的 [安装与部署](#️-安装与部署) 章节了解生产级安装选项。
📖 **[Python SDK 文档 →](clients/python/README.md)**
## 📚 教程与示例
深入了解 MatrixOne!浏览我们全面的实践教程和真实案例:
### 🎯 入门教程
| 教程 | 语言/框架 | 说明 |
|----------|-------------------|-------------|
| [Java CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/develop-java-crud-demo/) | Java | Java 应用开发 |
| [SpringBoot 和 JPA CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/springboot-hibernate-crud-demo/) | Java | SpringBoot + Hibernate/JPA |
| [PyMySQL CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/develop-python-crud-demo/) | Python | Python 基础数据库操作 |
| [SQLAlchemy CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/sqlalchemy-python-crud-demo/) | Python | Python + SQLAlchemy ORM |
| [Django CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/django-python-crud-demo/) | Python | Django Web 框架 |
| [Golang CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/develop-golang-crud-demo/) | Go | Go 应用开发 |
| [Gorm CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/gorm-golang-crud-demo/) | Go | Go + Gorm ORM |
| [C# CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/c-net-crud-demo/) | C# | .NET 应用开发 |
| [TypeScript CRUD 示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/typescript-crud-demo/) | TypeScript | TypeScript 应用开发 |
### 🚀 高级功能教程
| 教程 | 使用场景 | 相关 MatrixOne 特性 |
|----------|----------|---------------------------|
| [Pinecone 兼容向量检索](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/pinecone-vector-demo/) | AI 与搜索 | 向量检索,Pinecone 兼容 API |
| [IVF 索引健康监控](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/ivf-index-health-demo/) | AI 与搜索 | 向量检索,IVF 索引 |
| [HNSW 向量索引](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/hnsw-vector-demo/) | AI 与搜索 | 向量检索,HNSW 索引 |
| [全文自然语言搜索](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/fulltext-natural-search-demo/) | AI 与搜索 | 全文检索,自然语言 |
| [全文布尔搜索](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/fulltext-boolean-search-demo/) | AI 与搜索 | 全文检索,布尔运算符 |
| [全文 JSON 搜索](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/fulltext-json-search-demo/) | AI 与搜索 | 全文检索,JSON 数据 |
| [混合搜索](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/hybrid-search-demo/) | AI 与搜索 | 混合搜索,向量+全文+SQL |
| [RAG 应用示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/rag-demo/) | AI 与搜索 | RAG,向量检索,全文检索 |
| [图文搜索应用](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/search-picture-demo/) | AI 与搜索 | 多模态搜索,图像相似度 |
| [Dify 集成示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/dify-mo-demo/) | AI 与搜索 | AI 平台集成 |
| [HTAP 应用示例](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/htap-demo/) | 性能 | HTAP,实时分析 |
| [多团队开发即时克隆](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/efficient-clone-demo/) | 性能 | 即时克隆,Git for Data |
| [生产环境安全升级与即时回滚](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/snapshot-rollback-demo/) | 性能 | 快照,回滚,Git for Data |
📖 **[查看所有教程 →](https://docs.matrixorigin.cn/en/v25.3.0.2/MatrixOne/Tutorial/snapshot-rollback-demo/)**
## 🛠️ 安装与部署
MatrixOne 支持多种安装方式,选择最适合您需求的方式:
### 🎯 使用 mo_ctl 工具(推荐)
官方 [mo_ctl](https://github.com/matrixorigin/mo_ctl_standalone) 工具提供一键部署和生命周期管理。自动处理安装、升级、备份和健康监控。
📖 **[完整 mo_ctl 安装指南 →](INSTALLATION.md#using-moctl-tool)**
### ⚙️ 从源码构建
从源码构建 MatrixOne,适用于开发、定制或参与贡献。需要 Go 1.22、GCC/Clang、Git 和 Make。
📖 **[完整源码构建指南 →](BUILD.md)**
### 🐳 其他方式
Docker、Kubernetes、二进制包等更多部署选项。
📖 **[所有安装选项 →](INSTALLATION.md)**
## 🔎 架构一览
MatrixOne 的架构图如下图所示:
关于更详细的 MatrixOne 技术架构,可以参考[MatrixOne 架构设计](https://docs.matrixorigin.cn/latest/MatrixOne/Overview/architecture/matrixone-architecture-design/)。
## 🐍 Python SDK
MatrixOne 提供**全面的 Python SDK**,支持数据库操作、向量搜索、全文搜索以及快照、PITR、账户管理等高级功能。
**核心特性**:高性能 async/await 支持、向量相似度搜索(IVF/HNSW 索引)、全文搜索、元数据分析和完整的类型安全。
📚 **[完整文档](https://matrixone.readthedocs.io/)** [](https://matrixone.readthedocs.io/en/latest/)
📖 **[Python SDK README](clients/python/README.md)** - 功能详情、安装和使用指南
📦 **安装**: `pip install matrixone-python-sdk`
### 👏贡献者
## 🙌 参与贡献
欢迎大家对 MatrixOne 的贡献。
请查看[贡献指南](https://docs.matrixorigin.cn/latest/MatrixOne/Contribution-Guide/make-your-first-contribution/)来了解有关提交补丁和完成整个贡献流程的详细信息。
## License
[Apache License, Version 2.0](LICENSE)。