【Hbase】知识总结

Hbase的简介

Hbase的来源

1、数据量越来越大,传统的关系型数据库,不能满足存储和查询功能的需求。而hive虽然能够满足存储的要求,但是hive的本质也是利用底层的mr,所以读写速度不快,而且hive不能满足非结构化,半结构化的存储,hive主要的作用是分析和统计,hive用于存储是毫无意义的。
2、起源于Google在2006发表的一篇论文《bigtable》,是对bigtable的开源实现的java版本

Hbase的定义

Hbase是一个在HDFS上运行的,面向列的,分布式的,hadoop数据库。他是一个非关系型()(Not Only Sql)的数据库,不是传统的非关系型数据库,对事物支持很差起源于《BigTable》

Hbase的特征

1、适合存储超大规模的数据集,可以提供数据的实施读写。
2、线性扩展好,高的可靠性。
3、Hbase的表模型与关系型数据库的表模型不同:
a)Hbase表中没有固定的字段定义
b)Hbase表中每行存储的都是些key-value对
c)Hbase表中有列簇的划分,用户可以指定将哪些kv插入哪个列簇
d)Hbase的表在物理存储上,是按照列簇来切分的,不同列簇的数据一定存储在不同的文件中
e)Hbase表中的每一行都有固定的行键作为唯一标识,每行的行键在表中是不能重复的
4、Hbase中的数据,包含行键、key、value都是byte[]类型,Hbase不负责为用户维护数据类型。
5、Hbase对事物的支持很差。

Hbase的表模型

Hbase是一个面向列的,非关系型数据库,区别于面向行存储的非关系型数据库。

1、Hbase表的基本存储单位是一个单元格(cell),也可以成为列(column)
2、单元格内存储的是一对key-value键值对
3、每一对键值对都有N个时间戳作为版本号(版本数量可以控制)
4、为了管理不同的key-value,Hbase引入了列簇的概念
a)一个表可以有多个列簇(不同列簇的数据一定存储在不同文件中,一个列簇对应一个文件)
b)一个列簇下可以有成千上百万个不同的key-value,即列
5、为了标识某一个key-value是某一个事物的,引入了rowKey的概念,rowKey作为唯一标识符,不能重复。
6、一张表由于数据量过大,会被横向切分成若干个region(用rowKey范围标识),不同region的数据也存储在不同的文件之中
7、Hbase会对插入的数据按顺序存储:(内存)
a)首先会按照行键排序
b)行键相同,会按照列簇排序,再按key排序,若key也相同,则根据版本号来排序(时间戳)

Hbase存储结构中的概念

单元格

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值