本文目录一览

1,hive 的元数据库一般用什么数据库

hive支持多种数据库存放元数据derby|mysql|postgres|oracle,默认使用derby数据库。
hbase是个基于hdfs的数据库。hive是用sql替代写mr的编程框架,做hadoop上会把用户提交的sql语句做语法分析,执行计划等一堆乱七八糟的事后变成mr job提交去跑,返回结果给用户。不然每次都写mr很麻烦的,有这个写个sql就可以拿到等效的结果,很...

hive 的元数据库一般用什么数据库

2,如何选择适合自己的数据库

常用的数据库一般是分为三种: (一)、Access (二)SQL Server(三)MySQL,Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强,在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。

如何选择适合自己的数据库

3,hbase和hive的差别是什么各自适用在什么场景中

hbase和hive的主要区别是:他们对于其内部的数据的存储和管理方式是不同的,hbase其主要特点是仿照bigtable的列势存储,对于大型的数据的存储,查询比传统数据库有巨大的优势,而hive其产生主要应对的数据仓库问题,其将存在在hdfs上的文件目录结构映射成表。主要关注的是对数据的统计等方面。适合的场景:hbase:适合大型数据存储,其作用可以类比于传统数据库的作用,主要关注的数据的存取。hive:适合大数据的管理,统计,处理,其作用类比于传统的数据仓库,主要关注的数据的处理。总结:应对大数据的时候,如果你偏重于数据存储查询hbase无疑是更加适合,而你关注的是对大数据的处理结果查询,比如你查询的时候有类似于count,sum等函数操作 hive就能满足你的需求,一般有些项目都输在hive里面进行数据处理,然后将结果导入mysql等数据库或者hbase中进行查询,至于mysql与hbase的选择 比较倾向于你的处理之后的数据量
1. hive中的表是纯逻辑表,就只是表的定义等,即表的元数据。hive本身不存储数据,它完全依赖hdfs和mapreduce。这样就可以将结构化的数据文件映射为为一张数据库表,并提供完整的sql查询功能,并将sql语句最终转换为mapreduce任务进行运行。 而hbase表是物理表,适合存放非结构化的数据。2. hive是基于mapreduce来处理数据,而mapreduce处理数据是基于行的模式;hbase处理数据是基于列的而不是基于行的模式,适合海量数据的随机访问。3. hbase的表是疏松的存储的,因此用户可以给行定义各种不同的列;而hive表是稠密型,即定义多少列,每一行有存储固定列数的数据。4. hive使用hadoop来分析处理数据,而hadoop系统是批处理系统,因此不能保证处理的低迟延问题;而hbase是近实时系统,支持实时查询。5. hive不提供row-level的更新,它适用于大量append-only数据集(如日志)的批任务处理。而基于hbase的查询,支持和row-level的更新。6. hive提供完整的sql实现,通常被用来做一些基于历史数据的挖掘、分析。而hbase不适用与有join,多级索引,表关系复杂的应用场景。

hbase和hive的差别是什么各自适用在什么场景中


文章TAG:存储  存储元  元数据  数据  存储元数据适合哪些数据库  的元数据库一般用什么数据库  
下一篇