Skip to content

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:

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;

⭐ 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!

📖 Full SDK Documentation

💡 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:

🚀 Advanced Features Tutorials

Explore MatrixOne's unique capabilities:

🤖 AI & Search Capabilities

⚡ Performance & Scalability


📖 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:

🚀 Want to Get Started Quickly?

Jump to Getting Started to build a standalone MatrixOne and learn basic SQL:

👨‍đŸ’ģ Building Applications?

Select Developing Guide for tutorials and development guides:

📚 Looking for Technical Reference?

Go to Reference for SQL statements, data types, functions, and catalog:

đŸŽ¯ 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.