HBase基础总结

HBase是什么?

hbase是bigtable的开源(源码使用Java编写)版本。是建立在hdfs之上的,被设计用来提供高可靠性、高性能、列存储、可伸缩、多版本的NoSQL的分布式数据存储系统,实现对大型数据的实时、随机读写的读写访问

事务的四大特性

事务主要用于管理insert、update、delete语句。
一般来说,事务必须满足四个条件:原子性、一致性、隔离性、持久性。

  • 原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某环节。事务在执行过程中发生错误,会回滚到事务开始前的状态,就像这个事务没有执行过一样。
  • 一致性:在事务开始之前、结束之后,数据库的完整性没有被破坏。
  • 隔离性:数据库i允许多个并发事务,同时对其数据进行读写和修改的能力。隔离性可以防止多个并发事务执行,由于交叉执行,而导致的数据不一致。事物的隔离分为不同级别,包括读未提交;读提交;可重复读;和串行化。
  • 持久性:事务处理结束后,对数据的修改就是永久的,即使系统故障也不会丢失数据。

HBase的数据库要点

  1. 高并发,可扩展,解决海量数据集的随机实时增删改查
  2. HBase 本质依然是 Key-Value 数据库,查询数据功能很简单,不支持 join 等复杂操作(可通过 Hive 支持来实现多表 join 等复杂操作)
  3. 不支持复杂的事务,只支持行级事务
  4. HBase 中支持的数据类型:byte[](底层所有数据的存储都是字节数组)
  5. 主要用来存储结构化和半结构化的松散数据。

数据结构

  • 结构化:数据结构字段含义确定,清晰,典型的如数据库中的表结构
  • 半结构化:具有一定结构,但语义不够确定,典型的如HTML网页,有些字段是确定的(title),有些不确定(table)
  • 非结构化:杂乱无章的数据,很难按照一个概念去进行抽取,无规律性

hbase的特点

  • 面向列
    hbase是面向列的存储和权限控制,并支持独立索引。列式存储,其数据在表中是按照某列存储的,在查询只需要少数的几个字段时,能够大大的减少读取的数据量。
  • 多版本
    hbase每一个列的存储有多个Version。
  • 稀疏性
    为空的列不占用存储空间,表可以设计的非常稀疏。

  • 一个表可以有数十亿行,上百万列。
  • 数据类型单一
    hbase中的数据都是字符串,没有类型

CAP理论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值