Impala,Hive,Hbase,关系数据库区别

Impala简介

Impala是性能最高的SQL引擎(提供类似RDBMS的体验),它提供了访问存储在Hadoop分布式文件系统中的数据的最快方法。

Impala将相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)用作Apache Hive,为面向批量或实时查询提供熟悉且统一的平台。

Impala不基于MapReduce算法。 它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。减少了使用MapReduce的延迟,比Apache Hive快。

关系数据库和Impala

Impala使用类似于SQL和HiveQL的Query语言。 下表描述了SQL和Impala查询语言之间的一些关键差异。

Impala关系型数据库
Impala使用类似于HiveQL的类似SQL的查询语言。关系数据库使用SQL语言。
在Impala中,您无法更新或删除单个记录。在关系数据库中,可以更新或删除单个记录。
Impala不支持事务。关系数据库支持事务。
Impala不支持索引。关系数据库支持索引。
Impala存储和管理大量数据(PB)。 与Impala相比,关系数据库处理的数据量较少(TB)。

Hive,Hbase和Impala

HBaseHiveImpala
HBase是基于Apache Hadoop的宽列存储数据库。 它使用BigTable的概念。Hive是一个数据仓库软件。 使用它,我们可以访问和管理基于Hadoop的大型分布式数据集。Impala是一个管理,分析存储在Hadoop上的数据的工具。
HBase的数据模型是宽列存储。Hive遵循关系模型。Impala遵循关系模型。
HBase是使用Java语言开发的。Hive是使用Java语言开发的。Impala是使用C ++开发的。
HBase的数据模型是无模式的。Hive的数据模型是基于模式的。Impala的数据模型是基于模式的。
HBase提供Java,RESTful和Thrift API。Hive提供JDBC,ODBC,Thrift API。Impala提供JDBC和ODBC API。
支持C,C#,C ++,Groovy,Java PHP,Python和Scala等编程语言。支持C ++,Java,PHP和Python等编程语言。Impala支持所有支持JDBC / ODBC的语言。
HBase提供对触发器的支持。Hive不提供任何触发器支持。Impala不提供对触发器的任何支持。

所有这三个数据库 - 

  • 是NOSQL数据库。

  • 可用作开源。

  • 支持服务器端脚本。

  • 按照ACID属性,如Durability和Concurrency。

  • 使用分片进行分区。

Impala的缺点

  • Impala不提供任何对序列化和反序列化的支持。
  • Impala只能读取文本文件,而不能读取自定义二进制文件。
  • 每当新的记录/文件被添加到HDFS中的数据目录时,该表需要被刷新。
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值