HAWQ适应场景总结
来源:互联网 发布:非诚勿扰程序员专场 编辑:程序博客网 时间:2024/06/14 23:10
个人研究了近半个月的hawq,也做个模拟测试,推荐学习资料链接(比较完整):http://blog.csdn.net/wzy0623
大概从一到十八篇文章,这是第一篇:http://blog.csdn.net/wzy0623/article/details/55047696
最后总结如下:
1、OLAP(联机分析处理(On-Line Analytical Processing)领域,请选择HAWQ
原因:HAWQ和Hive及Impala性能相比,标准化TPCDS性能测试要快数倍。而且Hive和Impala支持SQL标准有限,很多TPCDS查询执行不了。
(注明:a、HAWQ官网宣传的TPCDS性能测试比较图,平均比Hive快4-50倍,比Impala快4.55倍,因未列出软硬件环境、数据模型和数据量,个人觉得这点真实性有待验证,觉得可能是某些sql查询上比Impala有优势,并非全部。
b、在99 个标准的TPC-DS queries测试中,Impala能完成62个,Hive完成60个,HAWQ能全部完成)
2、OLTP(联机事务处理(on-line transaction processing))领域,官网团队不推荐使用。
原因:hawq是针对OLAP进行优化的,是一个偏分析型的数据库,本质上更像一个query engine。此领域个人推荐TiDB,是一个可以用来做 OLTP的分布式关系型数据库,擅长海量并发的查询和事务写入(毫秒级别)
3、如有整合外部数据需求,推荐使用HAWQ(PXF模块)
原因:能提供了访问HDFS上的Json文件、Hive、HBase外部数据的能力
4、如有过程语言编程需求(特别是习惯了编写存储过程的DBA人员),推荐使用HAWQ
原因:HAWQ是使用过的SQL-on-Hadoop解决方案中唯一支持过程化编程的(编写UDF的语言可以是SQL、C、Java、Perl、Python、R和pgSQL),Hive、SparkSQL、Impala都没有此功能。
5、 用HAWQ构建数据仓库比传统数仓有什么优势?
答复:
a、ETL:数据经过抽取、转换和装载(ETL)过程进入数据仓库系统,而HAWQ可以直接Register表当原生的内部表使用,省去了数据ETL的工作。HAWQ在Hadoop中支持AVRO、Parquet和本地HDFS文件格式。这在最大程度上减少了数据摄取期间对ETL的需求。
b、深度分析:以SQL需要的统计分析,因为它100%符合ANSI SQL规范,支持包含关联子查询、窗口函数、汇总与数据库、广泛的标量函数与聚合函数的功能。
c、机器学习:(支持开源MADLib机器学习库,如数据挖掘中的常用的矩阵、向量、聚类、回归、决策树等)
6、有关集群规模和数据性能
答复:官网用来测试的数据规模:30T,20个节点进行测试的;
1、线性可扩展:Hawq 2.0系统能够支持的并发查询数量,跟集群的计算节点数量呈线性关系:计算节点越多,系统能够支持的并发查询数量越多。为PB级SQL on Hadoop操作专门设计。
2、可弹性执行查询引擎和动态按需扩容。
使用tcp协议则hawq不能超过1000个segment节点,默认使用udp协议无此限制;能够快速为涉及超过50个关联表的高要求查询找到理想查询计划,可秒级添加节点。
7、比其他类似产品还有哪些主要特性?
答复:个人用到觉得可能重要的特性:
a、支持分区和多级分区;。分区表对性能有很大帮助,比如你只想访问最近一个月的数据,查询只需要扫描最近一个月数据所在分区。
b、支持多种压缩方法:snappy,gzip,quicklz,RLE等。
c、资源管理可以与外部资源管理器YARN集成;
- HAWQ适应场景总结
- epoll的适应场景
- Node.js 适应场景
- Redis BitMap适应场景
- CoreOS的适应场景介绍
- 适应赛总结
- 几个常用算法的适应场景及其优缺点(非常好)
- 几个常用算法的适应场景及其优缺点
- hawq入门
- iOS View适应固定文字大小总结
- bootstrap适应多种设备的总结
- [置顶] sfw 案例总结 の 适应
- Swift场景过渡总结
- git 使用场景总结
- 信号量应用场景总结
- Git使用场景总结
- Retrofit使用场景总结
- hadoop应用场景总结
- lambda
- Android之Sqlite升级
- 有关Tomcat 8.0版本文件上传后无权限访问的问题
- 运行.exe,并自动关闭.exe
- Android开发者e周报 第4期
- HAWQ适应场景总结
- <java>基本数据类型
- 使用awk 统计分析游戏后台日志中的数据
- 用两个栈来实现队列
- Binding
- ORA-00923: FROM keyword not found where expected
- 第一个helloworld内核模块
- 【Kafka】Producer配置
- 经验分享 | 在将容器扩大化应用于生产环境中_你都遭遇了哪些困境?