一、什么是HAWQ?
HAWQ是Hadoop原生SQL查询引擎,针对分析性的应用。它具有大规模并行处理很多传统数据库以及其他数据库没有的特性及功能,结合了MMP数据库的关键技术优势和Hadoop的可扩展性和便利性。读写依赖于HDFS。
注:Hadoop是一种分布式文件系统,适用于大规模数据集的应用,具有高容错性。简称HDFS。
二、特性
- 丰富且兼容的ANSI SQL标准并且支持SQL 92、99、2003 OLAP以及基于Hadoop的PostgreSQL
- 用户自定义函数支持多种语言:Python、Java、C/C++,R
- 支持多种压缩方法:snappy,gzip,quicklz,RLE等
注:特性太多,很多还不理解,详见别的文章。
三、架构
Hadoop有许多元素组成。
-
NameNode
它负责管理文件系统名称空间和控制外部客户机的访问。①接收客户端的读写请求
②接收DataNode的心跳报告
③分配数据块的存储节点
④存储元数据信息注:系统表(元数据)存在 master本地,用户数据存在HDFS。系统入口,终端用户通过master与 HAWQ交互。负责接收客户端连接并处理 SQL命令
-
DataNode
它响应来自 HDFS 客户机的读写请求,还响应来自 NameNode 的创建、删除和复制块的命令。
①真正处理客户端的读写请求
②真正的数据存储
③向NameNo