Hadoop Hbase适合存储哪类数据?
最适合使用Hbase存储的数据是非常稀疏的数据(非结构化或者半结构化的数据)。Hbase之所以擅长存储这类数据,是因为Hbase是column-oriented列导向的存储机制,而我们熟知的RDBMS都是row- oriented行导向的存储机制(郁闷的是我看过N本关于关系数据库的介绍从来没有提到过row- oriented行导向存储这个概念)。在列导向的存储机制下对于Null值得存储是不占用任何空间的。比如,如果某个表 UserTable有10列,但在存储时只有一列有数据,那么其他空值的9列是不占用存储空间的(普通的数据库MySql是如何占用存储空间的呢?)。
Hbase适合存储非结构化的稀疏数据的另一原因是他对列集合 column families 处理机制。 打个比方,ruby和python这样的动态语言和c++、java类的编译语言有什么不同? 对于我来说,最显然的不同就是你不需要为变量预先指定一个类型。Ok ,现在Hbase为未来的DBA也带来了这个激动人心的特性,你只需要告诉你的数据存储到Hbase的那个column families 就可以了,不需要指定它的具体类型:char,varchar,int,tinyint,text等等。
Hbase还有很多特性,比如不支持join查询,但你存储时可以用:parent-child tuple 的方式来变相解决。
由于它是Google BigTable的 Java 实现,你可以参考一下:
google bigtable 。
下面3副图是Hbase的架构、数据模型和一个表格例子,你也可以从:
Hadoop summit 上 获取更多的信息。
分享到:
相关推荐
Hadoop和HBase是大数据处理领域中的重要组件,它们在分布式存储和实时数据访问方面扮演着关键角色。Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、...
在Mapper类中,通过解析文本数据并将其转换为KeyValue对象,MapReduce作业能够输出适合HBase存储的数据格式。 HDFS中的数据行表示了如何组织数据以便于转换为HFile格式。每一行包含行键(rowkey)、列族、列限定符...
HBase 是一个高性能、分布式、面向列的 NoSQL 数据库,通常用来存储结构化和半结构化数据。HBase 的安装配置与 Hadoop 相似,这里不再详细介绍。 三、Hive 集群环境搭建 Hive 是一个基于 Hadoop 的数据仓库工具,...
集成Hadoop和HBase时,通常会将HBase的JAR包添加到Hadoop的类路径中,确保Hadoop集群能够识别并处理HBase的相关操作。这个过程可能涉及到配置Hadoop的环境变量,如HADOOP_CLASSPATH,以及修改HBase的配置文件,如...
Hadoop 是一个分布式计算框架,用于处理大规模数据,而 HBase 是一个基于 Hadoop 的分布式数据库,用于存储和处理大规模数据。在工作中,我们经常需要使用 Hadoop 和 HBase 的 shell 命令来管理和操作数据。下面是 ...
2. HBase:HBase是一个基于Hadoop的分布式数据库,用于存储和处理大规模数据。 3. ZooKeeper:ZooKeeper是一个分布式协调服务,用于管理Hadoop和HBase集群。 二、机器集群结构分布 在本文中,我们将使用8台曙光...
- 例如,使用`HBaseAdmin`类创建和管理表,使用`Table`对象进行数据的put和get,以及`Scan`对象进行表的扫描。 8. **实验环境**: - 实验通常在虚拟机环境中进行,比如VMware Workstation上运行Ubuntu-12.04操作...
在构建大数据处理环境时,Hadoop、HBase、Spark和Hive是四个核心组件,它们协同工作以实现高效的数据存储、处理和分析。本教程将详细介绍如何在Ubuntu系统上搭建这些组件的集群。 1. **Hadoop**:Hadoop是Apache...
【Hadoop Hbase Zookeeper集群配置】涉及到在Linux环境下搭建分布式计算和数据存储系统的流程,主要涵盖以下几个关键知识点: 1. **集群环境设置**:一个基本的Hadoop Hbase Zookeeper集群至少需要3个节点,包括1个...
在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了一个高效、可扩展的数据处理和存储环境。以下是关于这些技术及其集群配置的详细知识。 首先,Hadoop是一个开源的分布式计算框架,...
标题 "Hadoop+HBase+Java API" 涉及到三个主要的开源技术:Hadoop、HBase以及Java API,这些都是大数据处理和存储领域的关键组件。以下是对这些技术及其结合使用的详细介绍: **Hadoop** 是一个分布式计算框架,由...
HBase则是基于Hadoop的分布式数据库,尤其适合处理大规模的非结构化数据。下面将详细阐述这两个技术以及它们相关的jar包。 1. Hadoop:Hadoop的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。...
而HBase,作为Hadoop生态系统中的NoSQL数据库,提供了高效、可伸缩的存储和检索大量结构化数据的能力。 首先,让我们从Hadoop的基础知识开始。Hadoop的核心组件包括HDFS(Hadoop Distributed File System)和...
HBase是一种分布式、高可靠性且高性能的列式存储系统,它基于Hadoop生态体系构建,并且能够支持大规模的数据存储需求。HBase的设计灵感来源于Google的Bigtable论文,通过模仿Bigtable的核心架构和技术特性,HBase...
而HBase是一款基于Hadoop的分布式、高性能、列式存储的NoSQL数据库,适用于实时查询和分析大规模数据。 1. **简介** 在部署Hadoop和HBase时,我们需要构建一个可靠的分布式环境,确保数据的高可用性和容错性。...
通过以上对Hadoop+Hbase搭建云存储的关键知识点的梳理,我们可以清晰地了解到这套技术组合在实际应用中的优势和应用场景,以及如何通过合理的技术选型和部署策略,构建一套既能够高效存储海量数据又能快速访问的云...
Hadoop和HBase作为大数据领域的重要工具,为海量数据的存储和分析提供了强大的支持。本文将深入探讨这两个技术以及数据挖掘的相关概念。 Hadoop是Apache软件基金会开发的一个开源框架,主要用于处理和存储大规模...
在大数据领域中,Hadoop、HBase和Hive是重要的组件,它们通常需要协同工作以实现数据存储、管理和分析。随着各个软件的版本不断更新,确保不同组件之间的兼容性成为了一个挑战。本文将介绍Hadoop、HBase、Hive以及...
HBase是建立在Hadoop之上的一个分布式、高性能、列式存储的NoSQL数据库,适合实时查询大数据。 1. **Hadoop分布式文件系统(HDFS)**: HDFS是Hadoop的核心组件,设计用于跨多台服务器存储和处理大规模数据。它将...