`

hbase

 
阅读更多

hbase 理解

1.简介:

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群

2.HBase和RDBMS的关系


RDBMS(Relation DabaBase Management System-关系数据库):由关系模型构成的数据库就是关系数据库。关系数  据库由包含数据记录的多个数据表组成,用户可在有相关数据的多个表之间建立相互联系。在关系数据库中,数据被分散到不同的数据表中,以便使每一个表中的数据只记录一次,从而避免数据的重复输入,减少冗余。


   1)关系数据库的主要特点:

       a.关系系中的每个属性必须是不可分割的数据单元(即表中不能再包含表)。

       b.关系中的每一列元素必须是类型相同的数据。

       c.同一个关系中不能有相同的字段(属性),也不能有相同的记录。

       d.关系的行、列次序可以任意交换,不影响其信息内容。

    2)Hbase里面有以下2个主要概念:

         Rowkey: Hbase 中的记录是按照rowkey来排序的;因此想用hbase存储数据设计好row-key很重要

         Column family:(列族)是在系统启动之前预先定义好的;可有多个列簇,可动态增加,一个列簇可包含多个列

         Hbase优缺点:      

          1.不支持条件查询以及orderby等查询;

          2.列可以动态增加,列为空则不存储数据,节省存储空间;

          3.会自动切分数据;

          4.可以提供高并发读写操作的支持;

 

3.HBase 表解析

    row-key:hbase是基于列的存储模式,所谓的基于列(HBase)就是基于row-key的存储模式,row-key 相当于关系数据库表的主键
    查询的时候根据row-key去查询

    列簇:hbase表中的每一列都归属为一个列簇,列簇是表的schema的一部分(列不是),必须在使用表之前定义,列名都是以列簇为前缀

          如:Column family:test1(test1为列)

              Column family:test2

          如上:test1,test2 都是列簇 Column family 的列

          *访问控制、磁盘和内存的使用统计都是在列族层面进行的。     

    时间戳:HBase中通过row和columns确定的为一个存贮单元称为cell。

            每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。

            时间戳的类型是 64位整型。时间戳可以由hbase(在数据写入时自动 )赋值,
            此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。

            如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。

            每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

            当你插入一个数值的时候,如果不手工写时间戳,系统会自动生成一个。当你在hbase shell下scan某个具体表的时候,可以看到一大堆的时间戳    
          

4.Hbase的优缺点

   a.列的可以动态增加,并且列为空就不存储数据,节省存储空间.

   b.Hbase自动切分数据,使得数据存储自动具有水平scalability.

   c.Hbase可以提供高并发读写操作的支持

   d.不能支持条件查询,只支持按照Row key来查询

   e.暂时不能支持Master server的故障切换,当Master宕机后,整个存储系统就会挂掉.

 

1
0
分享到:
评论

相关推荐

    HbaseTemplate 操作hbase

    在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...

    Hbase权威指南(HBase: The Definitive Guide)

    ### HBase权威指南知识点概述 #### 一、引言与背景 - **大数据时代的来临**:随着互联网技术的发展,人类社会产生了前所未为的数据量。这些数据不仅数量巨大,而且种类繁多,传统的数据库系统难以应对这样的挑战。 ...

    HBase官方文档中文版-HBase手册中文版

    HBase是一种分布式、基于列族的NoSQL数据库,由Apache软件基金会开发并维护,是Hadoop生态系统中的重要组件。这份“HBase官方文档中文版”提供了全面深入的HBase知识,帮助用户理解和掌握如何在大数据场景下有效地...

    hbase配置内置的zookeeper

    ### HBase 配置内置 ZooKeeper 的详细步骤与解析 #### 一、配置背景与目的 在 HBase 的部署环境中,ZooKeeper 起着非常重要的作用,它主要用于协调集群中的各个节点,并且管理 HBase 的元数据。通常情况下,HBase ...

    基于springboot集成hbase过程解析

    "基于SpringBoot集成HBase过程解析" SpringBoot集成HBase是当前大数据处理和存储解决方案中的一种常见组合。HBase是基于Hadoop的分布式、可扩展的NoSQL数据库,能够存储大量的结构化和非结构化数据。SpringBoot则...

    HBase(hbase-2.4.9-bin.tar.gz)

    HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...

    hbase用于查询客户端工具

    HBase是一种分布式、基于列族的NoSQL数据库,它在大数据领域中扮演着重要的角色,尤其是在需要实时查询大规模数据集时。HBase以其高吞吐量、低延迟和水平扩展能力而闻名,常用于存储非结构化和半结构化数据。在HBase...

    hbase-2.4.17-bin 安装包

    HBase是Apache Hadoop生态系统中的一个分布式、版本化、列族式存储系统,设计用于处理大规模数据集。这个“hbase-2.4.17-bin”安装包提供了HBase的最新稳定版本2.4.17,适用于大数据处理和分析场景。下面将详细介绍...

    CDH-Hbase的安装1

    在本文中,我们将深入探讨HBase的安装过程及其在CDH环境中的集成。HBase是Apache Hadoop生态系统中的一个核心组件,它是一个分布式、版本化的、支持列族的NoSQL数据库,特别适合处理大规模的数据存储。CDH(Cloudera...

    hbase-1.1.5-bin版本的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL数据库

    HBase 是一个开源的、分布式的、版本化的 NoSQL 数据库(也即非关系型数据库),它利用 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)提供分布式数据存储。与传统的关系型数据库类似,HBase 也以...

    hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包

    3. **配置HBase**:编辑`conf/hbase-site.xml`,设置HBase的主配置,如`hbase.rootdir`(HDFS中的HBase目录)和`hbase.zookeeper.quorum`(Zookeeper集群地址)。 4. **启动与停止**:使用`start-hbase.sh`启动HBase...

    在windows上安装Hbase

    在Windows上安装HBase 本文将指导您如何在Windows平台上安装HBase,包括配置详解。安装完成后,您将能够配置集群。 一、前提条件 在安装HBase前,需要安装Cygwin和Hadoop。这两个软件的安装不在本文的讨论范围内...

    HBase开启审计日志

    ### HBase开启审计日志详解 #### 一、概述 HBase是一款分布式列式存储系统,基于Google的Bigtable论文实现。它具有高可靠性、高性能、面向列、可伸缩的特点,非常适合处理海量数据。在大数据领域,HBase被广泛用于...

    hbase安装与使用

    ### HBase 安装与使用知识点详解 #### 概述 HBase 是一款构建于 Hadoop 之上的分布式、可扩展的大规模数据存储系统。它提供了类似 Google BigTable 的功能特性,非常适合处理海量数据和高并发读写需求的应用场景。...

    centos7 安装 hbase单机版

    首先下载hbase安装包 wget http://mirror.bit.edu.cn/apache/hbase/stable/hbase-2.2.3-bin.tar.gz 解压压缩包 tar -zxvf hbase-2.2.3-bin.tar.gz 修改/opt/hbase-2.2.3/conf/hbse-env.sh文件 第一步 设置javahome ...

    scala API 操作hbase表

    在本文中,我们将深入探讨如何使用Scala API操作HBase数据库。HBase是一个分布式、面向列的NoSQL数据库,它构建于Hadoop之上,提供实时访问大量数据的能力。Scala是一种强大的函数式编程语言,与Java虚拟机(JVM)...

    python3连接hbase包

    Python3 连接 HBase 的方法是现代大数据处理中的一项重要技能,特别是在处理海量数据时。HBase 是一个分布式、可扩展的列式数据库,它建立在 Apache Hadoop 文件系统之上,非常适合存储非结构化和半结构化数据。...

    hbase jar包.zip

    《Spring集成HBase的必备库解析》 在Java开发领域,Spring框架的广泛使用与HBase这样的大数据存储系统的结合日益紧密。"hbase jar包.zip" 提供了整合Spring与HBase所需的关键库文件,使得开发者能够高效地利用...

    java操作Hbase之从Hbase中读取数据写入hdfs中源码

    在Java编程环境中,操作HBase并将其数据写入HDFS(Hadoop Distributed File System)是一项常见的任务,特别是在大数据处理和分析的场景下。本篇将详细介绍如何使用Java API实现这一功能,以及涉及到的关键技术和...

Global site tag (gtag.js) - Google Analytics