zoukankan      html  css  js  c++  java
  • Hawq架构

    Hawq采用分层架构,将MPP shared-nothing的计算层架在HDFS之上。 

    Hawq集群中有三种角色:master, namenode和segment hosts。

    1、Master负责认证、授权、从查询解析、分析、优化到生成计划,启动并分发计划,并收集执行状态和结果。

    2、segment host包含一个hdfs datanode和多个segment以更好地利用多核架构,datanode和segment放在一起可以更好地利用数据本地性。一个datanode对应多个segment,segment通过libhdfs3来访问hdfs,libhdfs3是一个c++的hdfs client。对于segment,每个segment在hdfs上对应一个单独的目录,在负责读写分配给它的数据时,就是读写该目录下的文件。

    Hawq支持两种分配方式:hash和random。hash distribution将某个指定的列进行hash来分配数据。对于hash数据分配方式,相同key的数据都由同一个segment负责读取,而不需要再做shuffle或redistribute,既提升性能又节省网络带宽。

    Hawq支持事务,对于catalog数据, 使用write ahead log(WAL)和mvcc多版本并发控制。

    • A massively parallel processing SQL engine
    • Inherits merits from MPP database and HDFS
    • Stateless segment design supported by metadata dispatch and self-described execution plan
    • UDP based interconnect to overcome TCP limitations
    • Transaction management supported by a swimming lane model and truncate operation in HDFS
    • Significant performance advantage over Stinger

  • 相关阅读:
    快速排序和归并排序的迭代实现
    Longest Increasing Subsequence Review
    IOCCC 1987 最佳单行代码解读
    C++类的成员函数对应的链接器符号的解析
    Scalable Global ID Generator Design
    欧拉回路 (Euler Circuit) POJ 1780
    深入理解函数内静态局部变量初始化
    memcached 线程模型
    类的加载与ClassLoader的理解
    字符集常见码表说明
  • 原文地址:https://www.cnblogs.com/changbosha/p/5712786.html
Copyright © 2011-2022 走看看