Doris2.0时代的一些机遇和挑战!

e5265c5bd583546e950b689184498aa7.png300万字!全网最全大数据学习面试社区等你来!

上个周五的时候,Doris官宣了2.0版本,除了在性能上的大幅提升,还有一些特性需要大家特别关注。

根据官网的描述,Doris在下面领域都有了长足进步:

  • 日志分析

  • 数据湖联邦分析场景

  • 数据更新效率和写入

  • 资源弹性和存算分离

  • 其他面向企业用户的易用性特性

在Doris出现这些能力之前,大家是没有机会免费用到这些能力的。数据库的这些能力集中在云平台上的一些付费数据库,不花钱根本体验不到。

这里面有一些特别重要的更新,大家在深度使用Doris的时候可能需要特别注意一下,这些内容也是很多面试官喜欢问的,我结合我的一些实践,挑一些重要的说。

点查并发能力的支持

在数据开发领域,「点查询」或者叫KV查询,在过去此类需求往往需要引入 Apache HBase等KV系统来应对点查询、或者Redis作为缓存层来分担高并发带来的系统压力。例如我们在订单属性查询的场景中,我们需要根据订单号关联订单的一些属性信息,很多OLAP在这个场景有很严重的性能问题,所以我们在之前提到各种OLAP库并不擅长像后端开发用Mysql数据库一样应付 Data Serving查询,但是在2.0版本后,如果我们的业务规模不大,我们可以不引入类似Hbase这样额外的组件,可以小范围的支持某些点查询需求,减少复杂技术栈带来的维护成本以及数据的冗余存储。

这里面原理涉及到:缓存优化、行式存储格式、点查询短路径优化、语句预处理、Row Cache等,需要大家自行了解。假如你在规模较大的生产环境用到了这样的能力,需要了解基本的原理,以及有哪些最佳生产实践。

日志分析类场景

Doris 2.0版本中引入了一些特性例如「倒排索引」「半结构数据类型」等,大家如果对ES不陌生的话,应该理解上面的这两些词语。

在此之前我们大规模使用ELK全家桶支持日志系统:FileBeat、Logstash、Kafka、Kibana,或者还需要了解ES DSL,如果我们的系统规模不大,要引入上述组件带来的使用和运维成本复杂度非常高昂,另外还需要解决ES的读写稳定性问题等等。

在Doris 2.0版本之后,我们可以基于Doris尝试在某些场景直接打造一个低成本、高易用的简版ELK系统,加之Doris对标准 SQL的支持和高度兼容 MySQL协议和语法,我们可以非常简单的进行日志分析。

冷热分离

2.0版本的一个重要功能是冷热分离。冷热分离是大数据领域的一个很重要的概念,其实在Doris之前,很多大数据领域的组件都支持冷热分离存储,例如大家熟知的Elasticsearch,利用ES的分片分配策略和给定节点路由,可以实现数据的冷热分离存储,使得热数据节点处理所有新输入的数据,并且存储速度也较快,以便确保快速地采集和检索数据。冷节点的存储密度则较大,可以在较长保留期限内保留数据,从而大大降低成本。

Doris同样也可以利用动态分区功能,对表分区进行生命周期管理,通过设置热数据转冷时间以及存储介质标识,后台任务将热数据从SSD自动冷却到 HDD,以帮助用户较大程度地降低存储成本。

这个在业务和数据规模较大的场景几乎是必做的操作,毕竟,谁会跟省钱过不去呢?

湖仓一体领域

Doris在很早的版本就已经支持了多种异构数据源的映射,例如Hive、ES等,在2.0版本这个范围扩展了湖表领域,增加了对Hudi、Iceberg、Paimon的支持。这将是一个巨大的改变,我们现在可以很轻松的将湖表映射到Doris来加速查询,在数据联邦查询分析场景得到了长足的进步。

c80cea68b7a6fd2fde4a2bcf22315621.png

未来,我们可以在特定业务场景中轻松实现湖仓一体化架构。届时,基于Flink、Doris、Hudi等的湖仓一体架构会频繁出现在大家眼前。当然这里面需要进行大量的最佳化实践,不过这一天很快会到来。

其他

此外,Doris还对某些功能进行了增强,例如多个数据模型下的列更新能力,高频写入Compaction内存优化等,在这些优化之前,我们都需要对任务进行很多优化,而现在不需要了,需要大家在使用过程中自行体会一下。

总之,2.0版本之后,Doris在开源OLAP领域的领先优势会逐步扩大,可以媲美很多云平台上的成熟的产品。

大家可以看到,数据开发领域过去的这几年发展有多快,是所有IT开发方向里几乎仅有的技术栈一直在快速迭代升级的方向,大家的技术栈也要跟上时代啊!不要等到被时代抛弃了才醒悟过来!

如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!

f303f4dd2a2eaa47177dd267e586af3b.png

6b4b9c4f1a6ba2e3e211bdf8fbeed720.jpeg

2022年全网首发|大数据专家级技能模型与学习指南(胜天半子篇)

互联网最坏的时代可能真的来了

我在B站读大学,大数据专业

我们在学习Flink的时候,到底在学习什么?

193篇文章暴揍Flink,这个合集你需要关注一下

Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS

Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

我们在学习Spark的时候,到底在学习什么?

在所有Spark模块中,我愿称SparkSQL为最强!

硬刚Hive | 4万字基础调优面试小总结

数据治理方法论和实践小百科全书

标签体系下的用户画像建设小指南

4万字长文 | ClickHouse基础&实践&调优全视角解析

【面试&个人成长】2021年过半,社招和校招的经验之谈

大数据方向另一个十年开启 |《硬刚系列》第一版完结

我写过的关于成长/面试/职场进阶的文章

当我们在学习Hive的时候在学习什么?「硬刚Hive续集」

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

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

相关文章

python的 __all__ 用法

一、介绍 在Python中,__all__通常用于定义模块的公开接口。在使用from module import *语句时,此时被导入模块若定义了__all__属性,则只有__all__内指定的属性、方法、类可被导入;若没定义,则导入模块内的所有公有属性…

嵌入式系统中如何选择RTC电池?

RTC(Real Time Clock)是一种用于提供系统时间的独立定时器,它可以在系统断电或低功耗模式下继续运行,只需要一个后备电池作为供电源。在嵌入式系统中,选择合适的RTC电池时非常关键的,它会影响系统时间的准确…

pyqt和ros结合使用接受相机和点云消息并展示(附代码)

代码是 ROS 节点的 Python QT脚本,用于订阅 /turtle1/cmd_vel、/tracking_image 和 /test_pointcloud 话题。 脚本首先通过 ps 命令检查是否已启动 ROS 主节点,如果没有则启动一个新的 ROS 主节点。然后,它订阅 /turtle1/cmd_vel、/tracking_image 和 /test_pointcloud 话题…

Git 常用操作

一、Git 常用操作 1、Git 切换分支 git checkout命令可以用于三种不同的实体:文件,commit,以及分支。checkout的意思就是对于一种实体的不同版本之间进行切换的操作。checkout一个分支,会更新当前的工作空间中的文件,…

【日常积累】HTTP和HTTPS的区别

背景 在运维面试中,经常会遇到面试官提问http和https的区别,今天咱们先来简单了解一下。 超文本传输协议HTTP被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果…

爬虫逆向实战(十三)--某课网登录

一、数据接口分析 主页地址:某课网 1、抓包 通过抓包可以发现登录接口是user/login 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个password加密参数,还有一个browser_key这个可以写死不需要关心 请求头…

draw.io导出矢量图到word报错text is not svg - cannot display

先参考https://blog.csdn.net/a625750076/article/details/126384831 如果不行,可能是转存的问题 解决方法:直接在draw.io上操作 第一步 第二步 然后再word中粘贴,依旧是矢量图哦!

494. 目标和

494. 目标和 原题链接:完成情况:解题思路:数组回溯法动态规划 参考代码:数组回溯法__494目标和__动态规划 经验吸取 原题链接: 494. 目标和 https://leetcode.cn/problems/target-sum/description/ 完成情况&#…

09- DMA(DirectMemoryAccess直接存储器访问)

DMA 09 、DMA(DirectMemoryAccess直接存储器访问)DMA配置流程 09 、DMA(DirectMemoryAccess直接存储器访问) DMA配置流程 dma.c文件 main.c文件 详见《stm32中文参考手册》表57。

Redis_主从复制

8. 主从复制 8.1 简介 主从库采用读写分离的方式 读操作:主库、从库都可以处理写操作:首先写到主库执行,然后再将主库同步给从库。 实现读写分离,性能扩展 容灾快速恢复 8.2 主从复制步骤 创建一个目录 ,在root下创建一个m…

Snapdragon 8 Gen 3:详解骁龙最新一代处理器的性能与特点

Snapdragon 8 Gen 3正在为下一波最好的安卓手机提供动力。高通的旗舰移动芯片组长期以来一直是安卓手机中最好的芯片组之一,但它在一系列关键领域总是落后于苹果的A系列芯片——A17仿生芯片看起来也不例外。 Snapdragon 8 Gen 2和Galaxy芯片的Gen 2确实缩小了差距…

Centos 防火墙命令

查看防火墙状态 systemctl status firewalld.service 或者 firewall-cmd --state 开启防火墙 单次开启防火墙 systemctl start firewalld.service 开机自启动防火墙 systemctl enable firewalld.service 重启防火墙 systemctl restart firewalld.service 防火墙设置开…

分布式 - 消息队列Kafka:Kafka生产者发送消息的分区策略

文章目录 01. Kafka 分区的作用02. PartitionInfo 分区源码03. Partitioner 分区器接口源码04. 自定义分区器05. 默认分区器 DefaultPartitioner06. 随机分区分配 RoundRobinPartitioner07. 黏性随机分区分配 UniformStickyPartitioner08. 为什么Kafka 2.4 版本后引入黏性分区策…

尚硅谷大数据项目《在线教育之离线数仓》笔记001

视频地址:尚硅谷大数据项目《在线教育之离线数仓》_哔哩哔哩_bilibili 目录 P003 P004【数仓概念讲的颇为详细】 P018 P019 P020 P021 P022 P023 P024 P003 时间切片:时间回溯,找回以前的数据。 P004【数仓概念讲的颇为详细】 核心架…

07微服务的事务管理机制

一句话导读 在单体应用程序中,事务通常是在单个数据库或单个操作系统中管理的,而在微服务架构中,事务需要跨越多个服务和数据库,这就使得事务管理变得更加复杂和困难。 目录 一句话导读 一、微服务事务管理的定义和意义 二、微…

Kali Linux中常用的渗透测试工具有哪些?

今天我们将继续探讨Kali Linux的应用,这次的重点是介绍Kali Linux中常用的渗透测试工具。Kali Linux作为一款专业的渗透测试发行版,拥有丰富的工具集,能够帮助安全专家和渗透测试人员检测和评估系统的安全性。 1. 常用的渗透测试工具 以下是…

开源数据库Mysql_DBA运维实战 (修改root密码)

MySQL——修改root密码的4种方法 本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set pass…

半导体退火那些事(3)

4.半导体退火设备 双腔全自动兼容6-8寸快速退火炉RTP 产地:中国 型号: S803 特点: 室温到1250C,应用于SiC,GaN等第三代半导体领域 简介 (Description) S803系列自动快速退火炉,内置Robot可以自动取放片,适用于最大8英寸 (单片200m…

【Leetcode】101.对称二叉树

一、题目 1、题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例1: 输入:root = [1,2,2,3,4,4,3] 输出:true示例2: 输入:root = [1,2,2,null,3,null,3] 输出:false提示: 树中节点数目在范围 [1, 1000] 内-100 <= Node.val <= 100进阶:你可以…

Spring系列篇--关于IOC【控制反转】的详解

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Spring的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.什么是Spring 二.Spring的特点 三.什…