PolarDB-X 冷热数据归档(一)| 学习笔记

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 快速学习 PolarDB-X 冷热数据归档。

开发者学堂课程【PolarDB-X开源分布式数据库进阶课程 :PolarDB-X 冷热数据归档(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1202/detail/18331


PolarDB-X 冷热数据归档

 

内容介绍:

一、PolarDB-X 简介

二、课程介绍

三、背景介绍

四、演示内容

五、演示

 

一、PolarDB-X 简介

首先这个是 PolarDB-X 整体的一个架构。

image.png 

二、课程介绍

image.png

这是之前我们做开源训练营的一个前景回顾

image.png

这页 PPT 是我们这个新版本所提供的一些特景。

image.png

还有我们相关的一些课程资源

 

三.背景介绍

我们这次主要介绍的是冷热数据的归纳,主要是围绕云栖实验室做一些介绍,如果想了解细节的内容可以观看群里面,八月份有一次直播会讲一些更加技术的东西。

数据时效性:随着时间推移,业务数据的热度会有明显的降低

存储成本:一般而言,为了支持高速存取,数据库的存储成本相对于 OSS 等冷存储是比较高的

归档问题:通过 delete 语句删除大规模数据,会造成锁表、产生大量 binlog、磁盘空洞等问题,是一个较危险的操作

冷数据查询:冷数据的分析处理能带来很多商业上的 insight,帮助用户作出决定

言归正传,冷热数据归纳其实是处理一些冷热分离的场景,在有些业务里面他的数据随着时间的推移热度会明显的降低,被查询的概率会小很多,但是 zhe ye 数据也是要存在数据库里的,数据库为了支持高速存取,一般会用固定硬盘它的存储成本是很高的,但是这些数据被查询的概率又很低有一些用户就会做定期的归档他们通常会使用delete语句来删除了,已经过期的数据 Delete 会造成锁表通常结束还需要来处理磁盘的空洞这个过程危险,而且漫长通常要凌晨爬起来处理这个归档的问题,用 delete 语句把数据删除之后这些冷数据,数据库就无法访问了。如果你想继续访问还得把它从存储的地方导入数据库,然后进行查询。这些冷数据其实会有一些商业上的作用,他的分析处理会帮用户做出更好的角色。

·存储引擎  

·CN直接读取冷数据表进行查询

·多种数据源  

·多级裁剪,较强的 TP 能力

·不支持直接删改,只通过 ddl 修改数据  

·列存结构,比 InnoDB 更强的 AP 能力

·底层基于 ORC 文件格式,完全兼容 MySQL 的类型系统

·任意时间点备份恢复

基于这样的痛点问题我们提供了一种冷数据表,要明确的是冷数据表,其实是和 InnoDB 并列的存储引擎。这一页PPT 大家要注意,如果考试的话题目题目都在这一页上。冷数据是可以实施多种数据源的,比如说我们在云上是用的oss,我们在实验室中开源的云起实验室中用的是 CN 的本地磁盘。如果在来源的批查地里面数据库还可以接 nfs,这个能力我们也来源出去了,包括也可以使用 s3 他并不限制使用哪种数据源,因为是冷数据,所以我们第3点不支持直接增删改他只能通过DDL修改数据,此外,我们数据表低层使用的 ORC 文件格式, 他是不能完全兼容 MySQI 的类型系统,因此我们对这个文件进行了模改,让他能够完全兼容 MySQI 的类型系统,当然这样的话那些开源的 orc 就无法访问了,我们生成了冷数据的 ORC 文件。

第四点我们的冷数据表是 cn 直接进行读取查询然后解析出来不会再介入 DN,所以它的性能是有保证的,为了能够有较强的 TP 能力,我们做了多层的裁剪,在实验中会显示 TP 能力,因为我们是基于 orc 的列存结构所以说他天然比 InnoDB  有更强的 AP 能力。最后一点作为一个数据库,他一定会有备份恢复的能力支持任意时间点的恢复。

image.png

在实验中我们会用到 Loading 模式和 TTI 模式的冷数据归档表,这两张都是在云起实验室中用到的,我们来解析一下,create table sbtest1……这一条会把这张表全量的复制,到当前库的 sbtest1,全量的复制到了一个冷数据表里,没有增量的能力,更方便我们对冷数据引擎直接测试性能,在云起实验中 TP 测试都是用的这种模式,实际上不是生产会用的模式,主要是用来测试的另外一种 TTL 模式,这张表要求 t_

image.png

必须是 TTL 的表,因为它有自动的冷数据过期能力,介入这样的表就会把过期的数据自动归档到 t_order_oss 中,这种表也称为归档表,它的性能可以用 sbtest1 验证,它TTL模式的表比 Loading 模式多了一个归档的增量这个过程是自动。

相关文章
|
运维 Linux
Linux NTP服务详解
Linux NTP服务详解
797 1
N..
|
JavaScript 前端开发 开发者
jQuery选择器
jQuery选择器
N..
118 1
|
存储 大数据 数据管理
数据仓库(07)数仓规范设计
所谓的规范的定义,简单理解,如果把数据当作货物,那就是货物的分类,以及对应相关的属性,比如生产日期,某个原料的含量等,我们可以把相近或者相同货物,按照一定的规律,放在一起,方便入库与出库,需要某个货物按照这些规律就可以,以比较快的速度拉取出来。 一般的规范设计包含一下几个方面:划分和定义数据域、业务过程、维度、度量 原子指标、修饰类型、修饰词、时间周期、派生指标。
590 0
|
消息中间件 SQL Java
开源Flink迁移至实时计算Flink全托管版最佳实践
Flink全托管产品(Flink Serverless)是一款基于Apache Flink构建的全托管产品,为您提供全托管一站式的实时计算服务,具有免运费、高增值、低成本等特性。本方案介绍如何将自建开源Flink集群的流式任务(包含Datastream、Table/SQL、PyFlink任务)迁移至阿里云实时计算全托管版。
561 2
开源Flink迁移至实时计算Flink全托管版最佳实践
|
分布式计算 关系型数据库 MySQL
【企业数据中台交付】数据回刷实验
通过自定义sql(多路输出、动态分区、笛卡尔积)和补数据方式,回刷历史分区数据,使业务可查看历史数据。
|
JSON NoSQL Redis
Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
Redis反序列化错误Could not read JSON: Cannot construct instance of java.util.ArrayList$SubList
1324 1
Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
|
关系型数据库 MySQL 索引
【MySQL】count(1)、count(*)、count(字段)、count(主键)的区别
【MySQL】count(1)、count(*)、count(字段)、count(主键)的区别
658 0
|
机器学习/深度学习 自动驾驶 安全
YOffleNet | YOLO V4 基于嵌入式设备的轻量化改进设计
YOffleNet | YOLO V4 基于嵌入式设备的轻量化改进设计
482 0
|
消息中间件 资源调度 容灾
7*24 小时业务不中断!菜鸟乡村应用多活落地实践
从前期调研、方案评估、多活建设到最终核心物流业务的改造上线,仅仅只用了 2 个多月,菜鸟乡村就完成了核心业务同城多活容灾的目标,实现业务的 7*24 小时不间断服务,最大程度保障了业务稳定性及连续性。
7*24 小时业务不中断!菜鸟乡村应用多活落地实践