
他们的关系是:hbase是一个内存数据库,而hdfs是一个存储空间;是物品和房子的关系。
hdfs只是一个存储空间,他的完整名字是分布式文件系统。从名字可知他的作用了。
hbase是一个内存数据库,简单点说hbase把表啊什么的存在hdfs上。
Hbase与HDFS的性质和属性。
1、Hbase是Hadoop database,即Hadoop数据库。它是一个适合于非结构化数据存储的数据库,HBase基于列的而不是基于行的模式。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。
2、HDFS是GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的。
Hive与Hbase的数据一般都存储在HDFS上。Hadoop HDFS为他们提供了高可靠性的底层存储支持。
如果要做的话。通常是使用hive(能够直接处理HBase中的数据),或者自己开发mapreduce程序;例子网上有很多。
你这个逻辑如果不很复杂,通过hive简单些,写几条语句就搞定。
另:
如果就是验证下功能,那做做没问题。要是生产的话基于HBase做分析基本不可用。
因为不管哪种方法都要查HBase表,数据多了这个效率你接受不了;多进程并发访问在服务端有缓存的情况下(通过一定条件过滤的场景)才能够达到几千条/秒,如果不做缓存(遍历整表时)只能达到每秒一两百条。慢的要死。
生产的话可以考虑使用hive基于HDFS文件做分析。
HBase与传统关系数据库的区别主要体现在以下几个方面:1数据类型。关系数据库采用关系模型,具有丰富的数据类型和储存方式。HBase则采用了更加简单的数据模型,它把数据储存为未经解释的字符串,用户可以把不同格式的结构化数据和非结构化数据都序列化成字符串保存到HBase中,用户需要自己编写程序把字符串解析成不同的数据类型。 2数据 *** 作。关系数据库中包含了丰富的 *** 作,如插入、删除、更新、查询等,其中会涉及复杂的多表连接,通常是借助多个表之间的主外键关联来实现的。HBase *** 作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表与表之。
列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因此整个数据库是自动索引化的。
按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就更容易为这种聚集存储设计更好的压缩/解压算法。
传统的(Oracle)行存储和(Hbase)列存储的区别。
主要体现在以下几个方面:1数据类型。关系数据库采用关系模型,具有丰富的数据类型和储存方式。HBase则采用了更加简单的数据模型,它把数据储存为未经解释的字符串,用户可以把不同格式的结构化数据和非结构化数据都序列化成字符串保存到HBase中,用户需要自己编写程序把字符串解析成不同的数据类型。 2数据 *** 作。关系数据库中包含了丰富的 *** 作,如插入、删除、更新、查询等,其中会涉及复杂的多表连接,通常是借助多个表之间的主外键关联来实现的。HBase *** 作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表与表之间的关系,通常只采用单表的主键查询。
以上就是关于Hbase与HDFS是个什么关系全部的内容,包括:Hbase与HDFS是个什么关系、你好,我知道你对HBASE有一定的理解,现在我需要使用HBASE作为一个数据库,存放那些网站上的数据、hbase与关系型数据库的存储方式有哪些不同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)