演讲人:时间:
2018.3
Hbase
提纲
1Hbase概述
2Hbase数据模型
3Hbase架构
4Hbase安装
5Hbase基本操作
H Base是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言
为Java。它是Apache软件基金会的Hadoop 项目的一部分,运行于HDFS文件系统之上,为Hadoop 提供类似于BigTable 规模的服务,可以存储海量稀疏的数据,并具备一定的容错性、高可靠性及伸缩性。主要应用场景是实时随机读写超大规模的数据。
HBase在列上实现了BigTable论文提到的压缩算法、内存操作和布隆过滤器。HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API 来存取数据,也可以通过REST、Avro或者Thrift的API来访问。
HBase不能取代RDBMS,因为二者的应用场景不同。HBase为了解决海量数据的扩展性,支持简单的增加节点来实现线性扩展,从而在集上管理海量的非结构化或半结构化的稀疏数据。HBase仅能通过主键(raw key)或主键的range检索数据,支持单行事务。
H base的特点:
大:一个表可以有上亿行,上百万列。
面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。
稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。
数据多版本:每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。
数据类型单一:HBase中的数据都是字符串,没有类型。
HBase的优势主要在以下几方面:
海量数据存储。
快速随机访问。
hbase主要用来储存什么数据大量写操作的应用。
常见的应用场景:
互联网搜索引擎数据存储(BigTable要解决的问题) 审计日志系统
实时系统
消息中心
内容服务系统