Kudu和Impala

Posted 万事胜意馆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kudu和Impala相关的知识,希望对你有一定的参考价值。

Kudu是围绕Hadoop生态圈建立的存储引擎。Kudu作为底层存储,在支持高并发低延迟kv查询的同时,还保持良好的Scan性能,该特性使得其理论上能够同时兼顾OLTP类和OLAP类查询。


OLTP和OLAP


OLTP:联机事务处理。主要应用于传统的关系数据库,基本的、日常的事务处理。事务性高,以小的事物以及小的查询为主。典型的OLTP系统有电子商务系统、银行、证券等。


OLAP:联机分析处理。数据仓库的主要应用,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。



Kudu的使用场景:

  

  • 流式实时计算场景

     流式计算场景通常有持续不断地大量写入,与此同时这些数据还要支持近乎实时的读、写 以及更新操作。Kudu的设计能够很好的处理此场景。

     

  • 时间序列存储引擎(TSDB)

     Kudu的hash分片设计能够很好地避免TSDB类请求的局部热点问题。同时高效的Scan性能让Kudu能够比Hbase更好的支持查询操作。


  • 机器学习&数据挖掘

     机器学习和数据挖掘的中间结果往往需要高吞吐量的批量写入和读取,同时会有少量的随机读写操作。Kudu的设计可以很好地满足这些中间结果的存储需求。


  • 与历史遗产数据共存

     在工业界实际生产环境中,往往有大量的历史遗产数据。Impala可以同时支持HDFS、Kudu等多个底层存储引擎,这个特性使得在使用的Kudu的同时,不必把所有的数据都迁移到Kudu。


   Impala是建立在Hadoop生态圈的交互式SQL解析引擎,ImpalaSQL语法与Hive高度兼容,并且提供标准的ODBCJDBC接口。Impala本身不提供数据的存储服务,其底层数据可来自HDFSKuduHbase甚至亚马逊S3

 

     Kudu+Impala为实时数据仓库存储提供了良好的解决方案。这套架构在支持随机读写的同时还能保持良好的Scan性能,同时其对Spark等流式计算框架有官方的客户端支持。这些特性意味着数据可以从Spark实时计算中实时的写入Kudu,上层的Impala提供BI分析SQL查询,对于数据挖掘和算法等需求可以在Spark迭代计算框架上直接操作Kudu底层数据。


即席查询:用户根据自己的需求,灵活地选择查询条件,系统能够根据用户的选择生成相应的统计报表。

 

事务管理(ACID):

原子性(Atomicity):事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生

一致性(Consistency):事务前后数据的完整性必须保持一致

隔离性(Isolation):多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要隔离

持久性(Durability):一个事务一旦被提交,它对数据库中数据的改 改变是永久的,接下来即使数据库发生故障也不应该对其有任何影响







 




以上是关于Kudu和Impala的主要内容,如果未能解决你的问题,请参考以下文章

未知进程问题,process information unavailable

kudu增删改查(orm方式)

大数据Kudu:什么是Kudu

Apache Kudu

怎么把impala表导入kudu

kudu系列: Java API使用和效率测试