数据新时代:如何选择现代数据治理平台(上)

谈现代数据治理系统的十大架构特征

最近一位老友找到我,咨询他的数据治理平台到底该不该换,背景是这样的:若干年前采购了一个市场主流的数据治理平台,功能大概就是数据治理三件套——标准、元数据和质量等经典数据治理的功能。现在企业要信创,该平台无法支持上云、新数据库等诉求,原厂也不再提供升级支持。这位朋友考虑到动迁成本以及多年累积的付出,犹豫是否再缝缝补补凑合一阵子。

这种情况在市面上还是比较普遍的,经常有某客户抛弃老平台,重新采购新系统的案例。(这点不得不说,相比于西方企业市场,我国企业的外购系统的生命周期明显偏短的,具体个中原因暂且不表)。如果您也是正在做类似平台的选型,除了关注功能,更要关注到基础架构层面,那才是工具长期可持续的保证。

作为一家专业的数据治理产品提供商,在最近发布的Datablau产品7x版本的研发中,我们也一直在探索,如何让产品在企业运营中可持续发展,如何保护客户的投资,如何让产品在客制化和标准化之间平衡,并保持持续的升级能力。这里结合我们的实践,谈一谈现代数据治理平台,具备的十大架构特性,供您参考。

基础架构特征(上)

现代应用程序架构的特征反映了当前技术的发展趋势和业务需求的变化。随着云计算、容器化、微服务、人工智能等技术的普及,应用程序的架构也变得更加复杂、灵活、可扩展和高效。以下是现代数据治理平台架构的一些主要特征:

1.微服务架构

微服务架构(Microservices Architecture)是一种将应用程序分解为一组小的、独立的服务架构模式。每个服务都围绕一个特定的业务功能构建,能够独立部署、扩展、开发和维护。

特征:

· 高度的模块化,每个服务独立运行,且可以使用不同的技术栈。

· 独立部署、扩展和更新。

· 服务之间通过API通信。

微服务是云化时代软件架构的基本特征,数据治理平台的早期版本功能是单一的,大多是个前后端一体的单体应用程序。随着企业数据量增加和数据管理活动的细化,已经演化为一个复杂的应用程序,它包含了多个数据治理功能域,如标准、元数据、质量、安全、资产等,与数据领域的生态系统,如数据开发、服务、BI、分析等都有了集成应用。所以现代数据治理系统已经是一个贯穿开发,投产,生产三个环节的,一个企业级的综合数据治理平台。

微服务架构让这个平台更容易云化,实现高可用,生态集成,在大数据量下提高负载能力和稳定性。当然微服务的粒度是个架构哲学问题,把握应用与分工的平衡性非常重要。在Datablau平台中共有20个左右的微服务,涵盖了原子的业务模块和公共的服务模块和基础设施模块等。

图1《Datablau平台微服务架构》

2.API驱动架构

开放API成为现代应用程序架构的核心。应用程序通过RESTful API、GraphQL或gRPC等接口进行服务交互和数据交换。这种架构使得系统能够与外部系统进行集成,并且提供灵活的通信方式。

特征:

·标准化的接口,简化服务间的通信。

·支持跨平台访问和异构系统的集成。

·API文档(如OpenAPI)成为接口规范的重要部分。

正如在《Datablau平台微服务架构》所述,早期的应用系统用JSP这种前后一体程序构建,虽然开发调试成本低,但是带来了耦合性和封闭性的弊端,所以现代软件平台必须是API驱动的前后分离的。

3.事件驱动架构(EDA)

事件驱动架构基于事件的触发和响应进行工作。应用程序中的事件(如用户行为、系统变化等)会引发一系列的操作和流程。这种架构适用于高并发、异步处理和实时响应的场景。

特征:

·异步处理和消息队列(如Kafka、RabbitMQ)用于事件的传播和处理。

·支持实时数据处理和流处理。

·提高系统的解耦性和可伸缩性。

Datablau产品中主要通过Kafka建立多服务的信息同步通道,记录跨服务的日志和对象状态同步,保证多服务间的事务最终一致性。参考上图《Datablau平台微服务架构》。

4.API网关和服务中心

API网关:用于处理和管理客户端请求,负责路由、负载均衡、认证、日志等功能。API网关通常作为所有微服务的入口点。

服务中心:服务中心是一个基础设施层,提供微服务之间的通信、监控、安全和管理功能,通常与容器化和Kubernetes集成。

特征:

·简化客户端与后端微服务的通信。

·提供流量控制、负载均衡、故障恢复、认证授权等功能。

·支持微服务之间的可靠通信和可观测性。

Datablau产品中主要通过Gateway建立API路由通道,管理微服务的入口点,进行多服务的系统集成和参数配置。参考上图《Datablau平台微服务架构》。

5.用户体验(UE)

现代应用程序对用户体验(UE,User Experience)的要求比以往任何时候都更为严格和复杂。随着互联网和移动应用的普及,过去工业化风格的UI已经无法被习惯好的UE体验的用户所容忍。作为一个数据管理应用,其用户也跨出了数据管理人员的范围,更多角色包括业务侧人员的加入,让好的UIUE已经成为衡量数据治理平台是否更容易推广的重要指标之一。

专业的UIUE是一个专业的领域,主要的内容包括简单直观的界面,减少学习成本、功能流畅等,现代的数据治理平台在此基础上更加强调:

智能化体验:随着人工智能和机器学习的普及,现代数据治理平台不仅仅是工具,还需要通过智能化功能提升用户体验和工作效率。例如:智能推荐、自动化建模等智能功能,可以大大提升用户的交互体验。

互动性体验:主动元数据治理(Active Metadata Management)是近年来流行的数据治理方法,数据治理平台需要有主动驱动的功能支持,在数据设计与加工过程中,通过通知、互动、联动等智能化方式,达到第一时间进行数据治理的目的,事半功倍。

图2《Datablau元数据平台界面》

小结

以上介绍了一个现代数据治理平台,应该具备的基础软件架构,它保证了应用程序的云化能力、开放性和易用性等核心的架构能力。那么作为数据领域的应用,还需要一些高级的架构特性,来应对大数据量,迭代迅速的数据工具生态、成本效益考量等核心问题。

下篇文章继续分享《数据新时代:如何选择现代数据治理平台(下)》,详细介绍现代数据治理平台的高级架构特征。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音SEO矩阵系统:开发技术分享

市场环境剖析 短视频SEO矩阵系统是一种策略,旨在通过不同平台上的多个账号建立联系,整合同一品牌下的各平台粉丝流量。该系统通过遵循每个平台的规则和内容要求,输出企业和品牌形象,以矩阵形式增强粉丝基础并提升商业价值。抖音作…

从零开始打造个人博客:我的网页设计之旅

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…

STM32F103C8T6实时时钟RTC

目录 前言 一、RTC基本硬件结构 二、Unix时间戳 2.1 unix时间戳定义 2.2 时间戳与日历日期时间的转换 2.3 指针函数使用注意事项 ​三、RTC和BKP硬件结构 四、驱动代码解析 前言 STM32F103C8T6外部低速时钟LSE(一般为32.768KHz)用的引脚是PC14和PC…

Jmeter中的定时器

4)定时器 1--固定定时器 功能特点 固定延迟:在每个请求之间添加固定的延迟时间。精确控制:可以精确控制请求的发送频率。简单易用:配置简单,易于理解和使用。 配置步骤 添加固定定时器 右键点击需要添加定时器的请求…

Fakelocation Server服务器/专业版 ubuntu

前言:需要Ubuntu系统 Fakelocation开源文件系统需求 Ubuntu | Fakelocation | 任务一 任务一 更新Ubuntu(安装下载不再赘述) sudo -i # 提权 sudo apt update # 更新软件包列表 sudo apt upgrade # 升级已安装的软…

5.5 W5500 TCP服务端与客户端

文章目录 1、TCP介绍2、W5500简介2.1 关键函数socketlistensendgetSn_RX_RSRrecv自动心跳包检测getSn_SR 1、TCP介绍 TCP 服务端: 创建套接字[socket]:服务器首先创建一个套接字,这是网络通信的端点。绑定套接字[bind]:服务器将…

超高流量多级缓存架构设计!

文章内容已经收录在《面试进阶之路》,从原理出发,直击面试难点,实现更高维度的降维打击! 文章目录 电商-多级缓存架构设计多级缓存架构介绍多级缓存请求流程负载均衡算法的选择轮询负载均衡一致性哈希负载均衡算法选择 应用层 Ngi…

信创改造 - TongRDS 替换 Redis

记得开放 6379 端口哦 1)首先在服务器上安装好 TongRDS 2)替换 redis 的 host,post,passwd 3)TongRDS 兼容 jedis # 例如:更改原先 redis 中对应的 host,post,passwd 改成 TongRDS…

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数 微信公众平台添加配置 微信公众平台 > 开发管理 > 开发设置 > 扫普通链接二维码打开小程序 配置链接规则需要下载校验文档给后端存入服务器中,保存配置的时候会校验一次,确定当前的配…

Git(一)基本使用

目录 一、使用git -v 查看安装git版本 二、使用mkdir 创建一个文件,并使用 git init 在该目录下创建一个本地仓库, 三、通过git clone命令接入线上仓库 四、使用git status查看仓库状态信息 五、利用echo写入一个文件 并使用cat进行查看 【Linux】e…

QML学习 —— 29、3种不同使用动画的方式(附源码)

效果 说明 第一种:属性动画 - 当启动软件时候自动执行动画。      第二种:行为动画 - 当属性发生变化则自动执行动画。      第三种:目标动画 - 将动画变为对象,指定对象的目标进行执行动画。 代码 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQu…

下载并安装Visual Studio 2017过程

一、下载 1、下载链接 下载链接:官方网址 先登录 往下滑找到较早的下载 2、进行搜索下载 或者直接点击🔗网站跳转 3、确认系统信息进行下载 二、安装 下载完成后右键使用管理员身份运行 1、点击同意后安装 2、若报错—设置失败 打开控制面板-&g…

React(五)——useContecxt/Reducer/useCallback/useRef/React.memo/useMemo

文章目录 项目地址十六、useContecxt十七、useReducer十八、React.memo以及产生的问题18.1组件嵌套的渲染规律18.2 React.memo18.3 引出问题 十九、useCallback和useMemo19.1 useCallback对函数进行缓存19.2 useMemo19.2.1 基本的使用19.2.2 缓存属性数据 19.2.3 对于更新的理解…

vue实现列表滑动下拉加载数据

一、实现效果 二、实现思路 使用滚动事件监听器来检测用户是否滚动到底部&#xff0c;然后加载更多数据 监听滚动事件。检测用户是否滚动到底部。加载更多数据。 三、案例代码 <div class"drawer-content"><div ref"loadMoreTrigger" class&q…

Redis常见面试题总结(上)

Redis 基础 什么是 Redis&#xff1f; Redis &#xff08;REmote DIctionary Server&#xff09;是一个基于 C 语言开发的开源 NoSQL 数据库&#xff08;BSD 许可&#xff09;。与传统数据库不同的是&#xff0c;Redis 的数据是保存在内存中的&#xff08;内存数据库&#xf…

网络协议——BGP(边界网关协议)全网最详解

1. 什么是AS&#xff1f; AS: 指的是在同一个组织管理下&#xff0c;使用统一选路策略的设备集合&#xff0c;AS取值范围四字节&#xff08; 0~43亿&#xff09; 2. BGP概念 BGP是边界网关协议&#xff0c;用于自治系统间的动态协议路径矢量。基于TCP中应用层协议&#xff0c…

【JavaEE】Servlet:表白墙

文章目录 一、前端二、前置知识三、代码1、后端2、前端3、总结 四、存入数据库1、引入 mysql 的依赖&#xff0c;mysql 驱动包2、创建数据库数据表3、调整上述后端代码3.1 封装数据库操作&#xff0c;和数据库建立连接3.2 调整后端代码 一、前端 <!DOCTYPE html> <ht…

调用阿里通义千问大语言模型API-小白新手教程-python

阿里大语言模型通义千问API使用新手教程 最近需要用到大模型&#xff0c;了解到目前国产大模型中&#xff0c;阿里的通义千问有比较详细的SDK文档可进行二次开发,目前通义千问的API文档其实是可以进行精简然后学习的,也就是说&#xff0c;是可以通过简单的API调用在自己网页或者…

《硬件架构的艺术》笔记(七):处理字节顺序

介绍 本章主要介绍字节顺序的的基本规则。&#xff08;感觉偏软件了&#xff0c;不知道为啥那么会放进《硬件架构的艺术》这本书&#xff09;。 定义 字节顺序定义数据在计算机系统中的存储格式&#xff0c;描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器…

【STM32】在 STM32 USB 设备库添加新的设备类

说实话&#xff0c;我非常想吐槽 STM32 的 USB device library&#xff0c;总感觉很混乱。 USB Device library architecture 根据架构图&#xff1a; Adding a custom class 如果你想添加新的设备类&#xff0c;必须修改的文件有 usbd_desc.cusbd_conf.cusb_device.c 需要…