MatrixOne 是一款高度兼容 MySQL 语法的 HTAP 数据库,在大部分场景下能够间接实现对 MySQL 的替换。
作为一款开源数据库,MatrixOne 选用对开发者敌对的 Apache-2.0 License,反对在支流的 Linux 和 MacOS 零碎中间接进行物理部署。在部署形式上,MatrixOne 反对源码编译部署、二进制包部署和 Docker 容器部署 。各种部署形式均操作简略,疾速部署后即可领有单机不输 MySQL 的数据分析和事务处理能力。
以 MatrixOne 最新的 Release 版本 1.0.1 为例,MatrixOne 提供了 4 类二进制包,别离用于在 x86 架构和 arm 架构的 MacOS 零碎与 Linux 零碎部署。
- mo-v1.0.1-darwin-arm64.zip
- mo-v1.0.1-darwin-x86_64.zip
- mo-v1.0.1-linux-arm64.zip
- mo-v1.0.1-linux-x86_64.zip
区别于 MySQL 在不同操作系统下部署时的繁琐和不对立,MatrixOne 的二进制包单机部署开箱即用。
例如在任意 x86 架构的 Linux 零碎中,咱们能够通过 wget 命令获取 MatrixOne 的二进制包:
wget https://github.com/matrixorigin/matrixone/releases/download/v1.0.1/mo-v1.0.1-linux-x86_64.zip
而后创立指标的部署目录:
mkdir /opt/matrixone
解压安装包至目标目录:
unzip mo-v1.0.1-linux-x86_64.zip -d /opt/matrixone
解压实现后切换目录,启动 MatrixOne 服务:
cd /opt/matrixone
./mo-service --daemon --launch ./etc/launch/launch.toml &> test.log &
MatrixOne 将所有的服务都打包在了 mo-service 包中,启动命令执行后,可通过查看服务或查看 6001 端口监听状况来确认服务启动状况:
ps -ef | grep mo-service
netstat -nlap | grep 6001
须要留神的是,MatrixOne 没有自带客户端工具,咱们能够应用 mysql client 或 DBeaver、Navicat、SQLYog 等可视化工具将 MatrixOne 视为 MySQL 来进行拜访。
MatrixOne 启动后提供查问服务的端口为 6001,默认启用的用户为 root,初始密码为 111,例如咱们应用 mysql client 拜访时的命令可写为:
mysql -h127.0.0.1 -P6001 -uroot -p111
当看到如下信息即示意拜访胜利,咱们就能够像应用 MySQL 个别进行库表创立或数据查问 / 写入:
Server version: 8.0.30-MatrixOne-v1.0.1 MatrixOne
除手动部署外,MatrixOne 还提供了晋升易用性的 mo\_ctl 工具,mo\_ctl 不单能疾速部署,还可一键式的进行 MatrixOne 服务的启动进行或 github commitid 级的版本升降级,残缺的介绍可参考官网文档:
- https://docs.matrixorigin.cn/1.0.1/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2/
- https://docs.matrixorigin.cn/1.0.1/MatrixOne/Maintain/mo_ctl/
MatrixOne 目前没有 binlog 性能,以后也未反对“主从架构”的部署,这个能力会在后续版本和大家见面,补齐本地模式下的高可用能力。
对于习惯应用 Docker 进行容器部署的同学,MatrixOne 已将各版本的镜像上传至 Docker Hub,咱们同样能够通过两行命令疾速实现 MatrixOne 的镜像获取和服务启动:
docker pull matrixorigin/matrixone:1.0.1
docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:1.0.1
- 与 MySQL 的 TP 定位不同,MatrixOne 是一款汇合 TP 和 AP 能力的“超交融云原生分布式数据库”,这也示意基于 K8s 的集群部署能力充分发挥 MatrixOne 极致的剖析性能。
MatrixOne 在架构上实现了三个独立的层级,每个层级都有本人的对象单元和分工。不同类型的节点能够自在伸缩,不受到其余层的制约。
这三个层级是:
- 计算层 :以计算节点 Compute Node(简称 CN)为单位,实现了计算和事务处理的 Serverless 化,具备本人的缓存,能够任意重启和扩缩容。
- 事务层 :以数据库节点 Transaction Node(简称 TN)和日志节点 Log Service 为单位,提供残缺的日志服务和元数据信息,内置 Logtail 用于保留最近的数据。
- 存储层 :全量数据保留在对象存储中,以 S3 为代表,实现了低成本的有限伸缩存储形式。对立的文件操作服务 File Service 实现了不同节点对底层存储的无感知操作。
MatrixOne 基于 K8s 的集群部署操作能够参考官网文档集群部署指南章节,MatrixOne 中的 CN 节点是无状态的,在 K8s 中能够依据负载进行任意的弹性扩缩,保障集群持续保持较低的 SQL 执行耗时。
MatrixOne 在 K8s 中的部署是绝对繁琐的,若您想体验 MatrixOne 集群的卓越性能,欢送试用 MatrixOne Cloud。MatrixOne Cloud 是一个全托管云原生数据平台,它提供了 HSTAP 数据库 MatrixOne 的云上服务,极大简化了 MatrixOne 的部署和运维老本。并且,MatrixOne Cloud 所提供的 Serverless 实例反对计算资源的主动弹性伸缩以及按 SQL 用量计费,让咱们不需再关注数据库部署运维的复杂性,而能够仅关注业务利用或 SQL 自身。
以后 MatrixOne Cloud 正在全面公测,新用户注册每月赠送 500 元的收费额度,欢送大家前来试用和反馈。