1. hbase是什么

漫画学习hbase----最易懂的Hbase架构原理解析
http://developer.51cto.com/art/201904/595698.htm

1.1 hbase的概念

  • hbase基于Google的BigTable论文,是建立的hdfs之上,提供高可靠性高性能列存储可伸缩实时读写的分布式数据库系统。在需要实时读写随机访问超大规模数据集时,可以使用hbase。

1.2 hbase的特点

  • 海量存储

    • 可以存储大批量的数据

  • 列式存储

    • hbase表的数据是基于列族进行存储的,列族是在列的方向上的划分。

  • 极易扩展

    • 底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加datanode节点服务(机器)就可以了

    • 可以通过增加服务器来提高集群的存储能力

  • 高并发

    • 支持高并发的读写请求

  • 稀疏

    • 稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。

  • 数据的多版本

    • hbase表中的数据可以有多个版本值,默认情况下是根据版本号去区分,版本号就是插入数据的时间戳

  • 数据类型单一

    • 所有的数据在hbase中是以字节数组进行存储

2、hbase整体架构

  • 1、Client

    • 客户端

      • Client包含了访问Hbase的接口

      • 另外Client还维护了对应的cache来加速Hbase的访问,比如cache的.META.元数据的信息

  • 2、Zookeeper

    • zookeeper集群

      • 作用

        • 实现了HMaster的高可用

        • 保存了hbase的元数据信息,是所有hbase表的寻址入口

        • 对HMaster和HRegionServer实现了监控

  • 3、HMaster

    • hbase集群的老大

      • 作用

        • 为HRegionServer分配Region

        • 维护整个集群的负载均衡

        • 维护集群的元数据信息

        • 发现失效的Region,并将失效的Region分配到正常的HRegionServer上

  • 4、HRegionServer

    • hbase集群中的小弟

      • 负责管理Region

      • 接受客户端的读写数据请求

      • 切分在运行过程中变大的region

  • 5、Region

  • hbase集群中分布式存储的最小单元

3、hbase表的数据模型

  • rowkey

    • 行键

      • table的主键,table中的记录按照rowkey 的字典序进行排序

  • Column Family

    • 列族

      • hbase表中的每个列,都归属与某个列族。列族是表的schema的一部分(而列不是),必须在使用表之前定义。

  • Timestamp

    • 时间戳

      • 每次数据操作对应的时间戳,可以看作是数据的version number版本号

  • Column

      • 列族下面的具体列

      • 属于某一个ColumnFamily,类似于我们mysql当中创建的具体的列

  • cell

    • 单元格

      • 由{row key, column( =<family> + <label>), version} 唯一确定的单元

      • cell中的数据是没有类型的,全部是以字节数组进行存储

hbase基础知识一的更多相关文章

  1. HBASE基础知识总结

    HBASE基础知识总结 一,概要说明 文章首先回顾HBase 的数据模型和数据层级结构,对数据的每个层级的作用和架构进行了详细阐述:随后介绍了数据写入和读取的详细流程.先把架构图和流程图来坐镇. 架构 ...

  2. HBASE基础知识

    HBASE的集群的搭建HBASE的表设计HBASE的底层存储模型 HBase 是一个高可靠.高性能.面向列.可伸缩的分布式缓存系统.利用HBase 技术可在廉价PC Server上搭建起大规模结构化存 ...

  3. Hadoop第11周练习—HBase基础知识

    1 :数据即日志 内容 2 :HBase合并过程 内容 3 :HBase一致性 内容 书面作业1:数据即日志 内容 我们常说HBase是“数据即日志”的数据库,它是怎样修改和删除数据的?和Oracle ...

  4. HBase基础知识摘要

    HBASE 列式存储,设计思想参考BigTable 文档:http://hbase.apache.org/book.html hive适合数据分析,离线任务 hbase大数据实时查询 避免显式锁,提供 ...

  5. 大数据基础知识问答----spark篇,大数据生态圈

    Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...

  6. 最全的spark基础知识解答

    原文:http://www.36dsj.com/archives/61155 一. Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduc ...

  7. ZooKeeper_基础知识学习

    ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...

  8. 大数据存储利器 - Hbase 基础图解

    由于疫情原因在家办公,导致很长一段时间没有更新内容,这次终于带来一篇干货,是一篇关于 Hbase架构原理 的分享. Hbase 作为实时存储框架在大数据业务下承担着举足轻重的地位,可以说目前绝大多数大 ...

  9. Elasticsearch基础知识学习

    概要 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...

随机推荐

  1. HashSet去重

    class Program     {         static void Main(string[] args)         {             Console.WriteLine( ...

  2. python matplotlib 设置x轴文本间隔显示(数字的话可以转为字符之后处理)

    一个国际友人绘图遇到的问题,查了一手资料.主要参考的是这个老哥的做法(https://blog.csdn.net/wyquin/article/details/80508260) #totalSeed ...

  3. 当Windows操作系统关机时,不会执行Windows Service的OnStop方法(转载)

    Windows Service OnStop when computer shutdown 问: I'm writing a Windows Service in C#. I want to take ...

  4. asp获取access数据库中的一条随机记录

    针对“用一条SQL得到数据库中的随机记录集”问题在网上已经有很多答案了: SQL Server 2000: SELECT TOP n * FROM tanblename ORDER BY NEWID( ...

  5. AnimationClip压缩-动画文件压缩

    动画压缩方法一.常用方法1. Rig->Animation Type:改为Generic2. Animations->Anim.Compression:Optimal二.高级方法1. 去掉 ...

  6. Advanced-REST-client 获取及安装

    作为一个java开发人员,大家或多或少的要写或者接触一些http接口.而当我们需要本地调试接口常常会因为没有一款好用的工具而烦恼.今天要给大家介绍一款非常好用.实用且方便的http接口测试工具. 获取 ...

  7. 简单了解Eureka

    1.Eureka简介 Eureka是Spring Cloud Netflix微服务套件中的一部分,是一套成熟的服务注册和发现组件,可以与Springboot构建的微服务很容易的整合起来. Eureka ...

  8. MES应用案例|新宏泰电器乘上智能制造的东风

    企业背景: 无锡新宏泰电器科技股份有限公司(下文简称:新宏泰电器)创立于1984年,公司主要生产断路器.微型电机.BMC/SMC材料.BMC/SMC模压制品及各类塑料模具的设计制造.已于2016年在沪 ...

  9. android中listview滑动卡顿的原因

    导致Android界面滑动卡顿主要有两个原因: 1.UI线程(main)有耗时操作 2.视图渲染时间过长,导致卡顿 http://www.tuicool.com/articles/fm2IFfU 

  10. 排序算法的c++实现——插入排序

    插入排序的思想是:给定一个待排序的数组,我们从中选择第一个元素作为有序的基态(单个元素肯定是有序的), 然后从剩余的元素中选择一个插入到有序的基态中,使插入之后的序列也是有序状态,重复此过程,直到全部 ...