Hbase学习(一)零基础开始学习

hbase是谷歌bigdata论文的一个代码实现,hbase是开源软件,在大数据处理领域应用广泛。今天楼主先来介绍一些基本原理,后面用工程代码方式来叙述API的用法。楼主是新手,如有错误,欢迎大家指正。

简介

Hbase(Hadoop database)是一个高可靠性(数据存储在HDFS文件存储系统上,十分可靠,有机会楼主再写HDFS的博文)、高性能(传统单机数据库在数据量高于百万数量级后性能很差)、面向列、可伸缩实时读写的分布式数据库。
hbase主要用来存储非结构化和半结构化的松散数据。

数据结构

首先介绍一下基本概念

row key

决定一行数据;按照字典顺序排序,数据有结构;row key最大为64K(注意只能存储字节数组,要先转换成字节数组才能存入hbase)

time stamp 时间戳

hbase每个cell存储单元对同一份数据由多个版本,根据时间戳来区分不同版本,不同版本的数据按照时间倒序排列,最新的数据排在最前面。时间戳是64为整形数据,在写入数据时自动赋值(用户也可以自己给时间戳赋值)。hbase并不会存储每个时间戳的历史数据,由用户设置一个最大版本数来约束版本的数量,多余的版本在合并时被删除。

column family

(新手可以暂时这样理解:传统关系型数据库里面的列的集合就是hbase里面的列族)hbase把同一列族里面的数据存在同一目录下,一个列族可以有多个列成员(eg:course这个列族可以有以下几列 math、cs
访问时,列名为:course:math)

cell

由行和列的坐标决定,单元格是有版本的。

数据结构总述

要想唯一确定一个单元格首先确定行,再确定列族,再确定列,再确定时间戳。
话不多说了,一切尽在下图中:
这里写图片描述

Hlog

除了介绍操作还记录数据(eg 插入5,不仅记录插入这个操作,还记录5这个数字),hlog文件是用来容灾的,在发现意外时,可以恢复数据库。

HBase体系结构

这里写图片描述

client

包含访问hbase的接口并维护cache加快对hbase访问

zookeeper

任何时候保证集群中只有一个master;存储所有region的寻址入口

master

负责负载均衡,发现失效的region server并重新分配;其实master主要作用是管理协调,并不直接处理请求

region server

维护region;切分在运行过程中变得更大的region

region

hbase的表被水平划分为多个区域,每个region会保存一个表中的某个区域。region增大到一定阈值,会等分成两个region;region server数据太多时,由master协调增加region server个数。一个region由多个store组成,一个store对应一个CF。

store(memstore和storefile)

store由一个memstore和多个storefile组成。memstore是写缓存,写操作首先写入memstore,memstore到达一定量级被存储为storefile。store file以hfile格式存在HDFS上面。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值