企业中如何选择这种结构化和非结构化的数据仓库

企业中如何选择这种结构化和非结构化的数据仓库,比如hive和hbase

fish - Hadooper

赞同来自: JetChen

如果只是比较Hive跟HBase的话,这两者本身的差别就挺大的,根据具体需求进行选择。   虽然两者都基于HDFS存储,但在使用方法及结构上都有很大差别。   1. 在查询模型上Hive将数据参照传统数据库进行组织,有库及表的概念,表中有行以及字段。它将半结构化数据抽象成结构化的表结构,直接类SQL(HQL)查询。在简单查询的使用感觉上,使用者会觉得跟关系型数据库很相近。但Hive的每次SQL任务提交都会触发MapReduce任务,因此在查询延迟上,它没有优势,它只是为了节省工程师手写批处理代码所耗费的精力,做了个翻译工具,将SQL翻译成MapReduce批处理任务。   2. HBase可以简单理解为一张大大的key-value表,Google最开始在提出BigTable的时候就是为了存储其倒排索引。倒排索引的存储就是典型的稀疏表,在使用过程中,主要的需求也是根据一个key,查出某个value。表的列族数目相较传统数据库要多很多。数据总量也可以达到TB、PB级别。   3. HBase有独立的管理服务,HMaster以及RegionServer都是很重的Service,虽然其数据文件也是存储在HDFS上,但不能直接像Hive那样处理自然人可以理解的行文本。HBase用特殊的文件管理方式,实现相对于Hive来说更快的随机查询以及高吞吐的随机写入。查询以及数据写入都不需要依赖MapReduce任务。但HBase原生没有对SQL的支持,对于大数据量的Key-Value服务需求,HBase是相对好的选择。

要回复问题请先登录注册