数据管理篇之存储和成本管理

news2025/1/23 3:15:20

第14章 存储和成本管理

目标:有效的降低存储资源的消耗,节省存储成本。

1.数据压缩

  • 问题

在分布式文件系统中,为了提高数据的可用性与性能 ,通常会将数据存储3份,这就意味着存储 1TB 的逻辑数据, 实际上会占用3TB物理空间。

  • 解决方案

目前 MaxCompute 中提供了 archive 压缩方法,它采用了具有更高压缩比的压缩算法,可以将数据保存为 RAID file 的形式,数据不再简单地保存为3份,而是使用盘古 RAID file 的默认值( 6,3 )格式的文件,即6份数据+3份校验块的方式,这样能够有效地将存储比约为1:3 提高到 1: 1.5 ,大约能够省下一半的物理空间。
存在风险:如果某个数据块出现 了损坏或者某台机器着机损坏了,恢复数据块的时间将要比原来的方式更长,读的性能会有定的损失。

  • 应用:

目前一般将 archive 压缩方法应用在冷备数据与日数据的压缩存储上。

2.数据重分布

  • 问题

MaxCompute 主要采用基于列存储的方式,由于每个表的数据分布不同,插人数据的顺序不 样,会导致压缩效果有很大的差异。

  • 解决方案

通过修改表的数据重分布,避免列热点,将会节省一定的存储空间。目前主要通过修改 distribute by sort by 字段的方法进行数据重分布。

3.存储治理项优化

在这里插入图片描述

在元数据的基础上,诊断、加工成多个存储治理优化项。
目前已有的存储治理优化项有未管理表、 空表最近 62 天未访问表、数据无更新无任务表 、数据无更新有任务表、开发库数据大于 lOOGB 且无访问表、长周期表等。

4.生命周期管理

目的:是用最少的存储成本来满足最大的业务需求,使数据价值最大化。

  • 生命周期管理策略

周期性删除策略:所存储的数据都有 定的有效期,从数据创建开始到过时,可以周期性删除X天前的数据。
彻底删除策略:无用表数据或者 ETL 过程产生的临时数据,以及不需要保留的数据,可以进行及时删除,包括删除元数据。
永久保留策略:重要且不可恢复的底层数据和应用数据需要永久保留。
极限存储策略:可以超高压缩重复镜像数据,通过平台化配置手段实现透明访问。缺点是对数据质量要求非常高,配置与维护成本比较高。
冷数据管理策略:冷数据管理是永久保留策略的扩展。永久保留的数据迁移到冷数据中心进行永久保存,同时将MaxCompute 中对应的数据删除。
增量表merge全量表策略:对于某些特定的数据,极限存储在使用性与存储成本方面的优势不是很明显,需要改成增量同步与全量 erge 的方式,对于对应的 delta增量表的保留策略,目前默认保留 93 天。

  • 通用的生命周期管理矩阵

通过对历史数据的等级划分与对表类型的划分生成相应的生命周期管理矩阵。
(1)历史数据根据等级划分

P0:非常重要的主题数据域数据和非常重要的应用数据;具有不可恢复性;如,交易、日志、集团 KPI 数据、IPO 关联表;
P1:重要的业务数据和重要的应用数据;具有不可恢复性;如,重要的业务产品数据;
P2:重要的业务数据和重要的应用数据;具有可恢复性;如,交易线 ETL 产生的中间过程数据;
P3:不重要的业务数据和不重要的应用数据,具有可恢复性;如,某些 SNS 产品报表;

(2)表类型划分

事件型流水表(增量表):数据无重复或者无主键,如日志。
事件型镜像表(增量表):指业务过程性数据,有主键,但是对于同样主键的属性会发生缓慢变化;如交易、订单状态与时间会根据业务发生变更;
维表:包括维度和维度属性数据
Merge 全量表:包括业务过程性数据或者维表数据,由于数据本身有新增的或者发生状态变更,对于同样主键的数据可能会保留多份,因此可以对这些数据根据主键进行 Merge 操作,主键对应的属性只会保留最新状态,历史状态保留在前一天分区中;
ETL临时表:处理过程中产生的临时表数据
TT 临时数据:TT 拉取的数据和 DbSync 产生的临时数据最终会流转到 ODS 层,ODS 层数据作为原始数据保留下来,从而使得 TT& DBSync 上游数据成为临时数据
普通全量表:BI 一般是直接全量拉取,这种方式效率快,对存储压力也不是很大,而且表保留很长时间,可以根据历史数据等级确定保留策略。

P0P1P2P3
ODS层
事件型流水表(增量表)
永久保留
3年
365天
180天
事件型镜像表(增量表)
永久保留
3年
365天
180天
维表(全量表)
33天+极限存储
33天+极限存储
33天+极限存储
33天+极限存储
Merge全量表
2天
2天
2天
2天
普通全量表
3年
365天
365天
180天
新同步全量表
3天
3天
3天
3天
DWD层
事件型流水表(增量表)
永久保留
3年
365天
180天
事件型镜像表(增量表)
永久保留
3年
365天
180天
维表(全量表)
33天+极限存储
33天+极限存储
33天+极限存储
33天+极限存储
普通全量表
3年
365天
365天
180天
DWS层
各粒度数据
永久保留
3年
3年
3年
临时存储区
ETL临时表
7天
3天
3天
3天
TT临时数据
7天
7天
7天
7天
应用层
运营报表
永久保留
——
——
——
对外数据
7年
——
——
——
内部产品
3年
——
——
——

5.数据成本计算

数据成本计算主要是计算数据表的存储成本、计算成本、扫描成本:

存储成本是为了计算数据表消耗的存储资源;
计算成本是为了计算数据计算过程中的 CPU 消耗;
扫描成本是指对上游数据表的扫描带来的扫描成本;

6.数据使用计费

依据三个成本进行收费,称为:

计算付费
存储付费
扫描付费

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

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

相关文章

iOS自动化真机测试验证环境过程中常见问题解析

本文节选自霍格沃兹测试学院内部教材 本章节主要讲解 iOS 自动化真机配置以及在 iOS 真机执行自动化时常见问题与解决方法。 真机使用的Capability 与模拟器不同,真机测试需要如下的 Capability 方式一:设置 App 路径,启动 App(自…

SpringBoot项目开启远程调试

1、服务端设置 cat start.sh #!/bin/bash echo "i will start the program!" java -jar -Xdebug -Xrunjdwp:transportdt_socket,servery,address9999 xxxxx-SNAPSHOT.jar --server.port10991 echo "start success" 2、开发工具设置 3、然后&#…

计算机网络~计算机网络体系结构

一、计算机网络的概念和功能 1. 计算机网络 是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统计算机网络是互联的、自治的计算机集合 互联:通过通信链路互联互通自治&a…

π120M30 双通道数字隔离器兼容ADuM3210TRZ 广泛应用于工业自动化系统方案

π120M30 双通道数字隔离器兼容ADuM3210TRZ 广泛应用于工业自动化系统方案 。具有出色的性能特征和可靠性,整体性能优于光耦和基于其他原理的数字隔离器产品。传输通道间彼此独立,可实现多种传输方向的配置,可实现 3.0kV rms 隔离耐压等级和 …

【Java语言】— 类型转换

1.类型转换 (1)自动类型转换 类型范围小的变量,可以直接赋值给类型范围大的变量。 ①自动类型转换的底层原理 ②自动类型转换的其他形式 (2)表达式的自动类型转换 在表达式中,小范围类型的变量会自动转…

python之序列反转

python之序列反转 方式1:.reverse() a [1, 2, 3, 4, 5] print(a.reverse()) # None,函数原地反转,不具备排序功能,而且没有返回值 print(a) # [5, 4, 3, 2, 1]方式2:reversed a [1, 2, 3, 4, 5] print(reversed…

2021年全国职业院校技能大赛网络搭建与应用赛项——国赛组播题

2021年全国职业院校技能大赛网络搭建与应用赛项——国赛组播题 sw1:# ip pim multicast-routing (开启组播模式,在全局模式) int vlan 10 ip pim dense-mode (在接口模式下开启组播-密集模式协议) ip igmp version 2 i…

正大国际期货:恒指德指交易导致亏损的原因是什么?

在交易过程中,经常会遇到我们事先对这次的交易进行了详细的分析推理,还制定了周密可行的策略,但真正落实到交易活动过程中却变得面目全非,屡屡败退,让我们措手不及这样的现象,是什么原因导致?正…

如何开通 API 服务并授予项目 API 服务的调用权限

涂鸦 IoT 开发平台开放多种业务 API 服务,全面覆盖全屋智能管理、行业通用设备用户管理、垂直品类开放能力、各类数据服务等业务需求。 本文将为大家介绍如何开通 API 服务并授予项目 API 服务的调用权限。 个人数据隐私声明 开发者调用的部分 云服务 API 会获取用…

链表(2)------数据结构

1)进行反转单链表:节点的值不发生改变,只需要进行修改节点的指向 进行测试的时候要给方法传入一个头结点 输入:1,2,3,4,5; 输出:5,4,3,2,1; 1)我…

从0到1介绍一下开源大数据比对平台dataCompare

1.背景&现状 在大数据领域也已经工作了多年,无论所待过的大公司还是小公司,都会遇到集群升级迁移过程中据搬迁等相关工作,经常会碰到搬迁之后,搬迁的数据是不是能对的上呢?两边数据究竟是不是一致的呢&#xff1f…

javaee之Mybatis4

延迟加载与立即加载的概念 Mybatis中的延迟加载与立即加载 一、一对一实现延迟加载的步骤(多对一,看成一对一) 我们这里是利用account表中的一个方法来做 先来看IAccountDao里面的一个方法 然后再去看持久层IAccountDao.xml 这个方法给我们…

Linux学习-92-SELinux管理

18 SELinux管理 root 用户在 Linux 系统当中就是无所不能的,而且读、写和执行权限对 root 用户完全没有作用。root 用户的存在极大地方便了 Linux 的管理,但是也造成了一定的安全隐患。绝大多数系统的严重错误都是由于 root 用户的误操作引起的&#xff…

开源项目 Spartacus 的 git 分支使用规范

Spartacus 开源项目里存在如下的 git 分支: feature/GH-xxxx 分支用于简单的功能和错误修复epic/epic-name 分支用于大功能的开发release/1.4.0-rc.0 分支用于特定的发布(你可以将它们与维护分支区分开来,因为包含了完整的版本号&#xff09…

压力测试笔记

压测学习 要求:满足100并发500ms性能要求 压测场景 新系统上线支持 在新系统上线前,通过执行性能压测能够对系统的负载能力有较为清晰的认知,从而结合预估的潜在用户数量保障系统上线后的用户体验。技术升级验证 在系统重构过程中&#xf…

Github每日精选(第80期):自动生成命令行python-fire

Python Fire 是一个用于从绝对任何Python对象自动生成命令行界面 (CLI) 的库。 Python Fire 是一种在 Python 中创建 CLI 的简单方法。 [1]Python Fire 是用于开发和调试 Python 代码的有用工具。 [2]Python Fire 有助于探索现有代码或将其他人的代码转换为 CLI。[3]Python Fi…

Co-Scale Conv-Attentional Image Transformers

Co-Scale Conv-Attentional Image Transformers一、引言二、实现方法(一)、Conv-Attention Module三、Co-Scale Conv-Attentional Transformers(一)、Co-Scale串行块(二)、Co-Scale并行块(三&am…

跳频和扩频通信

跳频(FH, Frequency Hopping)是指载波频率在很宽频率范围内按某种序列或图案进行跳变,它能进一步提高系统的抗干扰性能。 跳频技术改善了无线信号的传输质量,可以明显地降低同频干扰和频率选择性衰落,为了避免在同一小区或临近小区中&#xf…

无惧管控放开,分享居家办公、远程办公项目经验

国家已经放开疫情管控,随之而来的,是各地大面积的“小阳人”爆发,很多企业不得不重新启动远程办公机制。 云盒子科技拥有良好的的远程办公经验,产品是包含企业云盘、流程审批、邮件、通讯录、企业公告一体化的在线文档协作平台。…

Ubuntu18.04下调用fastdds实现通信

提纲 1、编写idl 2、fastddsgen生成cpp的源代码文件 3、编译生成可执行文件 4、执行可执行文件完成通讯 1、编写idl 现在我们可以编写一个简单的 IDL: 2、fastddsgen生成cpp的源代码文件 编写好idl后,就可以通过 fastddsgen 快速生成代码。 最终会自动…