Hive vs HBase

  • Hive
    Hive 是一款构建于Hadoop之上的数据仓库。可以使用HQL语言查询HDFS上面的数据。HQL是一种类SQL语言,最终转换为Map-Reduce任务。Hive本身不存储数据,数据都存储于HDFS上,因此Hive上面的表都是逻辑表,只是表的元数据。
    Hive 运行时间比较长因为默认情况下Hive会遍历整张表,不过这种情况可以使用分区表得到一定的解决。
    Hive 不支持记录级别的更新、插入或者删除,也不支持事务,与ACID不兼容。
    由于Hive的查询最终会转换为Map-Reduce任务,所以Hive的查询延时比较严重。
    Hive 适合对一段时间内的数据进行查询分析,它不适合于实时查询。Hive适合OLAP。

  • HBase
    HBase 是一款Key-Value数据库,运行于HDFS之上。HBase和Hive不一样,它是在它的数据库上运行而不是转换为Map-Reduce任务。HBase上的表都是物理表,适合存放非结构化的数据。
    HBase 是基于列式存储的,适合海量数据的随机访问。
    HBase 的运行需要Zookeeper,Zookeeper是一个用来进行分布式协调的服务,这些服务包括配置服务,维护元信息和命名空间等。
    HBase 非常适合于大数据的实时查询。HBase适合OLTP。
    
    
    

你可能感兴趣的:(大数据)