MatrixOne

超融合云边缘原生数据库。「Hyperconverged cloud-edge native database」

Github stars Tracking Chart

Contents

What is MatrixOne?

MatrixOne is a hyper-converged cloud & edge native distributed database with a structure that separates storage, computation, and transactions to form a consolidated HSTAP data engine. This engine enables a single database system to accommodate diverse business loads such as OLTP, OLAP, and stream computing. It also supports deployment and utilization across public, private, and edge clouds, ensuring compatibility with diverse infrastructures.

🎯 Key Features

💥 Hyper-converged Engine

☁️ Cloud & Edge Native

🚀 Extreme Performance

🖊️ Ease of Use

💰 Cost-Effective

🔒 Enterprise-Level Security and Compliance

MatrixOne employs Role-Based Access Control (RBAC), TLS connections, and data encryption to establish a multi-tiered security defense system, safeguarding enterprise-level data security and compliance.

💎 User Values

🔎 Architecture

MatrixOne's architecture is as below:

For more details, you can checkout MatrixOne Architecture Design.

⚡️ Quick start

⚙️ Install MatrixOne

MatrixOne supports Linux and MacOS. You can install MatrixOne either by building from source or using docker.
For other installation types, please refer to MatrixOne installation for more details.

Building from source

Step 1. Install Dependency

  1. Install Go (version 1.20 is required)

    Click Go Download and install to enter its official documentation, and follow the installation steps to complete the Go installation.

  2. Install GCC/Clang

    Click GCC Download and install to enter its official documentation, and follow the installation steps to complete the GCC installation.

  3. Install Git

    Install Git via the Official Documentation.

  4. Install and configure MySQL Client

    Click MySQL Community Downloads to enter into the MySQL client download and installation page. According to your operating system and hardware environment.Configure the MySQL client environment variables.

Step 2. Install the mo_ctl tool

mo_ctl is a command-line tool for deploying, installing, and managing MatrixOne. It is very convenient to perform various operations on MatrixOne.

The mo_ctl tool can be installed through the following command:

wget https://raw.githubusercontent.com/matrixorigin/mo_ctl_standalone/main/install.sh && sudo -u $(whoami) bash +x ./install.sh

See mo_ctl Tool for complete usage details.

Step 3. Get MatrixOne code

Depending on your needs, choose whether you want to keep your code up to date, or if you want to get the latest stable version of the code.

  • Option 1: Get the MatrixOne(Develop Version)

The main branch is the default branch, the code on the main branch is always up-to-date but not stable enough.

mo_ctl deploy main
  • Option 2: Get the MatrixOne(Stable Version)

If you want to get the latest stable version code released by MatrixOne, please switch to the branch of version 1.1.1 first.

mo_ctl deploy v1.1.1

Step 4. Launch MatrixOne server

Launch the MatrixOne service through the mo_ctl start command.The relevant operation logs of MatrixOne will be in /data/mo/logs/.

Step 5. Connect to MatrixOne

One-click connection to MatrixOne service through mo_ctl connect command.

Tips: The initial startup of MatrixOne approximately takes 20 to 30 seconds. After a brief wait, you can connect to MatrixOne using the MySQL client.

Using docker

Step 1: Download and install Docker

Click Get Docker, enter into the Docker's official document page, depending on your operating system, download and install the corresponding Docker. It is recommended to choose Docker version 20.10.18 or later and strive to maintain consistency between the Docker client and Docker server versions.

Step 2: Create and run the container of MatrixOne

It will pull the image from Docker Hub if not exists. You can choose to pull the stable version image or the develop version image.

  • Stable Version Image(1.1.1 version)
docker pull matrixorigin/matrixone:1.1.1
docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:1.1.1

If you are using the network in mainland China, you can pull the MatrixOne stable version image on Alibaba Cloud:

docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.1.1
docker run -d -p 6001:6001 --name matrixone registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.1.1
  • Develop Version Image

If you want to pull the develop version image, see Docker Hub, get the image tag. An example as below:

docker pull matrixorigin/matrixone:nightly-commitnumber
docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:nightly-commitnumber

If you are using the network in mainland China, you can pull the MatrixOne develop version image on Alibaba Cloud:

docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber
docker run -d -p 6001:6001 --name matrixone registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber

Note: The nightly version is updated once a day.

Step 3: Connecting to MatrixOne server

  1. Install and configure MySQL Client

Click MySQL Community Downloads to enter into the MySQL client download and installation page. According to your operating system and hardware environment.Configure the MySQL client environment variables.

Note: MySQL client version 8.0.30 or later is recommended.

  1. Connect to MatrixOne

You can use the MySQL command-line client to connect to MatrixOne server. Open a new terminal window and enter the following command:

mysql -h 127.0.0.1 -P 6001 -uroot -p
Enter password: # The default initial password is 111

Currently, MatrixOne only supports the TCP listener.

Note: The login account in the above code snippet is the initial account; please change the initial password after logging in to MatrixOne; see Password Management.

🙌 Contributing

Contributions to MatrixOne are welcome from everyone.
See Contribution Guide for details on submitting patches and the contribution workflow.

👏 All contributors

License

MatrixOne is licensed under the Apache License, Version 2.0.

Main metrics

Overview
Name With Ownermatrixorigin/matrixone
Primary LanguageGo
Program languageGo (Language Count: 10)
Platform
License:Apache License 2.0
所有者活动
Created At2021-02-18 09:07:17
Pushed At2025-05-07 12:23:11
Last Commit At
Release Count43
Last Release Namev2.0.3-hotfix-20250417 (Posted on )
First Release Namev0.1.0 (Posted on )
用户参与
Stargazers Count1.8k
Watchers Count38
Fork Count281
Commits Count9.9k
Has Issues Enabled
Issues Count8230
Issue Open Count494
Pull Requests Count12028
Pull Requests Open Count23
Pull Requests Close Count1491
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private