如何用OceanBase与DataWorks,打造一站式的数据集成、开发和数据服务

news2024/11/23 20:44:43

导语:在OceanBase 2024年开发者大会的技术生态论坛上,阿里云DataWorks团队的高级技术专家罗海伟,详细阐述了一站式大数据开发治理平台DataWorks的能力,并对于如何基于OceanBase和Dataworks构建一站式数据集成、开发以及数据服务进行了深入探讨。本文为演讲的精华内容整理。

DataWorks概要

DataWorks是一站式智能化数据开发与治理平台,支持 MaxCompute/Hologres/AnalyticDB/E-Mapreduce/CDH/CDP 等大数据引擎,为企业构建现代数据仓库、数据湖以及湖仓融合数据架构提供数据平台产品解决方案。

作为阿里巴巴大数据平台建设者,DataWorks 从 2009 年起不断沉淀阿里巴巴大数据建设方法论并产品化,同时与数万家政务、金融、零售、互联网、能源、制造等阿里云客户携手,助力企业数字化升级。目前,DataWorks平台云上日调度任务实例数已超过1700万+。

下图是DataWorks产品模块架构,可以看到,最下面的计算存储引擎层已经包含了对OceanBase的支持。在计算存储引擎之上是数据集成模块,这个模块主要解决数据孤岛问题,比如我们的数据存储在各种异构存储、异构网络中,我们需要把这些数据按照特定的同步策略汇总到数据仓库中,这样才能做后续的数据分析和挖掘。目前,数据集成模块每日同步数据量超过10PB+。

1716430442

更上一层的数据治理模块中,数据开发是一项重要基础功能,我们在数据开发中可以通过图形化的方式配置数据加工ETL工作流,并且配置工作流调度,配置监控和执行运维。在数据开发上层,有完善的数据治理体系,保证ETL工作流数据安全可靠,并降低数据使用成本。

数据服务模块是一个灵活、轻量、安全稳定的数据API构建平台,解决了数据库和数据业务间“最后一公里”的问题。借助其全面的数据服务和共享能力,用户可以统一管理面向内外部的API服务。例如,可以将查询数据表功能快速的生成对应的API,或将已有的API注册至数据服务平台进行统一发布和管理。

DataWorks有良好的开放性,提供了开放API、开放消息等机制,用户甚至可以在DataWorks接入扩展程序,根据扩展程序实现特定业务逻辑。

数据集成作为DataWorks的核心基础模块,我们从六个维度保障数据同步的完整、安全和高效:

1716430467

1.              离线/实时全覆盖:考虑到数据同步策略的多样性,DataWorks支持离线同步,实现数据主动抽取;支持实时同步,接受变更刷新,变更动态同步。

2.              支持复杂网络:上云成为主流趋势,云上也存在多种网络场景包括同VPC、跨VPC、跨用户、混合云跨云、IDC到云上等,一个成熟的数据平台需要考虑对各种异构网络如公网、IDC、VPC等的支持,并提供异构网络综合解决方案。

3.              繁多异构数据源:针对不同数据同步场景,用户配置运维任务有不同的诉求,因此,DataWorks会对各种场景提供对应的数据同步解决方案。离线支持50+种数据源、实时支持10+种数据源,涵盖关系型数据库、MPP、NoSQL、文件存储、消息流等。

4.              同步解决方案:整库全量、整库全增量、分库分表,提供离线、实时数据同步解决方案。

5.              安全控制:比如配置一个数据同步数据源,数据源有开发环境、生产环境,我们对数据同步任务引用的数据源做生产和开发环境隔离,以及数据源权限安全控制,另外独享任务执行资源保障高可用。

6.              运维监控:包括流量、脏数据控制;资源组使用监控、任务告警设置。

数据集成 OceanBase 同步原理 

数据集成平台如何做数据同步?我们以OceanBase为例进行说明。 

在离线批同步中,一个数据同步作业称之为一个Job,Job是逻辑上的一个概念,为了最大化的提高任务运行的吞吐和效率,运行中一个Job会拆变成多个Task,来并发或者并行的完成数据传输业务。每个Task内部有一个Reader组件负责数据读取、并由Writer组件负责数据写出。在OceanBase同步场景中,Reader和Writer底层基于OceanBase SQL来完成数据读取和写出的。这套框架有很好的可扩展性,每增加一种新的Reader或者Writer插件,天然的可以和其他已有存储直接进行交换数据。这个框架体系就是DataX,目前Github上的DataX就是我们 DataWorks 团队对外开源的。

1716430501

在流同步场景中,OceanBase SQL执行过程中会产生各种日志,比如典型的 Clog或BinLog,我们借助OceanBase的日志代理组件可以获取到Clog以及更友好、方便接入的BinLog数据。下游生态工具可以类似接入MySQL的格式,对接OceanBase并捕获OceanBase增量。OceanBase的增量主要包含两种变更事件类型,一种是DML,包含数据插入、更新、删除,另一种是DDL,包括add column等表结构变更。我们拿到增量数据后会进行分区、聚合、排序,并根据目标端的类型进行翻译重放。例如目标端类型是OceanBase时使用OceanBase SQL重放。

1716430509

未来一年,DataWorks数据集成主要在四个方面做扩展。第一,整合流批一体同步引擎,维护一套框架,同一套技术栈支持流和批同步,提高研发效能。第二,加大对开源生态的投入,能够复用和集成社区丰富的Connector以及将有价值的Connector回馈给社区。第三,扩展支持DML / DDL / HeartBeat等全事件流的解析及同步。第四,追求极致的性能和成本,资源按需获取弹性扩缩容,增强分布式海量数据同步。

DataWorks x OceanBase 数据开发流程实践

我们介绍下一个经典的大数据开发流程,首先我们需要创建一个数据源,数据源包括各种类型,如数据库、数据仓库、消息队列、对象文件系统等。其次,我们要复制采集数据,创建数据同步作业将各种异构数据汇总到数据仓库或数据湖中,这一步可能涉及异构数据源的打通、网络连通解决、数据同步配置等。比如我们把OceanBase的数据抽取到数据仓库中来,在数据仓库中存储面向数据分析的数据,经过数仓分析后产出一份结果数据,这份数据是面向业务查询的数据。结果数据仍然通过数据集成同步回流到OceanBase,最后通过数据服务模块把OceanBase表里的数据对外暴露成一个数据的API,直接去支撑我们报表应用和大盘。

1716430531

在上述大数据开发流程中,DataWorks对OceanBase都有较为全面的支持,DataWorks与OceanBase云产品已经无缝衔接。我们分别示意介绍如下:

首先,DataWorks支持 OceanBase数据源。数据源配置信息包括连接地址、账密、权限等,这些信息以加密、可靠的方式存储下来,这样的话,DataWorks后续的各个模块可以有复用这套数据源配置。这个数据源网络可能跨地域,如果OceanBase是私有化部署在IDC中也可以支持。

1716430542

然后,一个典型场景是业务使用OceanBase的OLTP能力支撑线上业务需求,借助其他数仓工具如 MaxCompute 来做业务数据离线周期加工,这时候需要把OceanBase 的全量、增量变更数据同步到 MaxCompute 中。另一个典型场景是我们使用OceanBase的OLAP能力,把在线的MySQL数据全增量同步到 OceanBase 做挖掘分析。这两种场景在 DataWorks 中都可以图形化快捷完成任务配置和管理。配置举例如下:

1716430551

其他任务配置参考:

·       全增量同步到MaxCompute:https://help.aliyun.com/document_detail/175676.html

·       全增量同步到Hologres:https://help.aliyun.com/document_detail/171766.html

然后,DataWorks有一个强大的SQL节点编辑器以及工作流的调度编排系统,我们在DataWorks中增加了OceanBase数据开发节点,这样OceanBase 分析SQL可以和DataWorks已有的其他节点进行无缝连接,成为完整ETL工作流的一个组成部分。

1716430565

最后,我们使用数据服务将数据对外暴露为API,支撑报表和大盘,配置举例:

1716430573

OceanBase × DataWorks 的案例

目前,DataWorks已经有非常多成熟案例,其中基于OceanBase的典型案例是蚂蚁银行新加坡分行,在这个环境中实现了OceanBase大集群模式的高效运维管理。 

用户借助OceanBase的OLTP和OLAP能力,通过统一模型完成离线分析和在线分析,通过DataWorks实时同步将OceanBase的增量数据,订阅、汇总到MaxCompute。然后在MaxCompute可以做定期离线分析,分析结果回流到在线的OceanBase里,通过数据服务模块可以支撑在线业务查询,在线应用也可以直接触发调用MaxCompute做离线分析。 

通过DataWorks和OceanBase强强联合,用户用一套技术架构替代了之前需要部署多种KA组件及复杂运维和服务保障的模式,取得了极高的性价比。

1716430590

更多关于DataWorks和OceanBase联合解决方案的信息或疑问,欢迎来OceanBase的论坛进行讨论。

OceanBase快速上手:https://open.oceanbase.com/quickStart

OceanBase源码地址:https://github.com/oceanbase/oceanbase

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

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

相关文章

解锁模数学习新境界:电路仿真软件,你的数字与模拟世界桥梁大师!

在这个科技日新月异的时代,模数转换(A/D与D/A)不仅是电子工程师的必修课,也是众多科技爱好者探索数字与模拟世界奥秘的钥匙。而今,一款强大的电路仿真软件,正悄然成为连接这两大领域的魔法棒,让…

Animate软件基础:各种类型文件使用说明

FlashASer:AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer:实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 FlashASer:Animate教程及作品源文件https://zhuanlan.zhihu.co…

ps绘制动图

ps绘制动图教程(简易版)-直播gif动态效果图 第一步 打开ps绘制几个简单的长方形 第二步 将图层转化为智能图层 第三部 在窗口找到时间轴创建时间轴 第五步 通过变换来鼠标控制图像的变化并打下结束点 第六部 通过图像中的图像大小控制gif的大小 第七部 …

低代码: 系统开发准备之确定一般开发流程,需求分析,复杂度分析,标准开发流程

概述 低代码系统开发之前,我们首先要进行一些准备我们首先知道我们软件开发的一般流程同时,我们还要知道,我们整个系统平台的需求如何之后,我们要基于需求进行设计,包含UI设计与系统架构设计 一般开发流程 系统开发…

2024年【北京市安全员-B证】考试题库及北京市安全员-B证考试技巧

题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-B证考试题库根据新北京市安全员-B证考试大纲要求,安全生产模拟考试一点通将北京市安全员-B证模拟考试试题进行汇编,组成一套北京市安全员-B证全真模拟考试试题,学员可…

拉削基础知识——拉床的类型及特点

拉床是所有机械加工工具中最简单的一种,由拉削工具、夹具、驱动装置和支撑架组成。拉削加工可获得较高的尺寸精度和较小的表面粗糙度,生产率较高,适用于大批量生产。拉床按其结构主要分为卧式和立式。应用领域和功能可分为液压拉床、自动拉床…

【香菇带你学Mysql】Mysql数据库主备搭建【建议收藏】

文章目录 1. 概述1.1 为什么要搭建主备架构数据库?1.2 常见的Mysql数据库主备架构 2. Mysql 数据库主备搭建原理3. Mysql数据库主备搭建实操3.1 环境准备3.2 主库操作3.3 从库操作3.4 主从同步验证 4. 总结5. 参考文档 大家可能听过一个段子,当电脑遇到问…

java 关键字

Java的关键字是语言中保留的标识符,它们具有特定的含义和用途,并且不能用作变量名、方法名或类名等。Java 17(最新的LTS版本之一)中有53个关键字。 下面是每个关键字的含义及其实例 1. 控制结构关键字 这些关键字用于控制程序流…

第十六节、实装攻击判定

一、实现原理 人物三段式攻击的剑气增加一帧伤害即可 二、步骤 创建玩家下面的子物体 1、多边形碰撞体 给第一段攻击添加多边形碰撞体 2、帧触发 在这一帧添加动画,是触发器由失活状态转为使用状态 在这一帧勾选物体状态 3、计算攻击伤害 每一个挂载代码&…

大型语言模型微调的规模效应研究

人工智能咨询培训老师叶梓 转载标明出处 为了解锁大模型在特定下游应用中的全部潜力,通常需要通过微调(finetuning)来适配任务。尽管微调已成为一种常规做法,但关于不同微调方法的归纳偏差,尤其是规模特性的理解仍然有…

CRC16循环冗余校验

代码&#xff1a; #include<stdio.h> #include <stdint.h>#define uchar unsigned char #define uint unsigned int static const uint8_t auchCRCHi[] { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x0…

33.x86游戏实战-喊话CALL

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

CTFHUB—XSS—DOM反射

开启题目 输入以下语句测试一下&#xff0c;发现页面没有弹出窗口显示“flag” <script>alert("flag")</script> 查看页面源代码&#xff0c; 尝试闭合标签 使用下面代码闭合&#xff0c;然后发现闭合成功了 </script><script>alert("…

【Python机器学习】利用AdaBoost元算法提高分类性能——基于AdaBoost的分类

一旦拥有了多个弱分类以及其对应的alpha值&#xff0c;进行测试就变得非常容易了。现在&#xff0c;要将弱分类器的训练过程从程序中抽出来&#xff0c;然后应用在某个具体的实例上。每个弱分类器的结果以其对应的alpha值作为权重。所有这些弱分类器的结果加权求和就得到了最后…

ElementUI元件库在Axure中使用

一、ElementUI元件库介绍 ElementUI 是一套为开发者、UI/UX设计师和产品经理准备的基于Vue 2.0的桌面端组件库。它以其优雅的设计和丰富的组件&#xff0c;极大地提升了Web应用的开发效率与用户体验。ElementUI的组件设计精致且符合现代UI规范&#xff0c;包括按钮、表单、弹窗…

判断用户是否在pwa环境中打开运行?(已安装的 PWA 与未安装的 PWA 网站之间有什么区别?)

前言&#xff1a; &#x1f449;vue3tsvite项目中使用vite-plugin-pwa搭建 PWA 项目&#xff0c;以及如何处理pwa安装图标的显示隐藏 &#x1f449;pwa在iframe下能否显示&#xff0c;以及在iframe下相关问题解析 如何判断用户是否在pwa环境中运行? 根据pwa配置的display-mo…

Captive Portal验证原理

物联网开发系列&#xff1a;物联网开发之旅① WiFi to Ethernet: 树莓派共享无线连接至有线网口&#xff0c;自动通过Captive Poartal验证物联网开发番外篇之 Captive Portal验证原理 文章目录 工作原理技术细节登录页面的实现自动化登录 登录界面的原理主要涉及到Web认证&…

想用matlab画一个3Y轴x-y图,如何实现??

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

Windows 7和Windows10系统如何关闭重复进入Windows启动管理器的现象?

目录 背景: 方法一:使用命令提示符关闭Windows管理器 方法二:通过系统属性来关闭WIndows启动管理器 两种方法的总结: 背景: Windows 启动管理器&#xff08;Windows Boot Manager&#xff09;是 Windows 操作系统中的一个关键组件&#xff0c;它负责在系统启动时管理和引导…

千字解读《2024年前瞻中国AI大模型场景应用趋势蓝皮书》!直击大模型应用五大挑战:最大痛点在于技术面临“卡脖子”风险

7月30日&#xff0c;由前瞻产业研究院携手华为云、首钢基金、深圳上市公司协会联合发起&#xff0c;深圳市政府指导的“深圳产业会客厅——2024人工智能产业对接活动”圆满举办。 会上&#xff0c;前瞻产业研究院院长徐文强以“中国AI发展的必然与挑战”为题&#xff0c;深度剖…