ROLAP场景下的交互式计算引擎Impala和Presto

应用于ROLAP场景下的交互式计算引擎Impala和Presto

具有以下特点:

1、跟Hadoop生态系统完好结合,可与Hive Metastore对接,处理hive中的表,可直接处理存储在HDFS和Hbase中的数据。

2、计算与存储分析:仅仅是查询引擎,不提供数据存储服务。

3、MPP架构,采用经典的MPP架构,具有良好的扩展性,能够应对TB甚至PB级数据交互式查询需求;

4、嵌套式数据存储,支持常见的列式存储格式,比如ORC和Parquet。

 

Impala:由Cludera公司开发,充分结合传统数据库与大数据系统Hadoop的优势,构造一个全新的、支持SQL与多租户、并具备良好的灵活性和扩展性的高性能查询引擎。

一、特征:

1、Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,借鉴了MPP并行数据库思想,采用了全服务进程的设计架构。

2、采用全内存实现,不需要把中间结果写入磁盘,省掉大量的I/O开销。

3、充分利用本地读,尽可能的将数据和计算分配到同一台机器上。

4、用C++实现,做了很多针对底层的优化,eg:SSE指令。

二、基本架构:

1、Catalogd:元信息管理服务

2、Statestored:状态管理服务器

3、Impalad:同时承担协调者和执行这双重角色。

三、访问方式

通过JDBC/ODBC访问,通过Kerberos或LADP进行认证。

Presto:由Facebook公司开源,能够处理TB甚至PB级别的数据量,由于Presto能与Hive进行无缝集成,因而成为主流的OLAP引擎。

一、基本架构:

是一个Master-Slave架构,由一个Coordinator服务,一个Discovery Server服务,多个Worker服务组成。

1、Coordinator:协调者,接收客户端查询请求(SQL)并对齐进行词法分析,语法分析生成逻辑查询计划及物理查询计划,将各个任务调度到各位worker上执行,并在worker返回结果后对其进一步汇总。在一个Presto集群中可同时存在多个Coordinator防止单点故障。

2、Discovery Server:服务发现组件,各个Worker启动时会定期向Discovery Server注册,并将状态信息汇报给Discovery Server

3、Worker:任务执行者。

Presto是一个分布式查询引擎,并不提供数据存储功能,为此,Presto采用了插件化设计思路,支撑多种数据样,包括Hive、HDFS、Mysql、Cassanddra、Hbase和Redis等。

二、访问方式

Presto是插件式架构,通过连接器接入外部数据源,为了区分各个数据源中的数据,它在数据库之上引入了一层命名空间:catalog,前面提到的Hive、Cassandra和Mysql等在Presto中均以catalog存在。不同的catalog中可以有多个数据库,每个数据库中进一步可以存在多张表。

 

区别于多维度数据组织的MOLAP类型的OLAP查询引擎Druid和Kylin。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值