数据治理(三)-平台架构

数据治理大致分为两类,一种贴合业务,特殊情况特殊治理;另外一种平台型治理,不考虑具体业务。本文从一个平台数据架构师视角去理解数据治理。

1.什么是治理

数据管理治理
数据治理的职能是指导其他所有的数据管理职能。数据治理的目的是确保根据策略和最佳实践来正确地管理数据。

财务成本治理
助力业务清晰的洞察资源的成本构成和支出,辅以技术手段,推进进行用量的优化以及资源单价优化,最终实现资源成本利用率的最大化。

架构和效率视角
提升业务的运行效率和降低资源消耗,确保业务能够高效的运转、按照业务所期望时间产出,并且具备全局最
优。

研发流程视角
治理是对已经发生和存在的问题进行分析和诊断,并且能够得到持续的改进和优化。

2.治理框架

很重要的一个图。
在这里插入图片描述

3.治理的原则

删除下线:能下线不、能删除不、还有用不、有没有存在的必要、有没有其他可替代的…?
减少用量:能不能減少读取数据量、能不能缩短生命周期、能不能降低调度频率、能不能⋯.?
看上看下、看左看右:看上游依赖、看下游消费、看有没有一样读取和消费…?
代码、存储优化:通过log view、代码逻辑、业务逻辑、消费频次、加工来源,进行代码和存储优化
效果反馈和追踪:存储上的效果、计算上的效果、时间上的效果、架构上的效果


代码治理流程

代码优化的流程
如:引擎特性-》算子挖掘-》优化方案推荐-》优化代码

计算读取I/O的优化
加粗样式渐进计算:改迸周期性凋度下跨多分区的重复分区速取
暴力扫描:改进周期性调度下跨多分区的重复分区读取
业务优化:通过业务知识进行优化和改进
ZORDER重排:改进查询过滤和优化列存储的压缩率
Map Join:降低大表JOIN的传输成本
DynamicFilter :提升过滤的效率,減少shuffle成本
视图化改造:通过视图,降低冗余,上推过滤
Hash Cluster:数据加载环节排序,降低读取成本
参数调优:调整参数提供性能更优的方案
函数替换:等价替换性能更优的函数
函数优化:对函数性能进行改善,加快处理效率和速度

数据的结构化存储
大段的文本内容–(转化为)-》有明的结构确定义
调整数据的排布顺序,提升压缩率(比如Z-Order重排序)


消费端、生命周期、高消耗资源的治理

通过对高资源消耗资产和行为的审计、表存储生命周期的管理、链路级无效资产的下线,来提升成本健康度。

高资源消耗审计和用量评估
事前成本预估和资源监控:通过ODPS提供的成本预估接口评估计算的cost,通过平台实时的检测异常资源消耗。
事后,TOP表和计算的审计:通过预测算法识别未来一段时间的资源消耗,由业务管理员发起对该资源消耗合理性的评估。
事后,补数据成本化:将补数据行为转化成成本,从而推进补数据需求的合理性评估。

表存储生命周期管理
基于精细化的访问情况和成本消耗的估算,为表提供精细化的生命周期推荐。

链路级无效资产下线
有了主动感知,将链路级的任务下线时间缩短到一层一天,极大的提升了下线的效率。


存储治理

存储介质和文件格式
这根据各家情况而定,大致逻辑从SSD(高频)降级到HDD,再江西到RAID-HDD存储,最后OSS冷存储。
智能分级存储
技术原理浅析:基于表和分区的访问频率和自动的对数据进行分级存储。
增量、拉链、累计快照
1.增量:指每个分区只保留变化的数据,用户如果需要查询多天的数据需要读取多个分区。
2.拉链表(极限存储Exstore):指数仓中为了维护数据的历史状态以及最新状态而形成的一种设计模式,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,从而可以通过拉链很方便的还原出某一时刻的状态或者记录信息。
3.累计快照:周期快照事实表以具有规律性的,可预见的时间间隔来记录事实,时间间隔如每天,每月,每年等等。
视图改写治理和优化
希望下游多个脚本复用我这段查询,我希望高频访问时候用表,从而实现消费用户的时效和计算效率的保障,低频数据就直接读上游吧。
1.普通视图
2.参数化视图
3.物化视图:对于近1天高频复用的查询能够像缓存一样物化成物理表,对于历史数据直接查询上游,这样既节省存储、又节省计算,同时回溯数据又不需要重新手动补数据。


生命周期和回刷战治理

1.生命周期
生命周期只能设定到表级别
表若不指定生命周期,则表(分区)不会根据生命周期规则被ODPS自动回。
分区表若指定生命周期,则根据各个分区的LastDataModifiedTime 判断该分区是否该被回收。不同于非分区表,分区表的最后一个分区被回收后,该表不会被删除。
2.回收站
当数据生命周期到期,或者被覆盖,或者被删除(不指定purge)都会默认先被移动到回收站,回收站具有保留周期,如果保留周期到期,数据将被彻底删。


集群治理框架和主要手段

通过分级存储技术,以数据的访问频率,按照数据的不同访问频率设置不同的存储介质。
跨城网络带宽优化:计算集群下线、就近使用Tunnel、优化跨城直读取为本地直读。
计算混部和错峰调度。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CMake的原理与使用方法

一.为什么需要CMake,什么是CMake 1.由于各种make工具遵循不同的规范和标准,所执行的Makefile格式也不同,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),…

【JAVA入门】Day06 - 字符串

【JAVA入门】Day06 - 字符串 文章目录 【JAVA入门】Day06 - 字符串一、API二、字符串2.1 创建 String 对象的方式2.2 字符串内存模型 三、字符串的相关操作3.1 字符串的比较3.2 遍历字符串3.3 统计字符出现次数3.4 拼接字符串3.5 字符串反转 四、StringBuilder3.1 构造方法3.2 …

束测后台实操文档2-OpenWrt

束测后台实操文档1-PVE、PBS 上面文,把proxmox装好并添加好PBS上的镜像存储空间后,还原已经做好的镜像基本上就可以在已有的镜像下开展工作了。 调试的PVE环境一般两个网口,一个外网wan,一个子网lan,虚拟机一般在lan…

体验Photoshop:无需下载,直接在浏览器编辑图片

搜索Photoshop时,映入眼帘的是PS软件下载,自学PS软件需要多长时间,学PS软件有必要报班吗...PS软件的设计功能很多,除了常见的图像处理功能外,还涉及图形、文本、视频、出版等。不管你是平面设计师,UI/UX设计…

可变参数

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,还可以定义可变参数。可变参数也称不定长参数,即传入函数中的实际参数可以是任意多个。 定义可变参数时&#xf…

植物大战僵尸杂交版破解C++实现

文章目录 前言准备工作:基地址与偏移UI界面设计和绑定项目模板总览图生成与实现信号处理1、阳光值更新:BTN12、三种钱币值更新:BTN2-BTN43、冷却刷新:BTN54、锁定阳光:check15、无冷却:check26、OnTimer()和OnClose&am…

Linux上传文件

在finalshell中连接的Linux系统中,输入命令rz然后选择windows中的文件即可。

透视茅台股东大会三大关键词:稳定、竞争力、创新

执笔 | 尼 奥 编辑 | 扬 灵 “让我们携手共同致力于茅台的稳定、健康、可持续发展。”上任刚满一个月的贵州茅台党委书记、董事长张德芹,在5月29日的贵州茅台酒股份有限公司2023年度股东大会上迎来首秀。 张德芹在40多分钟脱稿演讲与30多分钟互动环节中&#x…

TiDB学习9:Ti Cloud简介

目录 1. 为什么选择TiDB 2. 多租户 3. TiDB架构 4. 什么是TiDB Cloud 5. TiDB Cloud Provider Region 6. TiDB Cloud 入门 6.1 在浏览器中打开TiDB Cloud 6.2 创建您的账户 6.3 Developer Tier 与Dedicated Tier 6.3.1 Developer Tier 6.3.2 Dedicated Tier 6.3.2.…

项目纪实 | 版本升级操作get!GreatDB分布式升级过程详解

某客户项目现场,因其业务系统要用到数据库新版本中的功能特性,因此考虑升级现有数据库版本。在升级之前,万里数据库项目团队帮助客户在本地测试环境构造了相同的基础版本,导入部分生产数据,尽量复刻生产环境进行升级&a…

【NVM】nvm常用命令,切换node版本命令

nvm常用的命令,切换node版本命令 nvm 查看支持安装的node版本 nvm list available nvm安装指定版本node nvm install 版本号 例如:nvm install 10.24.1 nvm查看本机安装所有node版本 nvm list nvm切换node版本 nvm use 10.24.1 检测当前node版本 node -…

玄机平台应急响应—Linux日志分析

1、前言 啥是日志呢,日志就是字面意思,用来记录你干了啥事情。日志大体可以分为网站日志和系统日志,网站日志呢就是记录哪个用户在哪里什么时候干了啥事,以及其它的与网站相关的事情。系统日志呢,就是记录你的电脑系统…

动态分配函数参数用二级指针的作用

文章目录 前言一、案例 前言 在一些情况下,我们需要在函数内部动态地分配内存来存储结构体,并且需要在函数外部访问该结构体。在这种情况下,可以使用二级指针作为函数参数来实现动态内存分配,并且在函数外部使用指针访问结构体。…

12V转19V4A升压恒压WT3207

12V转19V4A升压恒压WT3207 WT3207是款高效的PWM升压控制器,采用SO-8封装设计。该控制器经过优化以适应低输入电压应用,具有从5V至36V的广泛输入电压范围,适用于需要提高12V、15V和19V系统电压的场合,特别是对于两节或三节锂离子电…

Apache Doris 基础 -- 数据表设计(数据模型)

Versions: 2.1 1、模型概览 本主题从逻辑角度介绍了Doris中的数据模型,以便您可以在不同的业务场景中更好地使用Doris。 基本概念 本文主要从逻辑的角度描述Doris的数据模型,旨在帮助用户在不同的场景更好地利用Doris。 在Doris中,数据在…

GEE 10m近实时 LULC 数据集Dynamic World

Google Earth Engine 和 Dynamic World Google 利用其地球引擎(Earth Engine)和人工智能(AI)平台技术,推出了 Dynamic World 数据库,能够提供接近实时的全球土地环境数据。Dynamic World 是基于 Google Ear…

【Gradle】Gradle的本地安装和使用

目录 1、Gradle 的安装 2、集成 IntelliJ IDEA 3、使用 Gradle Gradle 完全兼容 Maven 和 Ivy 仓库,你可以从中检索依赖也可以发布你的文件到仓库中,Gradle 提供转换器能把 Maven 的构建逻辑转换成 Gradle 的构建脚本。 1、Gradle 的安装 Gradle 的…

卷积网络迁移学习:实现思想与TensorFlow实践

摘要:迁移学习是一种利用已有知识来改善新任务学习性能的方法。 在深度学习中,迁移学习通过迁移卷积网络(CNN)的预训练权重,实现了在新领域或任务上的高效学习。 下面我将详细介绍迁移学习的概念、实现思想&#xff0c…

【Qt】Qt界面美化指南:深入理解QSS样式表的应用与实践

文章目录 前言:1. 背景介绍2. 基本语法3. QSS 设置方式3.1. 设置全局样式3.2. 从文件加载样式表3.3. 使用 Qt Designer 编辑样式 总结: 前言: 在当今这个视觉至上的时代,用户界面(UI)的设计对于任何软件产…

嵌入式Linux复制剪切删除指令详解

指令操作 1. cp 复制指令 a. 用法:cp [ 选项 ] [ 源文件或目录 ] [ 目标文件或目录 ]; b. 用途:用于复制文件或目录; c. 通常情况下,复制的都不是空文件夹,所以直接使用 cp 复制空文件会失败&#xff0…