【记录】OLAP引擎中的冷热分层技术

news2024/11/15 7:24:20

在数据分析的实际场景中,冷热数据往往面临着不同的查询频次及响应速度要求。例如在电商订单场景中,用户经常访问近 6 个月的订单,时间较久远的订单访问次数非常少;在行为分析场景中,需支持近期流量数据的高频查询且时效性要求高,但为了保证历史数据随时可查,往往要求数据保存周期更为久远;在日志分析场景中,历史数据的访问频次很低,但需长时间备份以保证后续的审计和回溯的工作…往往历史数据的应用价值会随着时间推移而降低,且需要应对的查询需求也会随之锐减。而随着历史数据的不断增多,如果我们将所有数据存储在本地,将造成大量的资源浪费。

为了解决满足以上问题,冷热数据分层技术应运而生,以更好满足企业降本增效的趋势。顾名思义,冷热分层是将冷热数据分别存储在成本不同的存储介质上,例如热数据存储在成本更高的 SSD 盘上、以提高时效数据的查询速度和响应能力,而冷数据则存储在相对低成本的 HDD 盘甚至更为廉价的对象存储上,以降低存储成本。我们还可以根据实际业务需求进行灵活的配置和调整,以满足不同场景的要求。

冷热分层一般适用于以下需求场景:

  • 数据存储周期长:面对历史数据的不断增加,存储成本也随之增加;
  • 冷热数据访问频率及性能要求不同:热数据访问频率高且需要快速响应,而冷数据访问频率低且响应速度要求不高;
  • 数据备份和恢复成本高:备份和恢复大量数据需要消耗大量的时间和资源。

冷热分层成本对比
我们按照不同比例将冷数据迁移到对象存储,来计算一下如果使用冷热分层之后,相较于全量使用普通云盘、SSD 云盘 可节约 多少 成本。

  • 阿里云 OSS 标准存储成本是 120 元/ T /月
  • 阿里云普通云盘的价格是 300 元/ T /月
  • 阿里云 SSD 云盘的价格是 1000 元/ T /月
    在这里插入图片描述

Doris

技术点

  • 存储方式的优化
  • 冷数据 Compaction
  • 冷数据 Cache

性能

在充分预热之后(数据已经缓存在 Cache 中),冷热分层表共耗时 5.799s,非冷热分层表共耗时 5.822s,由此可知,使用冷热分层查询表和非冷热分层表的查询性能几乎相同。这表明,使用 Doris 2.0 提供的冷热分层功能,不会对查询性能造成的影响。

https://doris.apache.org/zh-CN/blog/HCDS/

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

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

相关文章

Airtest:Windows桌面应用自动化测试四【Airtest之python本地环境安装、独立IDE运行】

Airtest之python本地环境安装、独立IDE运行 一、环境配置二、安装Airtest三、安装poco四、常见问题4.1若运行代码时,在cv2模块报ImportError: DLL load failed: 找不到指定模块的错,有几种解决方案:4.1.1.本问题的根本原因应该是DLL文件的缺失…

如何在前端写播放音频

ml(html文档、wxml文档等) <audio action{{action}} src"http://music.163.com/song/media/outer/url?id2059780541.mp3"></audio> js文档 action:{"method":"play"}

6.19、一起学JAVA API Object String StringBuffer/StringBuilder

1 前言 亲爱的小伙伴萌,目前我们看到的是Java基础部分的一个新的部分API,这是个啥,又能做啥呢? 其实可以概括成一句话:帮助我们站在巨人的肩膀上,实现更加高效的开发,那么我们来一探究竟吧~ 2 什么是API API&#xff08;Application Programming Interface&#xff0c;应用…

软考A计划-系统集成项目管理工程师-项目概念-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

《操作系统》by李治军 | 实验9 - proc文件系统的实现

目录 一、实验目的 二、实验内容 三、实验准备 1. procfs 简介 2. 基本思路 四、实验过程 1. 增加新的文件类型 2. 让 mknod() 支持新的文件类型 &#xff08;1&#xff09;修改 mknod 系统调用 &#xff08;2&#xff09;初始化 procfs 3. 让 proc 文件可读 &…

H5学习(三)-- CSS层叠样式表

文章目录 一、简介二、CSS的书写样式1. 行内样式&#xff08;内联样式&#xff09;2. 页内样式3. 外部样式 三、常见的选择器1. 标签选择器2. 类选择器3. id选择器4. 并列选择器5. 复合选择器6. 伪类选择器 一、简介 CSS&#xff08;cascading style sheet&#xff09;是层叠样…

springboot+echarts +mysql制作数据可视化大屏(六图)

作者水平低&#xff0c;如有错误&#xff0c;恳请指正&#xff01;谢谢&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 项目简单&#xff0c;适合大学生参考 分类专栏还有其它的可视化博客哦&#xff01; 专栏地址&#xff1a;https://blog.csdn.net/qq_559…

数据结构--队列的链表实现

数据结构–队列的链表实现 队列的链表实现代码定义 typedef struct LinkNode {ElemType data;struct LinkNode* next; }LinkNode;typedef struct {LinkNode *front, *rear; }LinkQueue;带头结点 初始化 void InitQueue(LinkQueue &Q) {Q.front Q.rear (LinkNode*)malloc…

python进行windows系统UI自动化之【pyautoit】

python进行windows系统UI自动化之【pyautoit】 一、AutoIT中文手册1.1、安装AutoIt1.2、使用Auto Window Info 二、python引用2.1、安装2.2、引用2.3、使用2.3.1、窗口操作2.3.2、控件操作2.3.3、进程操作2.3.4、鼠标操作2.3.5、键盘操作2.3.5.1、Send 是非常有用的一个函数/命…

Segment Any Medical-Model (SAMM)在3D slicer上部署

参考&#xff1a; GitHub - bingogome/samm: A 3D Slicer integration to Metas SAM. https://www.cnblogs.com/odesey/p/17322413.html 一、下载代码仓库和权重文件 https://github.com/facebookresearch/segment-anything.git https://github.com/bingogome/samm.git htt…

举例说明Chatgpt模型训练的过程

Chatbot GPT模型训练过程详解 在人工智能领域&#xff0c;聊天机器人是一种模拟人类对话行为的计算机程序。近年来&#xff0c;随着深度学习和自然语言处理技术的飞速发展&#xff0c;聊天机器人越来越流行。本文将详细阐述GPT&#xff08;Generative Pre-trained Transformer&…

软考A计划-系统集成项目管理工程师-项目整体管理-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

chatgpt赋能python:如何将Python改成中文

如何将Python改成中文 Python是一种广泛使用的编程语言&#xff0c;但默认情况下是英文界面。对于非英语母语国家的程序员来说&#xff0c;使用Python的过程中可能会遇到许多不方便之处&#xff0c;因此将Python改成中文是很有必要的。本文将介绍如何将Python改成中文&#xf…

Loadrunner进行http接口压力测试

使用Loadrunner进行http接口压力测试 业务描述&#xff1a; 在业务系统里进行查询操作&#xff0c;查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回。 使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: 一.安装Loadrunner 本次测试过程…

excel数据的编排与整理——表格结构的整理(三)

excel数据的编排与整理——表格结构的整理(三) 1 提取不重复的数据 1.1 题目内容 1.2 在D2单元格输入公式并回车 1.3 填充数据到末尾 1.4 填充后的效果 1.5 点击筛选 1.6 筛选出D列为1的数据 1.7 筛选后的效果 1.8 把A列显示数据复制到C列(复制出来可能只显示第一个) 1.9 再次…

Angular实现一个简单的带tabs选项卡切换的首页导航功能

Angular版本&#xff1a;16.1.1 项目结构&#xff1a; angular.json配置&#xff1a; {"$schema": "./node_modules/angular/cli/lib/config/schema.json","version": 1,"newProjectRoot": "projects","projects"…

自定义双亲委派-JVM(三)

上篇文章说了java类加载源码&#xff0c;双亲委派的加载。 JVM类加载&双亲委派-JVM&#xff08;二&#xff09; 自定义类加载器 全盘负责委托机制 “全盘委托”指当一个classLoader装载一个类时&#xff0c;除非显示的使用另外一个classLoader加载&#xff0c;否则该类…

如何使用命令提示符重新启动Windows 资源管理器?

电脑资源管理器出现问题&#xff0c;导致电脑黑屏&#xff0c;如何使用命令提示符重新启动Windows 资源管理器呢&#xff1f;出现这个问题的时候&#xff0c;不要慌&#xff0c;按照下面的操作步骤&#xff0c;大概率是可以复原的&#xff0c;当然你觉得这样比较麻烦&#xff0…

C语言offsetof宏的使用与模拟实现

⭐️ 往期文章 ✨链接1&#xff1a;C语言文件打开关闭详解、文件顺序读写详解。 ✨链接2&#xff1a;C语言文件随机读写详解(fseek、ftell、rewind)。 ✨链接3&#xff1a;C语言scanf/fscanf/sscnaf和printf/fprintf/sprintf的区别。 ✨链接4&#xff1a;C语言打开文件一次既可…

论文不详细解读(二)——SimCLR系列

1. SimCLR v1 论文名称&#xff1a; A Simple Framework for Contrastive Learning of Visual Representations 开源地址&#xff1a;https://github.com/google-research/simclr 大佬论文解读&#xff1a;https://zhuanlan.zhihu.com/p/378953015 highlight&#xff1a;更多…