Awesome Project: 探索 MatrixOrigin 云原生分布式数据库

2024年 8月 1日 166.1k 0

在当今数据驱动的世界中,数据库的多元性和融合性逐渐成为数据架构选型的重要要素。MatrixOne (以下简称 MO)是一个超融合云和边缘原生分布式数据库,其结构将存储、计算和事务分离,形成一个合并的 HSTAP (Hybrid Streaming & Transaction/Analytical Processing) 数据引擎,主要实现语言为 Go。本文将简要介绍 MO 项目及其 MO Cloud 服务。

MO 概览

MO 是一款超融合异构云原生数据库。它不仅支持在线事务处理(OLTP),也支持在线分析处理(OLAP),以及流式工作(Sreaming)负载,使其成为处理大数据的理想选择。MO 架构设计考虑了云原生环境,支持容器化部署和 Kubernetes 管理,从而简化了数据库的部署和管理过程。

Awesome Project: 探索 MatrixOrigin 云原生分布式数据库-1

MO 关键特性

  • 云原生架构:与云基础设施的无缝集成,支持自动化部署和扩展。
  • 分布式存储:跨多个节点的数据自动分布,提高了性能和可靠性。
  • 弹性扩展:根据业务需求动态调整资源,优化成本。
  • MySQL 兼容性:高度兼容 MySQL 协议,方便开发快速上手。
  • 实时分析:快速的数据查询和分析能力。
  • 多租户支持:支持多个用户或组织在同一数据库实例上独立操作。

Awesome Project: 探索 MatrixOrigin 云原生分布式数据库-2

MO 优势

在ICT(信息与通信技术)基础设施中,使用 MO 数据库可以带来以下好处:

  • 提高数据处理能力:MO 的分布式架构可以处理大规模数据集,满足大数据时代的需求。
  • 增强业务敏捷性:云原生的特性使得数据库能够快速响应业务变化,支持快速部署和扩展。
  • 降低运维复杂性:通过自动化的部署和管理,MO 减少了对专业数据库管理员的依赖。
  • 提升数据安全性:MO 提供了多层次的数据安全和隐私保护措施,包括数据加密、访问控制等。
  • 优化成本效益:通过按需扩展资源,企业可以根据实际使用情况优化成本。
  • 性能监控与调优:实时监控数据处理任务的性能,及时发现并解决潜在问题,同时针对大规模数据集选择高效的算法和优化策略。
  • 数据安全和隐私保护:在处理数据时,确保通过数据脱敏和访问控制等手段保护数据安全和用户隐私。

MO 最新动态

MO 的最新版本为 1.2.2,发布于 2024 年 07 月 12 日。

MO 内核 v1.2.0 版本于 2024 年 05 月 20 日正式发布。本次迭代中进行了显著的功能扩展,重点功能有:快照备份、增量物理备份、CTAS、BITMAP 和向量索引。

MO Cloud

MO Cloud 是 MO 提供的云服务,它允许用户在云上快速部署和管理 MO 数据库。通过简化的操作界面,用户可以轻松地创建实例、导入数据、执行查询并监控数据库性能。

MO Cloud 的优势主要有:

  • 简化管理:通过云界面简化数据库的创建和管理。
  • 性能监控:实时监控数据库性能,快速响应系统状态变化。
  • 安全性:提供多层次的安全措施,包括数据加密和访问控制。

从本地使用 MySQL 客户端连接 MO Cloud,并查看数据库状态。


[root@centos7 ~]# mysql -h xxx.matrixonecloud.cn -P 6001 -u admin -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1489138821
Server version: 8.0.30-MatrixOne-v1.2.2 MatrixOne

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(admin) [(none)] 14:14:27> \s
--------------
mysql Ver 9.0.0 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id: 1489138821
Current database:
Current user: admin@localhost
SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 8.0.30-MatrixOne-v1.2.2 MatrixOne
Protocol version: 10
Connection: xxx.matrixonecloud.cn via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
TCP port: 6001
Binary data as: Hexadecimal
--------------

MO 性能测试

为了评估 MO 的性能,接下来进行 TPC-H 测试。

TPC Benchmark™H(TPC-H)是决策支持基准,是 OLAP 数据库广泛使用的基准测试。它由一套面向业务的即时查询(ad-hoc)和并发数据修改组成。选择查询和填充数据库的数据具有广泛的行业相关性。该基准测试解释说明了决策支持系统,该系统可检查大量数据,执行高度复杂的查询并为关键业务问题提供答案。

TPC-H 测试的主要步骤为:

  • 建表:在 MO Cloud 中创建 TPC-H 测试的表结构。
  • 导数:将数据加载到 MO Cloud 数据库中,数据文件 1.2G,数据行数 850万。
  • 执行:运行标准 SQL 进行测试查询。

运行时长统计如下表。

Awesome Project: 探索 MatrixOrigin 云原生分布式数据库-3

其中,运行时间最长的 Q16 语句的执行计划如下。

+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| QUERY PLAN |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Project |
| -> Sort |
| Sort Key: COUNT(distinct partsupp.ps_suppkey) DESC, part.p_brand INTERNAL, part.p_type INTERNAL, part.p_size INTERNAL |
| -> Aggregate |
| Group Key: #[0,0], #[0,1], #[0,2] |
| Aggregate Functions: count(#[0,3]) |
| -> Aggregate |
| Group Key: part.p_brand, part.p_type, part.p_size, partsupp.ps_suppkey |
| -> Join |
| Join Type: ANTI hashOnPK |
| Join Cond: (partsupp.ps_suppkey = supplier.s_suppkey) |
| -> Join |
| Join Type: INNER hashOnPK |
| Join Cond: (partsupp.ps_partkey = part.p_partkey) |
| -> Table Scan on tpch.partsupp |
| -> Table Scan on tpch.part |
| Filter Cond: part.p_size in ([6 15 16 18 30 37 46 47]), (part.p_brand 'Brand#45'), (not (part.p_type like 'SMALL ANODIZED%')) |
| -> Table Scan on tpch.supplier |
| Filter Cond: (supplier.s_comment like '%Customer%Complaints%') |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
19 rows in set (0.16 sec)

测试结果表明,MO 在执行复杂查询时具有出色的性能。

https://matrixorigin.cn/

结语

MatrixOrigin 作为一个高性能的云原生分布式数据库系统,提供了强大的数据处理能力和实时分析支持。MO Cloud 服务进一步简化了 MO 部署和管理。通过 TPC-H 基准测试,我们可以看到 MO Cloud 在处理大规模数据集时的性能优势。希望看到更多 MO 商业化落地的案例,以及在数据库与AI方面新的技术突破。

喵~

🌻 往期精彩 ▼

  • [Oracle]
    • Oracle 数据库全面升级为 23ai
    • python-oracledb 已率先支持 Oracle 23ai
    • 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法
  • [MySQL]
    • MySQL 9.0 的 VECTOR 文档更新
    • MySQL 9.0.0 新鲜出炉!支持向量类型
    • 「合集」MySQL 8.x 系列文章汇总
    • 如何选择适合的 MySQL Connector/J 版本
  • [TiDB]
    • 星辰考古:TiDB v4.0 进化前夜
    • 国产基础软件“出海”标杆炼成记
    • 敢于公布BUG的国产数据库才是好数据库
  • [PG]
    • [RL9] Rocky Linux 9.4 搭载 PG 16.1
    • 即将告别PG 12,建议升级到PG 16.3版本
    • 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行

– / END / –

👉 这里可以找到我

  • 微信公众号:少安事务所
  • 墨天轮:严少安
  • PGFans: 严少安
  • ITPUB:少安事务所
  • TiDB 专栏:@ShawnYan

如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~

相关文章

Oracle如何使用授予和撤销权限的语法和示例
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库
27 期 | 死锁(3)解决死锁

发布评论