MatrixOne 支持多样化生态工具,持续提升开发者体验

news2025/4/17 19:44:42

概述

在选择一款数据库产品时,对数据库上下游生态组件的打通是大数据开发工程师需要面对的一致难题。

MatrixOne提出了“One Size Fits Most”理念,旨在用全新HSTAP技术架构打破数据孤岛,其中,与各生态组件的“无缝衔接”也是MatrixOne“一栈式”愿景中的重要一环。

MatrixOne高度兼容MySQL协议,在1.0正式版发布前,MatrixOne收集整理了社区反馈较多的上下游组件并进行了更为完整的适配。本轮适配主要围绕:数据集成工具、BI工具和数据计算引擎这三类生态工具

Part 1 数据集成工具

数据集成工具可以将来自不同数据源的数据整合为统一的数据集,通常具备从不同数据源中收集数据、对数据进行清洗、转换、重构和整合的能力,以便能够在一个统一的数据仓库或数据湖中进行存储和管理。

与数据集成工具的适配可帮助数据开发工程师更丝滑高效的进行初期存量数据的迁移和后续日常的ETL作业,极大的保障工作效率和业务的稳定性。

MatrixOne在征集社区建议后,本轮优先对DataX与SeaTunnel进行了适配。得益于对MySQL协议的高度兼容,经过本轮适配,我们在DataX或SeaTunnel中可以直接使用MySQL所对应的Writer或Driver来对MatrixOne进行连接访问。

在DataX官方版本中,mysqlwriter默认使用版本较老的mysql-connector-java-5.1.47.jar驱动,为保证拥有更好的性能和兼容性,在适配了mysqlwriter的基础上,MatrixOne社区还基于mysqlwriter改造出使用mysql-connector-j-8.0.33.jar驱动的matrixonewriter,作业json示例如下,欢迎社区同学下载使用:

{
    "job": {
        "setting": {
            "speed": {
                "channel": 1
            }
        },
        "content": [
            {
                 "reader": {
                    "name": "streamreader",
                    "parameter": {
                        "column" : [
                            {
                                "value": 20210106,
                                "type": "long"
                            },
                            {
                                "value": "matrixone",
                                "type": "string"
                            }
                        ],
                        "sliceRecordCount": 1000
                    }
                },
                "writer": {
                    "name": "matrixonewriter",
                    "parameter": {
                        "writeMode": "insert",
                        "username": "root",
                        "password": "111",
                        "column": [
                            "M_ID",
                            "M_NAME"
                        ],
                        "preSql": [
                            "delete from m_user"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://127.0.0.1:6001/mo_demo",
                                "table": [
                                    "m_user"
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    }
}

Part 2 BI工具

BI即指商业智能(Business Intelligence),指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。例如数据分析师会使用BI工具,基于海量的散乱数据进行数据分析,最终产出清晰的、可用于支持决策的数据报表。

BI工具所用的数据通常存储在数据库中,由于不同数据库之间语法存在不同程度的差异,BI厂商通常会与数据库厂商进行兼容性互认并针对性的开发出对应的连接器。

MatrixOne本次针对Superset、FineBI和永洪BI进行了首轮的适配,当我们在使用上述BI工具连接MatrixOne时,可以直接选择MySQL连接器,将MatrixOne视为MySQL进行连接访问,来对用户的数据可视化场景提供有效支撑。下图为永洪BI使用MySQL数据源连接示例:

BI的适配工作无法做到“一步到位”,MatrixOne当前先基于MySQL语法兼容性来实现与BI的高度兼容,随着MatrixOne新版本个性化能力的不断扩展,我们也会积极推进和BI厂商的互认,来协同开发出兼容性更优的专用连接器。

Part 3 数据计算引擎

大数据计算引擎主要用于对数据的加工、清洗、计算或迁移导入,常用的计算引擎例如:MapReduce、Storm、Spark、Flink等。其中,Spark和Flink作为目前主流的批量/流式计算引擎,MatrixOne进行了细节的测试和适配。

MatrixOne规划中的“流引擎”能力在持续完善中,在适配Spark/Flink引擎后,开发者可以直接使用通用JDBC驱动,在Spark或Flink中通过外部算力进行大数据量级的数据清洗,再或着,通过Flink实现更灵活的“流式数据源”的数据接入。例如,MatrixOne 1.0版本原生实现了与Kafka中数据源的连接:

CREATE SOURCE | SINK CONNECTOR [IF NOT EXISTS] connector_name CONNECTOR_TYPE WITH(property_name = expression [, ...]);

通过本轮适配Flink引擎,MatrixOne即可扩展支持包括Kafka、Pulsar、RocketMQ等更广泛的消息队列产品。以使用Flink Table API为例:

--定义Kafka源表
CREATE TABLE kafka_source (
  `user_id` BIGINT,
  `item_id` BIGINT,
  `behavior` STRING
) WITH (
  'connector' = 'kafka',
  'topic' = 'user_behavior',
  'properties.bootstrap.servers' = 'localhost:9092',
  'properties.group.id' = 'testGroup',
  'scan.startup.mode' = 'earliest-offset',
  'format' = 'csv'
)

--定义MatrixOne目标表,驱动使用mysql驱动
CREATE TABLE matrixone_kafka_sink (
  `user_id` BIGINT,
  `item_id` BIGINT,
  `behavior` STRING,
   PRIMARY KEY(user_id) NOT ENFORCED
) WITH (
  'connector' = 'mysql',
  'hostname' = '<yourHostname>',
  'port' = '6001',
  'username' = '<yourUsername>',
  'password' = '<yourPassword>',
  'database-name' = '<yourDatabaseName>',
  'table-name' = '<yourTableName>'
);

--同步Kafka流式数据到MatrixOne
INSERT INTO matrixone_sink SELECT * FROM kafka_source;

此外,借助Flink CDC,MatrixOne也可支持对传统TP类数据库的数据同步,这项能力的补齐可帮助企业在不改变原业务上游框架的基础上扩展加入MatrixOne,然后使用MatrixOne统一下游业务所需的数据分析场景,真正实现“Single Source of Truth”。仍以Flink Table API为例:

--定义MySQL CDC流式数据源
CREATE TABLE mysql_cdc_orders (
  `user_id` BIGINT,
  `item_id` BIGINT,
  `behavior` STRING,
  PRIMARY KEY(user_id) NOT ENFORCED
) WITH (
  'connector' = 'mysql-cdc',
  'hostname' = 'localhost',
  'port' = '3306',
  'username' = 'flinkuser',
  'password' = 'flinkpw',
  'database-name' = 'mydb',
  'table-name' = 'orders'
);

--定义MatrixOne目标表,驱动使用mysql驱动
CREATE TABLE matrixone_cdc_sink (
  `user_id` BIGINT,
  `item_id` BIGINT,
  `behavior` STRING,
   PRIMARY KEY(user_id) NOT ENFORCED
) WITH (
  'connector' = 'mysql',
  'hostname' = '<yourHostname>',
  'port' = '6001',
  'username' = '<yourUsername>',
  'password' = '<yourPassword>',
  'database-name' = '<yourDatabaseName>',
  'table-name' = '<yourTableName>'
);

--同步MySQL binlog流式数据到MatrixOne
INSERT INTO matrixone_cdc_sink SELECT * FROM mysql_cdc_orders;

随着MatrixOne 1.0正式版发版脚步渐近,越来越多的小伙伴开始在更多的业务中测试和使用MatrixOne,也为社区提出了非常多的宝贵建议。MatrixOne社区将响应社区开发者的呼声,持续适配主流的生态组件,不断提升产品的易用性和友好性。欢迎大家反馈在使用过程中发现的兼容性问题,您的每一个issue我们都无比珍视,社区开发者将会第一时间进行排期修复。


MatrixOne社区介绍

MatrixOne是一款面向未来的超融合异构云原生数据库管理系统。通过全新设计和研发的统一分布式数据库引擎,能够同时灵活支持OLTP、OLAP、 Streaming等不同工作负载的数据管理和应用,用户可以在公有云、自建数据中心和边缘节点上无缝部署和运行。

MatrixOrigin 官网:新一代超融合异构开源数据库-矩阵起源(深圳)信息科技有限公司 MatrixOne

Github 仓库:GitHub - matrixorigin/matrixone: Hyperconverged cloud-edge native database

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1215820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用哈希表封装unordered_map(以及set)【C++】

目录 一&#xff0c;前言 二&#xff0c;封装层框架&#xff08;哈希底层以哈希桶为例&#xff09; 三&#xff0c;迭代器 1. operator 2. operator[] 3. 仿函数优化 3. 解决unordered_set中Key可以修改的Bug 代码区 Hash_map_set.h HashTable.h 下节预告&#xff1…

Notion汉化

Notion真无语&#xff0c;汉化版都没有。真的无力吐槽。 2023.11.7汉化经历 教程链接&#xff1a;github Reamd7/notion-zh_CN at 2.4.20-handmade (github.com) 网页版&#xff1a; 油猴下载插件。 Notion中文汉化 浏览器插件下载 windows&#xff1a; github realse 这…

Ubuntu22.04 部署Mqtt服务器

1、打开Download EMQX 下载mqtt服务器版本 2、Download the EMQX repository curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash 3.Install EMQX sudo apt-get install emqx 4.Run EMQX sudo systemctl start emqx

Js:获取最近6个月的月份(包含本月、不包含本月)

一、需求 获取最近6个月的月份&#xff08;不包含本月&#xff09;&#xff0c;比如现在是11月份&#xff0c;则需要获取到的月份是&#xff1a;10、9、8、7、6、5将月份从小到大排列 二、解决 1、获取最近的6个月份&#xff08;不包含本月&#xff09; var monthALL[]; …

在3+1的方向上展开结构加法4a3+4a14

4a3 4a14 - - 1 - - - - - - - - - - - - - 1 1 1 - 1 1 - 1 - - 1 - - - 要求得到的图片只能有4个点&#xff0c;并且需要最大限度的保留4a3和4a14两张图片的内在结构特征。 4个点的结构总可以认为是3个点的结构1合成的 - - 1 - - …

Java内存模型(JMM) ----多线程/并发编程

在介绍 Java 内存模型之前&#xff0c;先来看一下到底什么是计算机内存模型。 计算机结构简介 冯诺依曼&#xff0c;提出计算机由五大组成部分&#xff0c;输入设备&#xff0c;输出设备存储器&#xff0c;控制器&#xff0c;运算器 CPU 中央处理器&#xff0c;是计算机的…

完整时间线!李开复Yi大模型套壳争议;第二届AI故事大赛;AI算命GPTs;LLM应用全栈开发笔记;GPT-5提上日程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f440; 李开复「零一万物」大模型陷套壳争议&#xff0c;事件时间线完整梳理 https://huggingface.co/01-ai/Yi-34B/discussions/11#65531458…

2022CCPC绵阳 ACGHM

Dashboard - 2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite - Codeforces C.Catch You Catch Me 题意 思路 首先注意到贡献可以按深度统计&#xff0c;对于每个深度dep&#xff0c;贡献是在dep深度中属于的子树种类数&#xff0c;如果在该深度中子树存在…

结合scss实现黑白主题切换

是看了袁老师的视频后&#xff0c;自己做了一下练习。原视频地址&#xff1a; b站地址https://www.bilibili.com/video/BV15z4y1N7jB/?spm_id_from333.1007.top_right_bar_window_history.content.click&vd_sourcec6cf63302f28d94ebc02cbedcecc57ea首先创建一个全局的scs…

VSCode配置ESP-IDF

参考其他 文章即可 如果编译时遇到问题&#xff0c;就去找环境变量&#xff0c;多半是环境变量没有配置好。根据自己安装的idf的目录重新配置 环境变量. 如果电脑上有python环境&#xff0c;但是编译时出现找不到python解释器&#xff0c;需要执行下面命令&#xff0c;另外重…

MATLAB 模糊设计器 构建 模糊系统

系列文章目录 文章目录 系列文章目录前言一、创建 FIS 结构二、定义输入变量三、定义输出变量四、定义成员函数五、定义规则库六、设计分析七、存储和修改设计八、导出 FIS总结 前言 本例演示如何使用 Fuzzy Logic Designer 应用程序交互式创建 1 型 Mamdani 模糊推理系统&…

【自动化测试】Appium环境搭建与配置-详细步骤,一篇带你打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、Node.js环境搭…

easyExcle单元格合并

自定义单元格合并策略&#xff1a; /*** 自定义单元格合并策略** create: 2023-11-15 13:41**/ Data NoArgsConstructor AllArgsConstructor Slf4j public class EasyExcelCustomMergeStrategy implements RowWriteHandler {/*** 总数*/private Integer totalNum;//合并行计数…

【ARM Trace32(劳特巴赫) 使用介绍 5 -- Trace32 scan dump 详细介绍】

文章目录 1.1 JTAG 测试逻辑架构1.2 D型扫描触发器1.2.1 全扫描介绍1.3 IR 寄存器1.4 TDR(Test data registers)1.4.1 TDR 的实现1.4.1.1 Bypass Register1.4.1.2 Boundary-scan register1.5 Scan Dump1.5.1 soft fusion1.1 JTAG 测试逻辑架构 图 1-1 片上测试逻辑概念图 如前面…

我这些年对于自动化测试的理解

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

DTW(Dynamic Time Warping)算法学习应用实践与效率对比分析

DTW&#xff08;Dynamic Time Warping&#xff09;算法是一种用于度量两个时间序列之间的相似性的方法。它的构建原理如下&#xff1a; 基本思想&#xff1a;DTW算法通过计算两个时间序列之间的最小距离&#xff0c;来度量它们的相似性。与欧氏距离等传统距离度量方法不同&…

MariaDB安装配置、使用、授权、增删改查以及数据库备份与恢复

目录 1 MariaDB安装 1.1 MariaDB源配置 1.2 清空缓存 1.3 安装MariaDB 2 MariaDB的基本配置 2.1 启动MariaDB 2.2 MariaDB进程查看 2.3 MariaDB数据库初始化 2.3.1 数据库初始化 2.3.2 初始化测试登录 3 MariaDB的使用 3.1 查看数据库 3.2 修改密码 3.3 创建数据库test 3…

conda环境下Tesseract:Failed loading language ‘eng‘问题解决

1 问题描述 使用Tesseract进行ocr文字识别&#xff0c;运行识别代码&#xff0c;报错如下&#xff1a; C:\Users\lishu\anaconda3\envs\pt2\python.exe D:/code/ptcontainer/opencv/car_reg.py Traceback (most recent call last): File "D:\code\ptcontainer\opencv\…

C#WPF文本转语音实例

本文介绍C#WPF文本转语音实例 实现方法:使用类库(SpeechSynthesizer )实现的。 一、首先是安装程序包。 二、创建项目 需要添加引用using System.Speech.Synthesis; UI界面 <Windowx:Class="TextToSpeechDemo.MainWindow"xmlns="http://schemas.micr…

著名的《NP问题》是个啥概念?

一、说明 关于复杂问题&#xff0c;始终是计算机科学挡在路前的一块巨石。所谓一个问题有解&#xff0c;但需要秒完成&#xff0c;这相当于说&#xff0c;此类问题无解。还有一类问题是说不清楚到底有没有一个具体解法&#xff0c;该解法能在多项式时间复杂函数上完成&#xff…