开源数据库HAWQ,架构调研

article/2025/9/18 12:37:31

hawq的简介

https://cloud.tencent.com/developer/article/1433137

HAWQ,全称Hadoop With Query(带查询Hadoop)。HAWQ使企业能够获益于经过锤炼的基于MPP的分析功能及其查询性能,同时利用Hadoop堆栈。HAWQ是一个Hadoop原生大规模并行SQL分析引擎,针对的是分析性应用。和其他关系型数据库类似,接受SQL,返回结果集。但它具有大规模并行处理很多传统数据库以及其他数据库没有的特性及功能。

hawq的语法兼容性

HAWQ是100%符合ANSI SQL规范并且支持SQL 92、99、2003 OLAP以及基于Hadoop的PostgreSQL。它包含关联子查询、窗口函数、汇总与数据库、广泛的标量函数与聚合函数的功能。用户可通过ODBC和JDBC连接HAWQ。

hawq是否支持复杂查询

TPC-DS针对具有各种操作要求和复杂性的查询定义了99个模板(例如,点对点、报告、迭代、OLAP、数据挖掘等)。

基准测试是通过TPC-DS中的99个模板生成的111个查询来执行的。依据符合两个要求受支持的查询个数,以下条形图显示了一些基于SQL on Hadoop常见系统的合规等级:1. 每个系统可以优化的查询个数(如,返回查询计划)以及 2. 可以完成执行并返回查询结果的查询个数。

 

HAWQ的扩展性的SQL支持能力是基于数据仓库的代码库,HAWQ成功完成了全部111个查询。

hawq具有高效的查询优化器

HAWQ吸收了最先进的基于代价的SQL查询优化器,在SQL on Hadoop领域是行业先锋。该查询优化器以针对大数据模块化查询优化器架构中的研究结果为基础而设计。

HAWQ已经过验证,能够快速为涉及超过50个关联表的高要求查询找到理想查询计划,从而成为业内最佳的SQL on Hadoop数据发现与查询引擎。

hawq利用了线性可扩展性,加速Hadoop查询

SQL on Hadoop的主要设计目标是在Hadoop上执行SQL连接时最大程度地降低数据传输的开销。HAWQ采用Dynamic pipelining来解决这一关键要求,使基于HDFS的数据适用于交互式查询。

大数据模块化查询优化器架构中突出的性能分析显示,对于基于Hadoop的分析与数据仓储工作负载,HAWQ要比现有Hadoop查询引擎快一或两个数量级。这些性能改进主要归功于Dynamic pipelining和HAWQ内基于成本的查询优化器的强大功能。这使HAWQ能够帮助企业以显著降低的成本摆脱企业数据仓库工作负载。

一体化深度分析与机器学习功能

HAWQ利用可扩展数据库内分析的开源库MADLib来提供数据分析功能

数据联合能力

HAWQ通过名为Pivotal eXtension Framework(PXF)的模块提供数据联合功能。除了常见的数据联合功能外,PXF还利用SQL on Hadoop提供其它具有行业特色的能力:任意大数据集低延迟,可扩展且可自定义,高效

高可用性和容错能力

HAWQ的容错性、可靠性和高可用性三个特点能容忍磁盘级与节点级故障。HAWQ支持各种事务,是SQL on Hadoop方案的首选。

原生Hadoop文件格式支持

HAWQ在Hadoop中支持AVRO、Parquet和本地HDFS文件格式。这在最大程度上减少了数据摄取期间对ETL的需求,并且利用HAWQ实现了 schema-on-read(读时模式)类处理。对ETL和数据移动需求的减少直接有助于降低分析解决方案的拥有成本。

通过Apache Ambari进行原生的Hadoop管理

HAWQ使用Apache Ambari作为管理和配置的基础,合适的Ambari插件可以使得HAWQ像其他的通用Hadoop服务一样被Ambari来管理,所以IT管理团队不再需要两套管理界面,一套管理Hadoop,一套管理HAWQ。

Hortonworks Hadoop兼容

为了更进一步的跟进开放数据联盟ODP的步伐,HAWQ可以与Hortonworks HDP大数据体系无缝兼容,使得企业在已经投资的Hortonworks 大数据平台上感受到业界最先进的SQL on Hadoop方案带来的所有好处,HAWQ也同时支持Pivotal自己的Hadoop发行版Pivotal HD。

HAWQ的其它主要特性

  • 弹性执行引擎:可以根据查询大小来决定执行查询使用的节点及Segment个数。
  • 支持多种分区方法及多级分区:比如List分区和Range分区。分区表对性能有很大帮助,比如你只想访问最近一个月的数据,查询只需要扫描最近一个月数据所在分区。
  • 支持多种压缩方法:snappy,gzip,quicklz,RLE等。
  • 动态扩容:动态按需扩容,按照存储大小或者计算需求,秒级添加节点。
  • 多级资源或负载管理:和外部资源管理器YARN集成;可以管理CPU,Memory资源等;支持多级资源队列;方便的DDL管理接口。
  • 完善的安全及权限管理:kerberos;数据库,表等各个级别的授权管理。
  • 支持多种第三方工具:比如Tableau,SAS,较新的Apache Zeppelin等。
  • 支持对HDFS和YARN的快速访问库:libhdfs3和libyarn(其他项目也可以使用)。
  • 支持在本地、虚拟化环境或者在云端部署。

 

hawq的基本架构

https://cloud.tencent.com/developer/article/1011684

在一个典型的HAWQ部署中,每个slave节点上会安装有一个HAWQ物理段,一个HDFS的DataNode和一个NodeManager。而HAWQ、HDFS和YARN的主机则安装在(与slave)分离的节点上。

下图提供了一个HAWQ典型部署的高级别架构视图。

HAWQ与Hadoop的资源管理框架YARN紧密结合,为查询提供资源管理。HAWQ在一个资源池中缓存YARN容器,然后利用HAWQ自身的细粒度资源管理,为用户或组在本地管理这些资源。当执行一个查询时,HAWQ根据查询成本、资源队列定义、数据局部化和当前系统中的资源使用情况,为查询分配一组虚拟段。之后查询被分发到相应的物理主机,可能是节点子集或整个集群。每个HAWQ节点上的资源实施器监控着查询对资源的实时使用情况,避免违规的资源使用。

下图提供了构成HAWQ软件组件的另一个视图。

 

1. HAWQ主节点

        HAWQ主节点是系统的入口点,有一个接受客户端连接,并处理SQL命令的数据库进程。HAWQ主节点解析查询,优化查询,向段分发查询,并协调查询执行。

        最终用户通过主节点与HAWQ交互。可以使用如psql的客户端程序,或者类似JDBC、ODBC的应用程序接口(APIs)连接到数据库。

        “全局系统目录”是一组系统表的集合,包含HAWQ系统自身的元数据,存储在主节点中。主节点本身不含任何用户数据,数据只存储在HDFS上。主节点对客户端连接请求进行鉴权,处理输入的SQL命令,在段间分发任务,协调每个段返回的结果,向客户端程序输出最终结果。

2. HAWQ段

        在HAWQ中,段是并行数据处理单元。

        每个主机上只有一个物理段,每个段可以为一个查询片段启动多个查询执行器(Query Executors ,QEs)。这使得单一的物理段表现得像多个虚拟段,从而使HAWQ能够更好地利用所有可用资源。一个虚拟段就像是QE的一个容器。每个虚拟段含有为查询片段启动的一个QE。虚拟段的数量被用于确定一个查询的并行度(degree of parallelism,DOP)。

        主节点将SQL请求连同相关的元数据信息分发给段进行处理。元数据中包含所请求表的HDFS url地址,段使用该URL访问相应的数据。

3. HAWQ互联

        “互联”是HAWQ的网络层。当一个用户连接到数据库并发出了一个查询,每个处理查询的段上会创建多个进程。“互联”指的是段之间的进程间通信,以及通信所依赖的底层网络架构。互联使用标准的以太网交换结构。

        缺省情况下,互联使用UDP(User Datagram Protocol)在网络间传输消息。HAWQ软件在UDP的功能之上执行附加的包验证。这就意味着(HAWQ的网络传输)可靠性相当于TCP(Transmission Control Protocol),而在性能和可扩展性上却优于TCP。如果使用TCP互联,HAWQ有一个1000个段实例的扩展上限,而UDP作为当前互联使用的缺省协议,则没有这个限制。

4. HAWQ资源管理器

        HAWQ资源管理器从YARN获取资源,并响应资源请求。资源被HAWQ资源管理器缓存,以支持低延时查询。HAWQ资源管理器也能够以独立模式运行。在这种部署中,HAWQ自己管理资源而不需要YARN。

5. HAWQ目录服务

        HAWQ目录服务存储全部元数据,例如UDF/UDT信息,表信息,安全信息和数据文件位置信息等。

6. HAWQ容错服务

        HAWQ容错服务(FTS)负责接收从segment发来的心跳信息,并负责检测段是否失效。

7. HAWQ分发器

        HAWQ分发器将查询计划分发到选择的段的子集上,并协调查询的执行。分发器和资源管理器是HAWQ的主要组件,分发器负责查询的动态调度。资源管理器负责执行查询资源需求。

 

hawq性能

https://www.codercto.com/a/100426.html

  • HAWQ环境

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

  • 测试数据

数据存放路径:/data1~12/iplog,一个盘20G,6台 服务器 每台都是240G,一共1440GB;每台服务器12个盘装载4个分区(小时)数据,每个盘装载4个分区的1/12的数据,4个文件,每个文件大小5G,2500w条记录,一条记录200Byte。

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

  • 测试SQL

测试挑选4个实际典型SQL,大致如下:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

测试明细:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

结果图形展示:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

  • 行式存储查询性能:

测试明细:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

结果图形展示:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

  • 列式存储与压缩:

测试明细:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

结果图形展示:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

  • 列式存储查询性能:

测试明细:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

结果图形展示:

百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)

 

https://blog.csdn.net/wzy0623/article/details/71544580

HAWQ提供的TPC-DS性能比较图,可以看到HAWQ平均比Impala快4.55倍。

HAWQ与Hive查询性能对比图。对于不同查询,HAWQ比Hive快4-50倍。


http://chatgpt.dhexx.cn/article/Jj4buYx7.shtml

相关文章

apache hawq

为什么80%的码农都做不了架构师?>>> 资料地址: 导航页 What is HAWQ? HAWQ Architecture How HAWQ Manages Resources Understanding the Fault Tolerance Service Table Distribution and Storage Choosing the Table Distribution Pol…

HAWQ技术解析(一) —— HAWQ简介

一、SQL on Hadoop 过去五年里,许多企业已慢慢开始接受Hadoop生态系统,将它用作其大数据分析堆栈的核心组件。尽管Hadoop生态系统的MapReduce组件是一个强大的典范,但随着时间的推移,MapReduce自身并不是连接存储在Hadoop生态系统…

《HAWQ-V3: Dyadic Neural Network Quantization》论文阅读

HAWQ-V3阅读笔记 Abstract 混合精度量化,integer-only, Methodology 只采用均匀量化 权重对称量化,激活非对称量化,对量化步长S采用静态量化,采用per-channel的量化方式 3.1量化矩阵的乘法与卷积(核心…

HAWQ手动安装

HAWQ手动安装及使用手册 1 HAWQ简介 HAWQ 是 Pivotal 设计的一个大规模并行 SQL 分析处理引擎,支持事务处理。HAWQ 将复杂的查询分割成简单的任何,并分发到并行处理系统中的处理单元执行。包括查询规划器、动态管道、前沿互联和查询执行优化器等等。提…

HAWQ上安装PXF插件,并访问HDFS文件数据

1、说明 HAWQ在github上的地址为:https://github.com/apache/hawq 在安装pxf插件之前,可以先查看一下基础软件对应的版本信息:在hawq目录下的pxf/gradle.properties文件中 因我在安装pxf之前,已经把hadoop及hawq安装完&#xff…

HAWQ技术解析(五) —— 连接管理

服务器启动后,还要经过一系列配置,才能被客户端程序所连接。本篇说明如何配置客户端身份认证,HAWQ的权限管理机制,HAWQ最常用的命令行客户端工具psql及与mysql命令行常用命令类比,最后还将列举一些客户端连接HAWQ数据库…

HAWQ-V3: Dyadic Neural Network Quantization论文学习

论文链接 https://arxiv.org/abs/2011.10680 摘要 目前的低精度量化算法往往具有从浮点值到量化整数值的来回转换的隐藏代价。这种隐藏的成本限制了通过量化神经网络所实现的延迟改进。为了解决这个问题,我们提出了HAWQ-V3,一个新的混合精度纯整数量化框…

HAWQ取代传统数仓实践(一)——为什么选择HAWQ

一、HAWQ取代传统数仓实践(一)——为什么选择HAWQ 为了跟上所谓“大数据”技术的脚步,从两年前开始着手实践各种SQL-on-Hadoop技术,从最初的Hive,到SparkSQL,再到Impala,进行了一系列ETL、CDC、…

在centos 7.3上进行Apache HAWQ集群安装部署

一、前期准备工作 1、准备三台物理机,master(192.168.251.8),dataserver1(192.168.251.9),dataserver2(192.168.251.10); 2、目前最新版本是2.4.0, 官网下载地址&…

HAWQ

为了跟上所谓“大数据”技术的脚步,从两年前开始着手实践各种SQL-on-Hadoop技术,从最初的Hive,到SparkSQL,再到Impala,进行了一系列ETL、CDC、多维数据仓库、OLAP的实验。作为一名从业20年以上的DBA,从数据…

HAWQ技术解析(三) —— 基本架构

HAWQ是一个Hadoop原生的SQL查询引擎,它结合了MPP数据库的关键技术和Hadoop的可扩展性。HAWQ在原生的HDFS上读写数据,MPP架构使HAWQ表现出超越其它SQL on Hadoop解决方案的查询性能,Hadoop又为HAWQ提供了传统数据库所不具备的线性扩展能力。 一…

HAWQ技术解析(十三) —— 资源管理

一、HAWQ如何管理资源 HAWQ使用多种机制管理CPU、内存、I/O、文件句柄等系统资源,包括全局资源管理、资源队列、强制资源使用限额等。 1. 全局资源管理 Hadoop通常使用YARN全局管理资源。YARN是一个通用的资源管理框架,为MapReduce作业或其…

HAWQ个人学习笔记(一)——HAWQ介绍

一、什么是HAWQ? HAWQ是Hadoop原生SQL查询引擎,针对分析性的应用。它具有大规模并行处理很多传统数据库以及其他数据库没有的特性及功能,结合了MMP数据库的关键技术优势和Hadoop的可扩展性和便利性。读写依赖于HDFS。 注:Hadoop…

全面讲解光纤、光模块、光纤交换机、光模块组网设计与案例

光纤组网已是当今建筑智能化弱电行业里一种常见的组网方式,组建远距离无线、监控网络时,往往需要使用光纤进行连接通信,使用光纤收发器是经济适用型做法,尤其是在室外的使用。其实光纤收发器不仅可以成对使用,还可以配…

400G光模块的相关知识

现在的高速光模块市场慢慢从100G向400G转移,未来400G必定是主流的高速光模块,目前这个阶段占领主流的还是100G,之前100G的相关知识已经讲述过了,400G与100G的传输速率由各种因素导致,我们讲讲400G与100G的信号传输。 4…

QSFP28-100G-LR4光模块有什么特点及优势?

100G以太网的迅速发展给100G光模块带来了巨大的市场需求,在众多100G光模块中,QSFP28光模块以其较小的尺寸和低功耗的特点成为最受欢迎的光模块。下面易天光通信(ETU-LINK)将从定义,工作原理,应用场景和常见…

DWDM光模块和CWDM光模块的区别

DWDM光模块和CWDM光模块的区别 近年来波分复用(WDM)技术受到网络用户的热烈欢迎,这是一种在单根光纤上复用不同波长激光的多个光载波信号的技术。下文将由亿创飞宇光通信重点介绍CWDM SFP光模块和DWDM SFP光模块。 DWDM光模块是什么?DWDM光模块有哪些主要优势? DWDM光模…

SC接口光模块相关知识

什么是SC接口光模块? SC接口光模块即接口类型为SC的光模块,必须搭配SC接口的跳线才能正常使用。SC光模块的接口的紧固方式是采用插拔销闩式,不须旋转,使用很方便。 SC光模块的分类 SC光模块相比LC光模块和MPO光模块…

全面解析光模块的应用场景

光模块主要应用于数据通信领域,它的功能是实现光电信号的相互转化。因为大数据、区块链、云计算、物联网、人工智能、5G的兴起,使得数据流量迅猛增长,数据中心以及移动通信的光互连成为了光通信行业的研究热点。接下来,易天光通信…

单波100G光模块与4路100G光模块相比,优势有哪些?

目前市场上大多数的100G光模块都是采用4路25Gb/s并行或者波分复用进行传输的,比如100G SR4、100G PSM4、100G LR4、100G CWDM4光模块等,为了降低成本以及更好的传输效率,业界提出了100G single-lambda规范,这个规范是指使用PAM4光…