matrixone

module
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2022 License: Apache-2.0

README ยถ

Connect with us:

matrixone16 matrixone16

If you are interested in MatrixOne project, please kindly give MatrixOne a triple `Star`, `Fork` and `Watch`, Thanks!

Contents

What is MatrixOne?

MatrixOne is a future-oriented hyper-converged cloud and edge native DBMS that supports transactional, analytical, and streaming workloads with a simplified and distributed database engine, across multiple data centers, clouds, edges and other heterogeneous infrastructures.

๐ŸŽฏ Key Features

๐Ÿ’ฅ Hyper-converged Engine
Monolithic Engine A monolithic database engine is designed to support hybrid workloads: transactional, analytical, streaming, time-series, machine learning, etc.
Built-in Streaming Engine With the built-in streaming engine, MatrixOne supports in-database streaming processing by groundbreaking incremental materialized view maintenance.
โ˜๏ธ Cloud & Edge Native
Real Infrastructure Agnostic MatrixOne supports seemless workload migration and bursting among different locations and infrastructures.
Multi-site Active/Active MatrixOne provides industry-leading latency control with optimized consistency protocol.
๐Ÿš€ Extreme Performance
High Performance Accelerated queries supported by patented vectorized execution as well as optimal computation push down strategies through factorization techniques.
Strong Consistency MatrixOne introduces a global, high-performance distributed transaction protocol across storage engines.
High Scalability Seamless and non-disruptive scaling by disaggregated storage and compute.

๐Ÿ’Ž User Values

Simplify Database Management and Maintenance To solve the problem of high and unpredictable cost of database selection process, management and maintenance due to database overabundance, MatrixOne all-in-one architecture will significantly simplify database management and maintenance, single database can serve multiple data applications.
Reduce Data Fragmentation and Inconsistency Data flow and copy between different databases makes data sync and consistency increasingly difficult. The unified incrementally materialized view of MatrixOne makes the downstream can support real-time upstream update, achieve the end-to-end data processing without redundant ETL process.
Decoupling Data Architecture From Infrastructure Currently the architecture design across different infrastructures is complicated, causes new data silos between cloud and edge, cloud and on-premise. MatrixOne is designed with unified architecture to support simplified data management and operations across different type of infrastructures.
Extremely Fast Complex Query Performance Poor business agility as a result of slow complex queries and redundant intermediate tables in current data warehousing solutions. MatrixOne supports blazing fast experience even for star and snowflake schema queries, improving business agility by real-time analytics.
A Solid OLTP-like OLAP Experience Current data warehousing solutions have the following problems such as high latency and absence of immediate visibility for data updates. MatrixOne brings OLTP (Online Transactional Processing) level consistency and high availability to CRUD operations in OLAP (Online Analytical Processing).
Seamless and Non-disruptive Scalability It is difficult to balance performance and scalability to achieve optimum price-performance ratio in current data warehousing solutions. MatrixOne's disaggregated storage and compute architecture makes it fully automated and efficient scale in/out and up/down without disrupting applications.

๐Ÿ”Ž Architecture

MatrixOne's architecture is as below:

MatrixOne

For more details, you can checkout MatrixOne Architecture and MatrixOne Tech 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
  1. Install Go (version 1.18 is required).

  2. Get the MatrixOne code:

$ git clone https://github.com/matrixorigin/matrixone.git
$ cd matrixone
  1. Run make:

You can run make debug, make clean, or anything else our Makefile offers.

$ make config
$ make build
  1. Boot MatrixOne server:
$ ./mo-server system_vars_config.toml
Using docker
  1. Make sure Docker is installed, verify Docker daemon is running in the background:
$ docker --version
  1. Create and run the container for the latest release of MatrixOne. It will pull the image from Docker Hub if not exists.
$ docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:latest
๐ŸŒŸ Connecting to MatrixOne server
  1. Install MySQL client.

    MatrixOne supports the MySQL wire protocol, so you can use MySQL client drivers to connect from various languages. Currently, MatrixOne is only compatible with Oracle MySQL client. This means that some features might not work with MariaDB client.

  2. Connect to MatrixOne server:

$ mysql -h IP -P PORT -uUsername -p

The connection string is the same format as MySQL accepts. You need to provide a user name and a password.

Use the built-in test account for example:

  • user: dump
  • password: 111
$ mysql -h 127.0.0.1 -P 6001 -udump -p
Enter password:

Now, MatrixOne only supports the TCP listener.

๐Ÿ™Œ Contributing

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

๐Ÿ‘ All contributors
XuPeng-SH
XuPeng-SH
nnsgmsone
Nnsgmsone
daviszhen
Daviszhen
sukki37
Maomao
aunjgr
BRong Njam
dengn
Dengn
LeftHandCold
GreatRiver
broccoliSpicy
BroccoliSpicy
m-schen
Chenmingsong
jiangxinmeng1
Jiangxinmeng1
zzl200012
Kutori
iamlinjunhong
Iamlinjunhong
ouyuanning
Ouyuanning
lignay
Matthew
JinHai-CN
Jin Hai
jianwan0214
Jianwan0214
reusee
Reusee
w-zr
Wei Ziran
qingxinhome
Qingxinhome
wanhanbo
Wanhanbo
lni
Lni
cnutshell
Cui Guoke
fengttt
Fengttt
wanglei4687
Wanglei
dongdongyang33
Dongdongyang
aptend
Aptend
zhangxu19830126
Fagongzi
JackTan25
Boyu Tan
bbbearxyz
Bbbearxyz
yingfeng
Yingfeng
noneback
NoneBack
WenhaoKong2001
Otter
MatrixAdventurer
MatrixAdventurer
NTH19
NTH19
anitajjx
Anitajjx
e11jah
E11jah
whileskies
Whileskies
BePPPower
BePPPower
jiajunhuang
Jiajun Huang
richelleguice
Richelle Guice
Y7n05h
Y7n05h
lacrimosaprinz
Prinz
aylei
Aylei
decster
Binglin Chang
Charlie17Li
Charlie17Li
domingozhang
DomingoZhang
ericsyh
Eric Shen
Fungx
Fungx
JasonPeng1310
Jason Peng
ikenchina
O2
RinChanNOWWW
RinChanNOW!
chaixuqing
XuQing Chai
yuxubinchen
ZeYu Zhao
adlternative
ZheNing Hu
ajian2002
Ajian
bxiiiiii
Binxxi
coderzc
Coderzc
florashi181
Florashi181
hiyoyolumi
Hiyoyolumi
jinfuchiang
Jinfu
lyfer233
Lyfer233
sundy-li
Sundyli
supermario1990
Supermario1990
lawrshen
Tjie
wuliuqii
Wuliuqii
xiw5
Xiyuedong
yclchuxue
Yclchuxue
ZtXavier
Zt

License

MatrixOne is licensed under the Apache License, Version 2.0.

Directories ยถ

Path Synopsis
cmd
db-server command
generate-config command
pkg
container/nulls
Package nulls wrap up functions for the manipulation of bitmap library roaring.
Package nulls wrap up functions for the manipulation of bitmap library roaring.
frontend/test
Package mock_engine is a generated GoMock package.
Package mock_engine is a generated GoMock package.
hakeeper
Package hakeeper implements MO's hakeeper component.
Package hakeeper implements MO's hakeeper component.
logservice
Package logservice implement MO's LogService component.
Package logservice implement MO's LogService component.
sql/parsers/scanner
Code generated by goyacc -o mysql_sql.go -c mysql mysql_sql.y.
Code generated by goyacc -o mysql_sql.go -c mysql mysql_sql.y.
sql/plan
plan build & optimize logical plan
plan build & optimize logical plan
sql/plan/explain
explain explain statement
explain explain statement
vm
vm/engine/tae/mergesort/bools
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
vm/engine/tae/mergesort/decimal128s
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
vm/engine/tae/mergesort/numerics
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
vm/engine/tae/mergesort/varchar
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
chaostesting module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL