大数据Hologres(一):Hologres 简单介绍

文章目录

Hologres 简单介绍

一、什么是实时数仓 Hologres

二、产品优势

1、专注实时场景

2、亚秒级交互式分析

3、统一数据服务出口

4、开放生态

5、MaxCompute查询加速

6、计算存储分离架构

三、应用场景

搭建实时数仓

四、产品架构

1、Shared Disk/Storage (共享存储)

2、Shared Nothing

3、Storage Disaggregation(存储计算分离架构) 

4、存储计算分离的架构存在以下优势

五、架构组件介绍

六、执行引擎

1、优势

1.1、分布式执行

1.2、全异步执行

1.3、向量化和列处理

1.4、自适应增量处理

1.5、特定查询深度优化

2、Query执行过程


Hologres 简单介绍

近年来,随着大数据平台、数据仓库实时化、在线化的诉求加剧,催生了一系列的实时数仓架构,Lambda 架构是其中主流,但是随着场景的复杂度和业务多维需求,Lambda 架构的痛点也越来越明显,数据状态存储多不一致,数据同步作业多调度难,数据质量修正周期长等问题严重限制了开发的效率。

一、什么是实时数仓 Hologres

Hologres是阿里巴巴自主研发的一站式实时数仓引擎(Real-Time Data Warehouse),支持海量数据实时写入、实时更新、实时加工、实时分析,支持标准SQL(兼容PostgreSQL协议和语法,支持大部分PostgreSQL函数),支持PB级数据多维分析(OLAP)与即席分析(Ad Hoc),支持高并发低延迟的在线数据服务(Serving),支持多种负载的细粒度隔离与企业级安全能力,与MaxCompute、Flink、DataWorks深度融合,提供企业级离在线一体化全栈数仓解决方案。 

Hologres致力于高性能、高可靠、低成本、可扩展的实时数仓引擎研发,为用户提供海量数据的实时数据仓库解决方案和亚秒级交互式查询服务,广泛应用在实时数据中台建设、精细化分析、自助式分析、营销画像、人群圈选、实时风控等场景。 

二、产品优势

1、专注实时场景

数据实时写入、实时更新,无需批处理,写入即可见。Hologres与Flink、Spark原生集成,支持高吞吐、低延时、有模型、高质量的实时数仓开发,满足业务洞察实时性需求。

2、亚秒级交互式分析

Hologres支持海量数据亚秒级交互式分析,无需预计算,支持多维分析、即席分析、探索式分析、MaxCompute加速分析,满足所见即所得式数据分析。Hologres采用向量化计算和智能索引优化技术,性能和并发能力大幅提升。

3、统一数据服务出口

一个引擎支持多维分析、高性能点查、数据检索等多样化的场景,同时支持负载隔离,简化数据架构,统一数据访问接口与安全策略。

4、开放生态

标准SQL接口,兼容PostgreSQL 11协议,无缝对接主流BI和SQL开发框架,支持19+款主流BI工具,无需应用重写,无额外学习成本。支持数据湖场景,支持JSON等半结构化数据,OSS、DLF简易入湖入仓。

5、MaxCompute查询加速

快速查询分析MaxCompute的数据,Hologres与MaxCompute无缝连接,您无需导入导出即可查询MaxCompute表的数据,快速获取查询结果。支持MaxCompute对接BI工具,支持交互式分析场景。

6、计算存储分离架构

采用计算与存储分离的云原生架构,存储资源和计算资源分离部署并独立扩展。支持动态升降配,您可以根据业务需求灵活地扩容或缩容Hologres资源。资源越多,查询的并发数量越大。

三、应用场景

搭建实时数仓

  • 数据部门搭建阿里云实时数仓产品、展示实时大屏和分析实时Reporting 报表。
  • 运维和数据应用部门执行实时监控、实时异常检测预警与实时调试。
  • 业务部门进行实时风控、实时推荐、实时效果分析和实时训练。

 

  • 实时查询MaxCompute离线数据。
  • 分析MaxCompute离线数据报表。
  • 输出MaxCompute离线数据的在线应用,例如RESTful API的使用。

 

业务数据分为冷数据和热数据,冷数据存储在离线数据仓库MaxCompute中,热数据存储在Hologres中。Hologres可以联邦分析实时数据和离线数据,对接BI分析工具,快速响应简单查询与复杂查询的业务需求。 

四、产品架构

1、Shared Disk/Storage (共享存储)

  • 数据部门搭建阿里云实时数仓产品、展示实时大屏和分析实时Reporting 报表。
  • 运维和数据应用部门执行实时监控、实时异常检测预警与实时调试。
  • 业务部门进行实时风控、实时推荐、实时效果分析和实时训练。

 

2、Shared Nothing

每个计算节点自己挂载存储,一个节点只能处理一个分片的数据,节点之间可以通信,最终有一个汇总节点对数据进行汇总。这种架构能比较方便的扩展,但是它的缺点是节点Failover需要等待数据加载完成之后才能提供服务;并且存储和计算需要同时扩容,不够灵活,扩容后,有漫长的数据Rebalance过程。

3、Storage Disaggregation(存储计算分离架构) 

存储和Shared Storage类似,有一个分布式的共享存储集群,计算层处理数据的模式和Shared Nothing类似,数据是分片的,每个Shard只处理自己所在分片的数据,每个计算节点还可以有本地缓存。

 

4、存储计算分离的架构存在以下优势

4.1、一致性问题处理简单

计算层只需要保证同一时刻有一个计算节点写入同一分片的数据。

4.2、扩展更灵活

计算和存储可以分开扩展,计算不够扩计算节点,存储不够扩存储节点。这样在大促等场景上会非常灵活。计算资源不够了,马上扩容计算就好了,不需要像Shared Nothing那样做耗时耗力的数据Rebalance;也不会像Shared Nothing那样,出现单机的存储容量瓶颈。

4.3、计算节点故障恢复快

计算节点发生Failover之后,数据可以按需从分布式的共享存储异步拉取。因此Failover的速度非常快。

五、架构组件介绍

六、执行引擎

1、优势

1.1、分布式执行

执行引擎是一个和存储计算分离架构配合的分布式执行模型。执行计划由异步算子组成的执行图DAG(有向无环图)表示,可以表达各种复杂查询,并且完美适配Hologres的数据存储模型,方便对接查询优化器,利用各种查询优化技术。

1.2、全异步执行

端到端的全异步处理框架,可以避免高并发系统的瓶颈,充分利用资源,并且最大可能地避免存储计算分离系统带来的读数据延迟的影响。

1.3、向量化和列处理

算子内部处理数据时最大可能地使用向量化执行,与存储引擎深度集成,通过灵活的执行模型,充分利用各种索引,最大化地延迟向量物化和延迟计算,避免不必要的读数据和计算。

1.4、自适应增量处理

对常见实时数据应用查询模式进行自适应增量处理。

1.5、特定查询深度优化

对一些特定查询模式的独特优化。

2、Query执行过程

 


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

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

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

相关文章

Leetcode 3296. Minimum Number of Seconds to Make Mountain Height Zero

Leetcode 3296. Minimum Number of Seconds to Make Mountain Height Zero 1. 解题思路2. 代码实现 题目链接:3296. Minimum Number of Seconds to Make Mountain Height Zero 1. 解题思路 这一题的思路的话我们采用的是一个二分法的思路,找到一个最大…

ER 图 Entity-Relationship (ER) diagram 101 电子商城 数据库设计

起因, 目的: 客户需求, 就是要设计一个数据库。 过程, 关于工具: UI 设计,我最喜欢的工具其实是 Canva, 但是 Canva 没有合适的模板。我用的是 draw.io, 使用感受是,很垃圾。 各种快捷键不适应,箭头就是点不住&…

OpenCV4.8 开发实战系列专栏之 01- 环境搭建与图像读写

大家好,欢迎大家学习OpenCV4.8 开发实战专栏,长期更新,不断分享源码。 专栏代码全部基于C 与Python双语演示,专栏答疑群 请联系微信 OpenCVXueTang_Asst 本文关键知识点: 开发环境搭建、读取图像与显示图像,读取图像…

python/爬虫技术/lxml工具介绍/XML和HTML解析

1.lxml介绍: lxml 是一个Python库,它提供了非常强大的XML和HTML解析功能。它基于libxml2和libxslt,是处理XML和HTML文档的首选库之一。 2.安装 首先,需要安装lxml库。可以通过pip来安装,在控制台内执行安装命令。 p…

【笔记篇】一篇文章搞定Spring框架

文章目录 前言一、Spring框架的优势 二、 Spring的使用流程Spring的依赖注入bean后处理器容器后处理器FileSystemResource类Spring的AOP机制AOP基础知识AOP应用案例Spring的事务管理事务控制参数事务的隔离级别 总结 前言 学习完了Spring框架,总结回顾一下。 一、…

使用vite+react+ts+Ant Design开发后台管理项目(三)

前言 本文将引导开发者从零基础开始,运用vite、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈,构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导,文章旨在为开发者揭示如何利用这些技术…

(16)docker自动镜像打包脚本

注: 1.将写好的Dockerfile文件、脚本、前端包或后端包放在同一目录下; 2.基础镜像提前导入; ----------------------------------- #!/bin/bash # 定义脚本参数和变量 IMAGE_NAME"lisp-bpms-web" # 替换为实际的镜像名称 DOC…

vue3<script setup>中computed

在 Vue 3 中&#xff0c;<script setup> 语法糖是 Composition API 的一种简化写法&#xff0c;它允许你更简洁地编写组件逻辑。在 <script setup> 中使用 computed 与在普通 <script> 标签中使用 Composition API 的方式类似&#xff0c;但通常我们会借助 i…

工程师 - Windows下打开PowerShell和CMD Prompt的若干方法

打开PowerShell 在Windows中&#xff0c;你可以通过以下几种方式来打开PowerShell&#xff1a; 1. 开始菜单&#xff08;Start Menu&#xff09;&#xff1a;点击“开始”按钮&#xff0c;然后在搜索栏中输入“PowerShell”。在搜索结果中&#xff0c;选择“Windows PowerShell…

算法题集锦go、java

1.两数之和 func twoSum(nums []int, target int) []int {hashTable : map[int]int{}for i,x : range(nums){if p,ok : hashTable[target-x];ok{return []int{p,i}}hashTable[x]i}return nil }class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer,I…

select 函数简介

原型 #include <sys/select.h> #include <sys/time.h> #include <unistd.h> int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 作用 select 函数是 UNIX 和类 UNIX 系统&#xff08;如 Linux&am…

夹耳式蓝牙耳机哪个牌子最好?夹耳式耳机推荐性价比排行榜

耳夹式耳机既不堵耳孔、也不需要包覆耳廓&#xff0c;佩戴时看起来更像是一个“耳环”&#xff0c;固定方式也类似“夹耳朵”。不过&#xff0c;它并不是真的夹住了耳朵肉&#xff0c;而是半夹、半挂——依靠耳廓边缘厚、里面薄&#xff0c;且有一定的弯折面的特殊构造&#xf…

网络层协议 —— IP协议

目录 0.前言 1.IP协议的格式 2.IP地址 2.1IP地址的划分 国际间IP地址的划分 公有IP 私有IP 特殊的IP地址 国内IP地址的划分 2.2IP地址不足问题 2.3IP地址的功能 2.4如何使用IP地址 2.5IP地址的构成 3.网段划分 以前的方案 现在的方案 4.认识宏观网络 5.路由 …

Springboot——自定义分布式锁注解实现带SPEL表达式的分布式锁解析

文章目录 前言代码实现依赖引入自定义分布式锁注解aop切面切点处理逻辑 自定义锁注解的使用不使用el表达式解析使用EL表达式解析 前言 在分布式锁的实现中&#xff0c;通常会使用Redisson实现。但每次使用都会写下面的这种逻辑。 RLock rLock null; try {rLock redissonCli…

边缘智能-大模型架构初探

R2Cloud接口 机器人注册 请求和应答 注册是一个简单的 HTTP 接口&#xff0c;根据机器人/用户信息注册&#xff0c;创建一个新机器人。 请求 URL URLhttp://ip/robot/regTypePOSTHTTP Version1.1Content-Typeapplication/json 请求参数 Param含义Rule是否必须缺省roboti…

[vulnhub] Hackademic.RTB1

第一次打靶机&#xff0c;思路看的红队笔记 https://www.vulnhub.com/entry/hackademic-rtb1,17/ 环境&#xff1a;kali Linux - 192.168.75.131&#xff0c;靶机 - 192.168.75.132 主机发现和端口扫描 扫描整个网络有哪台机子在线&#xff0c;不进行端口扫描 nmap -sP 192.16…

[leetcode]64_最小路径和

给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步示例 1&#xff1a; 1 3 1 1 5 1 4 2 1 输入&#xff1a;grid [[1,3,1],[1,5,1],[4,2,1]] 输出…

使用 MyBatis 进行批量更新

引言 在企业级应用中&#xff0c;批量操作数据库是非常常见的需求。MyBatis 是一个优秀的持久层框架&#xff0c;它提供了灵活的方式来执行批量更新操作。本文将详细介绍如何使用 MyBatis 的 XML 配置进行批量更新。 环境准备 1. 添加依赖 首先&#xff0c;在 pom.xml 文件…

竹云赋能“中国·贵州”全省统一移动应用平台建设,打造政务服务“新引擎”

近日&#xff0c;2024中国国际大数据产业博览会在贵州贵阳圆满落幕。会上&#xff0c;由贵州省政府办公厅牵头建设的“中国贵州”全省统一移动应用平台正式发布&#xff0c;聚焦民生办事、政务公开、政民互动、扁平高效、数据赋能五大模块&#xff0c;旨在打造公平普惠的服务平…

建造者模式__c#

目录 调用 指挥者 抽象建造者 建造者 定义具体产品 调用 用指挥者指挥建造者建造产品 在指挥者这里组装成产品 namespace _建造者模式 {internal class Program{static void Main(string[] args){Builder buildernew JiangHuaiBuilder();//建造者Director director new…