matrixorigin / matrixone
- среда, 27 октября 2021 г. в 00:30:01
Planet scale, cloud-edge native big data engine crafted for heterogeneous workloads
MatrixOne is a planet scale, cloud-edge native big data engine crafted for heterogeneous workloads. It provides an end-to-end data processing platform that is highly autonomous and easy to use, to empower users to store, manipulate, and analyze data across devices, edges, and clouds, with minimal operational overheads.
MatrixOne cluster can easily expand capacity during SQL processing, computation, and storage, by adding nodes to the cluster on the fly.
Not limited to public clouds, hybrid clouds, on-premise servers, or smart devices, MatrixOne accommodates itself to myriads of infrastructure while still providing top services with low latency and high throughput.
By converging multiple engines, MatrixOne can support hybrid streaming, transactional, and analytical workloads; with its pluggable architecture, MatrixOne allows for easy integration with third-party engines.
MatrixOne uses a RAFT-based consensus algorithm to provide fault tolerance in one zone. And a more advanced state-machine replication protocol is planned for the future to achieve geo-distributed active-active.
An important goal of MatrixOne is to make it easy for users to operate and manage data, making daily work almost effortless.
By streaming SQL and user-defined functions, MatrixOne provides end-to-end data processing pipelines to deliver productive data science applications.
MatrixCube is a fundamental library for building distributed systems, which offers guarantees about reliability, consistency, and scalability. It is designed to facilitate distributed, stateful application building to allow developers only need to focus on the business logic on a single node. MatrixCube is currently built upon multi-raft to provide replicated state machine and will migrate to Paxos families to increase friendliness to scenarios spanning multiple data centers.
MatrixOne stores data in shared storage of S3 / HDFS, or the local disk, on-premise server, hybrid and any cloud, or even smart devices.
Get started with MatrixOne quickly by the following steps.
Install the following prerequisites as necessary:
$ git clone https://github.com/matrixorigin/matrixone.git
$ cd matrixone
Run make:
You can run make debug
, make clean
, or anything else our Makefile offers.
$ make config
$ make build
$ ./mo-server system_vars_config.toml
$ 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:
$ mysql -h 127.0.0.1 -P 6001 -udump -p
Enter password:
Now, MatrixOne only supports the TCP listen.
See Contributing Guide for details on contribution workflows.
Check out Roadmap for MatrixOne development plan.
You can join MatrixOne community on Slack to discuss and ask questions.
MatrixOne is licensed under the Apache License, Version 2.0.