2-HBase简介与环境部署

本文介绍了HBase的基本概念,包括其在大数据生态圈的位置,与关系型数据库的区别,以及数据存储模型。HBase是列式数据库,适合非结构化数据存储,与HDFS的关系以及其在CAP定理下的设计选择。此外,还详细阐述了HBase的环境部署,包括Hadoop伪分布式集群和HBase伪分布式集群的安装步骤。
摘要由CSDN通过智能技术生成

2-1 HBase简介及其在大数据生态圈的位置

BigTable是什么?
BigTable是一种压缩性的,高性能的,高扩展性的基于google系统GFS数据库,用于存储大规模的结构化数据,在扩展性和性能方面有很大的优势。
面向列的数据库
也叫列式数据库。就是把每一列中的数据放在一起进行存储,其概念也是相对于行式数据库而言,比如关系型数据库。
关系型数据,要先建立表结构,还要建立索引,如果数据量很大的进行查询性能可能会很差。列式存储每一列都是单独进行存放的,数据就是索引,降低了系统的IO,而且每一列的数据类型基本上是统一的,易于压缩。
行式数据库适合于随机读,列是数据库适合于大批量的读。具体使用哪种类型的数据库,还要看具体的需求。
为什么HBase适合非机构化数据存储
结构化数据是可以用二维表格存储的数据,非结构化数据比如图片,图表,文档等。对于非结构化的数据,可以以二进制的方式将数据存储到HBase中。这样不管是存储还是查询,都是非常方便和快捷的,并且非常容易扩张。
HBase和HDFS区别
HBase 建立在 Hadoop 文件系统之上,利用Hadoop 的文件系统的容错能力
HBase 提供对数据的随机实时读/写访问功能
HBase 内部使用哈希表,并存储索引,可将在HDFS文件中的数据进行快速查找
HBase的使用场景
瞬间写入量很大,常用的是数据库不好支撑或需要很高的成本支撑
数据需要长久保存,且量会持久增长到比较大的场景
HBase不适用于有join,多级索引,表关系复杂的数据模型。

2-2 HBase数据存储模型及与关系型数据库的区别

CAP定理
对于一个分布式系统不可能同时满足以下三点:
一致性(所有节点在同一时间具有相同的数据)
可用性(保证每个请求不管成功或者失败都有响应,但不保证获取的数据为正确的数据)
分区容错性(系统中的任意数据丢失或者失败不影响系统的继续运作,系统如果不能在某一个时间内达成数据的一致性,就必须在上面两个操作之间做出选择)
对于分布式系统,分区容错性是其必备的,所以要在一致性和可用性中做取舍,几乎所有的情况都是牺牲一致性来换取高可用性。牺牲一致性,只是不像关系型数据库一样要求强一致性,而是要求最终达成一致性。HBase是强一致性的。
ACID定义
Atomic(原子性):指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。
Consistency(一致性):指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNTS表中Tom和Jack的存款总额为2000元。
I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值