简介:

  • hadoop的数据库,根据谷歌的bigtable论文实现的
  • 分布式可扩展的大数据存储技术
  • 随机访问 实时读写海量数据
  • 存储数‘十亿行 百万例’的数据
  • 高性能、高可靠、面向列、可伸缩的分布式存储系统
  • HBase的底层也是基于hdfs的
  • 利用zookeeper作为一个协调工作的

HBase到底是什么东西?

  • 分布式开源数据库,基于hadoop文件系统
  • 模仿提供了Goole文件系统的BigTable数据库的所有功能
  • 处理非常庞大的表
    • 数10亿,百万列
    • 利用mr计算数据,利用zookeeper协调资源
  • HBas是非关系型数据库(NoSQL)

行存储和列存储

  • 行存储:mysql oracle底层基于行存储数据的

    • 查询数据需要全表扫描,效率较低
    • 对数据压缩支持不太好
  • 列存储:hbase底层基于列存储数据的
    • 查询数据不需做全表扫描
    • 支持较好的数据压缩

Hbase的特点

  • 可以分布式存储海量的数据
  • 具有容错能力强,数据高可靠的特点
  • HBase是一个列式NoSQL数据库
  • 数据存储的结构是按照列进行存储

Hbase的体系结构(模型)

1.逻辑结构(模型)

    • 划分数据集合的概念,和传统的db中的表的概念是一样
  • 行键
    • 对应关系数据库中的主键,作用就是**唯一标示一行记录**
    • 获取hbase中的一个记录(数据),要通过**行键**来获取
    • 行键是**字节数组, 任何字符串**都可以作为行键
    • 表中的行根据行键(row key)进行**排序** ,数据按照Row key的**字节序**(byte order)排序存储
  • 列族
    • 简单的认为是一系列**“列”的集合**
  • 列限定符
    • 或者叫**列**
    • 每个列簇都可以有多个列
  • 时间搓
    • 在单元格中可以存放**多个版本**的数据
  • 单元格 
    • 主要用来**存储数据**
    • 单元格的定位要通过**三级定位**才能定位到具体的单元格

  三级定位  行键+列族+时间戳

2.物理结构(模型)

  • Zookeeper

    • 分布式协调
  • Master
    • HMaster没有单点问题,HBase中可以起启动多个HMaster
    • 负责Table和Region的管理工作
    • 管理用户对Table的增、删、改、查操作
    • RegionServer的负载均衡
    • 调整Region分布,在Region Split后,负责新Region的分配
    • 在HRegionServer停机后,负责失效HRegionServer上的Regions迁移
  • RegionServer
    • RegionServer主要负责响应用户的I/O请求
    • 向HDFS文件系统中读写数据,是HBase中最核心的模块
    • HLohg部分和多个Regoion部分
  • Hlog
    • HLog保存着用户操作hbase的日志
    • 实现了Write Ahead Log (WAL) 预写了日志
    • HLog会删除已存储到StoreFile中的数据
  • Region
    • 保存了行键的固定区域范围的数据
    • 一个Hregion对应一个区域
    • 一个Hregion对应一个Hstore
  • Hstore
    • 对应一个列族
    • 一个HStore包含一个MemStore(内存储)和多个StoreFile
  • MemStore(内存储)
    • 内存储中的一个区域,一个HStore对应一个内存储
    • 当内存储中的内容放不下了,就会刷出到硬盘以一个个的StoreFile存储
  • StoreFile
    • 其实就是数据的存储位置
    • 对HFile的封装
  • Hfile   
    • Hadoop File
    • Hdfs的一个文件对象

Hbase读写数据的流程

  • Zookeeper(寻找元数据信息)

    • get  /hbase/meta-region-server
  • 找到提供元数据信息访问的regionserver
  • 找“hbase:meta”表,在去查找请求那个regionser来读取数据

Hbase的Shell操作

list_namespace
#列出所有的命名空间(相当于mysql中的show databases)list_namespace_tables  'ns_name'
#列出指定命名空间下的所有表create_namespace 'ns1'
#创建命名空间create 'ns1:t1','f1'
#创建表disable 'ns1:t1'
#禁用表,因为删除表之前首先需要禁用了drop 'ns1:t1'
#删除表put 'ns1:t1','row001','f1:name','xiaohua'
#添加数据get 'ns1:t1','row001',{COLUMN=>'f1:name'}
#查询数据delete 'ns1:t1','row001','f1:name'
#删除数据

HBase分布式存储系统学习相关推荐

  1. 分布式文件与分布式存储系统学习总结(持续更新)

    存储系统知识 Write Ahead Log 问题引入 存储系统在运行过程中,每时每刻都在发生数据更新.如对文件数据的CRUD. 对于中心控制节点来说,这些都会涉及到metadata的更新操作. 为了 ...

  2. 分布式存储系统——HBase

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

  3. HBase:海量数据分布式存储系统详细介绍

    1 HBase 浅析 1.1 HBase 是啥 HBase 是一款面向列存储,用于存储处理海量数据的 NoSQL 数据库.它的理论原型是 Google 的 BigTable  论文.你可以认为 HBa ...

  4. 万万没想到,分布式存储系统的一致性是......

    阿里妹导读:分布式存储系统是一个非常古老的话题,也是分布式系统里最难.最复杂.涉及面最广的问题之一.本文深入浅出,为大家详细解释相关的重要概念.对于分布式系统新人来说,这是一份不可多得的学习资料. 分 ...

  5. Kubernetes-native 弹性分布式深度学习系统

    9月11日,蚂蚁金服在 Google Developer Day Shanghai 2019 上宣布开源了基于 TensorFlow 2.0 eager execution 的分布式深度学习系统 El ...

  6. HBase全网最佳学习资料汇总

    HBase全网最佳学习资料汇总 摘要: HBase这几年在国内使用的越来越广泛,在一定规模的企业中几乎是必备存储引擎,互联网企业阿里巴巴.百度.腾讯.京东.小米都有数千台的HBase集群,中国电信的话 ...

  7. ElasticDL: Kubernetes-native 弹性分布式深度学习系统

    9月11日,蚂蚁金服在 Google Developer Day Shanghai 2019 上宣布开源了基于 TensorFlow 2.0 eager execution 的分布式深度学习系统 El ...

  8. 浅谈分布式存储系统的数据分布算法

    前言 分布式存储系统 面临着的首要问题,就是如何将 大量的数据 分布在 不同的存储节点 上.无论上层接口是 KV 存储.对象存储.块存储.亦或是 列存储,在这个问题上大体是一致的.本文将介绍如何 分布 ...

  9. 每日积累【Day 3】Hbase架构深入学习

    Hbase架构深入学习 Hbase ​ Apache HBase建立在HDFS之上的分布式.基于列存储的非关系型数据库:具有可靠.稳定.自动容错.多版本等特性:HBase实际上是Google BigT ...

最新文章

  1. UVA1025 城市里的间谍 A Spy in the Metro(2003 ICPC world final)(DAG上DP)
  2. TTL_CMOS_RS232区别
  3. IC Order search 的debugging关键点
  4. 姓名性别电话邮箱html表单,HTML form标签语法、属性、规范和示例详细说明-立地货...
  5. Java高级面试题!java编程思想怎么学
  6. restapi(0)- 平台数据维护,写在前面
  7. C++---基于ffmpeg实现视频播放器(一)
  8. 动态网页程序设计报告(留言板)
  9. C++ 捕获程序异常奔溃minidump
  10. 2+22+222+2222+。。。。
  11. 25岁女生,转行学前端合适吗?
  12. 第二人生的源码分析(101)脚本的初步知识
  13. 【百度echarts】实现圆环进度条-代码示例
  14. 计算机网络实训报告总结,学习计算机网络的实训总结
  15. win系统cpu温度获取
  16. 简单小游戏——见缝插针
  17. ORB SLAM2源码解读(三):Frame类
  18. html 滚动 切换背景,在滚动页面时渐变切换背景色
  19. IDL 绘制 PLANK黑体辐射曲线
  20. 中国人民公安大学(PPSUC) 网络对抗技术第五次实验

热门文章

  1. 5个强盗分100颗宝石
  2. java字体库_java使用第三方字体库的方法,使用第三方ttf/ttc等字体库的方法
  3. vue3.2使用vue-wechat-title及路由导航守卫实现浏览器动态标题、替换浏览器的vue小图标
  4. 安利钻石商务通 2006 v6.2 免费下载
  5. 登陆进管理后台的首页
  6. winbox添加dhcp和nat
  7. Android 开发之 ContentProvider 内容提供者
  8. 实用工具推荐 ---ZoomIt
  9. php phpqrcode 生成二维码
  10. PHP urldecode()与urlencode()函数