MatrixOne Documentation
Welcome to MatrixOne - the hyperconverged cloud & edge native database that consolidates transactional, analytical, and streaming workloads into a single system.
đ Unique: Git for Data - Clone, snapshot, and time-travel databases like Git for code. Version control for your data!
đ What is MatrixOne?
MatrixOne is designed for modern data infrastructure with:
- đ Hyper-Converged Engine: OLTP + OLAP + Time-Series in one database
- âī¸ Cloud-Edge Native: Deploy anywhere - cloud, edge, or on-premises
- ⥠Extreme Performance: Vectorized execution with distributed transactions
- đ Real-time HTAP: Mixed workloads with real-time consistency
- đŦ MySQL Compatible: Easy migration with MySQL protocol support
- đ¤ AI-Ready: Built-in vector search, fulltext search, and ML capabilities
- đ Git for Data: Snapshot, clone, branch, and time-travel for databases like Git for code
đ Quick Start
1ī¸âŖ Install MatrixOne
Choose your preferred installation method:
- Docker Installation (Recommended) - Fastest way to get started
- Binary Package - Direct installation
- Build from Source - For developers
2ī¸âŖ Connect and Query
After installation, connect to MatrixOne and run your first query:
-- Connect via MySQL client
mysql -h 127.0.0.1 -P 6001 -u root -p
-- Create a database
CREATE DATABASE quickstart;
USE quickstart;
-- Create a table
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
-- Insert data
INSERT INTO users VALUES (1, 'Alice', 'alice@example.com');
-- Query data
SELECT * FROM users;
3ī¸âŖ Python SDK Quick Start (Recommended!)
â We recommend using the MatrixOne Python SDK for the best experience with advanced features like ORM, vector search, fulltext search, snapshots, and cloning.
# Install Python SDK (recommended)
pip3 install matrixone-python-sdk
from matrixone import Client
# Connect to MatrixOne
client = Client()
client.connect(host='127.0.0.1', port=6001, user='root', password='111', database='quickstart')
# Now you can use:
# - ORM for elegant data modeling
# - Vector search for AI applications
# - Fulltext search for text queries
# - Snapshots & cloning for Git-like workflows
# - And much more!
đĄ Why Python SDK? - đ¯ All-in-One: ORM + Vector + Fulltext + Snapshots in one package - đ Modern API: Pythonic interface for all MatrixOne features - đ Rich Features: Access advanced capabilities not available in MySQL protocol - đ§ Type Safety: Better IDE support with type hints
4ī¸âŖ Try Git for Data (Unique Feature!)
Experience database version control like Git:
# Create a snapshot (like git commit)
client.snapshots.create(name="before_upgrade", level="database", database="quickstart")
# Clone database instantly (like git clone) - 1TB in 5 seconds!
client.clone.clone_database(target_db="quickstart_dev", source_db="quickstart")
# Time-travel to historical data (like git checkout)
client.clone.clone_database_with_snapshot(
target_db="quickstart_yesterday",
source_db="quickstart",
snapshot_name="before_upgrade"
)
# Rollback if something goes wrong (like git reset)
client.restore.restore_database(
snapshot_name="before_upgrade",
account_name="sys",
database_name="quickstart"
)
Why This Matters: - ⥠Instant Operations: Clone 1TB database in < 5 seconds - đ° Zero Storage Overhead: Copy-on-Write means 1TB stays 1TB, not 2TB - đĄī¸ Zero Risk: Test changes safely, rollback instantly if needed - đ Team Productivity: Each developer gets their own full database copy
đ Hands-On Tutorials
đ¯ Getting Started Tutorials
Perfect for beginners:
- PyMySQL CRUD Demo - Basic database operations with Python
- Java CRUD Demo - Java application development
- Golang CRUD Demo - Go application development
đ Advanced Features Tutorials
Explore MatrixOne's unique capabilities:
đ¤ AI & Search Capabilities
- Vector Search (Pinecone-Compatible) - AI-powered similarity search
- IVF Vector Index - Efficient vector indexing and health monitoring
- HNSW Vector Index - High-performance graph-based vector search
- Fulltext Natural Search - Natural language text search
- Fulltext Boolean Search - Precise boolean text queries
- Fulltext JSON Search - Search within JSON data
- Hybrid Search - Combine vector, fulltext, and SQL queries
- RAG Application - Build Retrieval-Augmented Generation apps
⥠Performance & Scalability
- HTAP Application - Real-time transactional and analytical workloads
- Instant Clone for Multi-Team Development - ⥠Clone 1TB in 5 seconds with zero storage overhead
- Safe Production Upgrade with Instant Rollback - Zero-risk deployments with snapshots
đ Documentation Guide
Choose your path based on your role and goals:
đ New to MatrixOne?
Start with Overview to learn about basic concepts, key features, and architecture:
- MatrixOne Introduction - What is MatrixOne and why use it
- MatrixOne Architecture - System design and components
đ Want to Get Started Quickly?
Jump to Getting Started to build a standalone MatrixOne and learn basic SQL:
- Install MatrixOne - Step-by-step installation
- Basic SQL - Essential SQL commands
đ¨âđģ Building Applications?
Select Developing Guide for tutorials and development guides:
- Java CRUD Demo - Java application development
- Python CRUD Demo - Python application development
- See all tutorials above - Including vector search, HTAP, and more
đ Looking for Technical Reference?
Go to Reference for SQL statements, data types, functions, and catalog:
- SQL Reference - Complete SQL syntax
- Data Types - Supported data types
đ¯ Quick Navigation Table
| Overview | Get Started | Developing Guide | Reference |
|---|---|---|---|
| MatrixOne Introduction | Install MatrixOne | Java CRUD demo | SQL Reference |
| MatrixOne Architecture | Basic SQL | Python CRUD demo | Data Types |
Continuous Improvement
Whether you're seeking fundamental concepts, step-by-step procedures, curated guides, or handy references, we're crafting content to accommodate your needs.
We warmly welcome contributions to MatrixOne documentation from everyone. Our community aims to streamline the contribution process, making it simple. Additionally, we'll provide updates every month.
You'll find an Edit button at the top of each page. Click on it to access a landing page with instructions for suggesting published document changes. These resources are yours for you to use. Your participation is not only encouraged but also crucial!
If you encounter any documentation issues, please feel free to create an Issue to inform us or directly submit a Pull Request to help us fix or update the content.
Note
For how to make contributions to documentation, see Contributing to MatrixOne Documentation.
Join us!
The MatrixOne community on GitHub is dynamic, enthusiastic, and well-informed. Engage in discussions, express your viewpoints, propose features, and delve into the code.
A similarly passionate community awaits you in the MatrixOne Slack and MatrixOne channel.