Hadoop数据存储—Hbase

大家都知道Hadoop是一个数据库,其实说的的就是Hbase。它和我们平常理解的关系型数据库有什么区别呢?

1.它是NoSQL的,它没有SQL的接口,有自己的一套API。

2.关系型数据库可以做汇总,可以进行常规的分析,但是Hbase不可以,它不能做汇总。那么Hbase操作不方便,不能做汇总,不能做分析,有什么作用呢?它的随机读写效率很高,可以存储海量数据,基于某个网点,某个城市,某个机器随机去查询速度快。或者去存储基于时间序列的数据,比如微信、微博、日志的数据,效率很高。

3.它的存储是列式的,平常我们接触的MySQL,Oracle,RDBMS都是行存储。行存储和列存储的区别是:行存储适合在线事务的场景,适合随机的访问,比如去银行修改账户记录,修改个人信息,这个修改就是从数据库中找到你信息所在的行。列存储就是以列为单位进行连续存储,如果以列存储放到银行这个场景中会是怎样的一种效果呢?如果想要修改信息,那么定义到用户所在行信息,就会扫描到整个表,所以行存储主要用于在线事务处理,而列存储适用于数据分析。因为在大数据的数据库场景中,我们会构建很宽的事实表,通过信息模型有个中心,围绕这个中心扩散出很多维度,这个中间表是一个很宽的表,在我们进行特定业务分析的时候,比如分析广告业务推广的情况,可能只需要从很多资料中选取一部分变量进行分析,如果使用行存储,那么就是全表扫描,而使用列存储会选取特定部分,效率很高。

HBase vs RDBMS

通过以上描述,我们分析一下hbase的特点:

(1)存储海量数据:Pb+

(2)高吞吐:每秒每个节点上千次写

(3)适合处理稀疏数据(半结构化数据):存储一行的空列没有空间浪费。因为半结构化数据有大量的空存在,那么使用结构化数据存储到关系型数据库,就会有大量的空间浪费,而且不适合做分析。

但是hbase访问模式是受到限制的,它对基于行键的查找做了优化,而不是全文查询;没有事务,只支持单行操作。

说了这么多,那么我们为什么使用Hbase呢?这里我们做一个对比:

(1)使用HDFS

你只需要追加到数据集(没有随机写)

通常读取整个数据集(没有随机读)

(2)使用HBase

你需要随机写或读

每秒对TB级的数据执行上千次操作

(3)使用RDBMS

数据放在一个大节点上

需要全部的事务支持

需要实时查询的能力

这就是个人对于Hbase的一些认知和了解,写出来和大家共同分享,希望可以共同进步。不过我个人平常也会关注CSDN论坛以及“大数据cn”、“大数据时代学习中心”这些微信公众号,从中我了解和学习了很多东西,也让自己的技术能力更上了一层楼,推荐大家看看。

时间: 2024-10-07 05:50:24

Hadoop数据存储—Hbase的相关文章

Hadoop环境中管理大数据存储八大技巧

随着IT互联网信息技术的飞速发展和进步.目前大数据行业也越来越火爆,从而导致国内大数据人才也极度缺乏,下面介绍一下关于Hadoop环境中管理大数据存储技巧. 在现如今,随着IT互联网信息技术的飞速发展和进步.目前大数据行业也越来越火爆,从而导致国内大数据人才也极度缺乏,下面介绍一下关于Hadoop环境中管理大数据存储技巧. 1.分布式存储 传统化集中式存储存在已有一段时间.但大数据并非真的适合集中式存储架构.Hadoop设计用于将计算更接近数据节点,同时采用了HDFS文件系统的大规模横向扩展功能

HBase介绍(2)---数据存储结构

在本文中的HBase术语:基于列:column-oriented行:row列组:column families列:column单元:cell 理解HBase(一个开源的Google的BigTable实际应用)最大的困难是HBase的数据结构概念究竟是什么?首先HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式. Google's BigTable论文 清楚地解释了什么是BigTable:Bigtable是一个疏松的分布式的

环境搭建 Hadoop+Hive(orcfile格式)+Presto实现大数据存储查询一

一.前言 以下简介摘自官方 Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰富,包括ZooKeeper,Pig,Chukwa,Hive,Hbase,Mahout,flume等.接下来我们使用的是Hive Hive简介 Hive 是一个基于 Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据.    它把海量数据存储于 hadoop 文件

大数据时代的结构化存储—HBase在阿里的应用实践

摘要: # 前言 时间回到2011年,Hadoop作为新生事物,在阿里巴巴已经玩得风生水起,上千台规模的"云梯"是当时国内名声显赫的计算平台. 这一年,Hadoop的好兄弟HBase由毕玄大师带入淘宝,开启了它的阿里之旅. 前言时间回到2011年,Hadoop作为新生事物,在阿里巴巴已经玩得风生水起,上千台规模的"云梯"是当时国内名声显赫的计算平台.这一年,Hadoop的好兄弟HBase由毕玄大师带入淘宝,开启了它的阿里之旅.从最初的淘宝历史交易记录,到去年的支付宝

数道云大数据平台解决方案,Hadoop + HDFS+Hive+Hbase大数据开发整体架构设计

波若大数据平台(BR-odp)Hadoop + HDFS+Hive+Hbase大数据开发工具剖析: HDFS:分布式.高度容错性文件系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,大规模的波若大数据平台(BR-odp)用户部署上1000台的HDFS集群.数据规模高达50PB以上 HDFS和MR共同组成Hadoop分布式系统体系结构的核心.HDFS在集群上实现了分布式文件系统,MR在集群上实现了分布式计算和任务处理.HDFS在MR任务处理过程中提供了文件操作和存储等支持,MR在HDF

Hive数据导入——数据存储在Hadoop分布式文件系统中,往Hive表里面导入数据只是简单的将数据移动到表所在的目录中!

转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中.Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据.所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中! Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中

万亿级日志与行为数据存储查询技术剖析——Hbase系预聚合方案、Dremel系parquet列存储、预聚合系、Lucene系

转自:http://www.infoq.com/cn/articles/trillion-log-and-data-storage-query-techniques?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage 目前大数据存储查询方案大概可以分为:Hbase系.Dremel系.预聚合系.Lucene系,笔者就自身的使用经验说说这几个系

新技术架起 Oracle、Hadoop、NoSQL数据存储之间的桥梁

一直以来,大数据的使用远远不及大数据收集能力,就起原因主要是目前企业的数据主要分散在不同的系统或组织,大数据战略的杀手锏就是能够更深度的,更丰富的挖掘所有数据系统中的有价值的信息,从而更准确的预测客户行为,发现商业价值,但是目前很难将这些数据移到一个单独的数据存储中,另外,安全和监管问题也得不到保障,Oracle Big Data SQL的推出解决了现在面临的难题. 以下为译文:发现企业或组织对数据管理架构的需求,Oracle推出Big Data SQL软件来整合包括Hadoop.NoSQL和O

hadoop的数据存储

行存储 如图2所示,基于Hadoop系统行存储结构的优点在于快速数据加载和动态负载的高适应能力,这是因为行存储保证了相同记录的所有域都在同一个集群节点,即同一个HDFS块.不过,行存储的缺点也是显而易见的,例如它不能支持快速查询处理,因为当查询仅仅针对多列表中的少数几列时,它不能跳过不必要的列读取:此外,由于混合着不同数据值的列,行存储不易获得一个极高的压缩比,即空间利用率不易大幅提高.尽管通过熵编码和利用列相关性能够获得一个较好的压缩比,但是复杂数据存储实现会导致解压开销增大. 图2 HDFS