HBase初步了解

HBase初步了解

什么实HBase

HBase 是分布式非结构化面向列的开源数据库。数据文件都存储在Hadoop HDFS文件系统上,所以HBase必须要在Hadoop的环境下使用。仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务

HBase 用途

主要用来存储非结构化和半结构化的松散数据。存数据是分区存储,自动分区。

使用场景

  1. 系统需要适应不同种类的数据格式和数据源,不能预先严格定义模式,需要处理大规模数据
  2. 不强调数据之间的关系,所要存储的数据是半结构化或非结构化的;
  3. 数据非常稀疏;
  4. 想要更好的进行扩展;

表结构

一张表由多行组成,每一行由多个列组成,这些列可以使单个的列也可以是列族(column family),列族有多个列组成的,一个列族所有的列都存放在相同的存储文件中(HFile二进制格式文件)。注意每行列族控制在2-3个,因为刷新某一个列族的时候会同时刷新他相邻的列族 每行有一个唯一的行健(rowKey)其长度默认应该小于65536,检索时根据行健检索。

在这里插入图片描述

如图所示是一个简单的Hbase表结构,timestamp是时间戳,表示列的版本。
行数据的存取操作是具有原子性的,要么全部成功要么全部失败,可以读取任意数目的列还不支持跨行事务和跨表事务。

疑问

  1. Hbase表的字段数据类型是什么
    HBase只有字符串类型,存入的都字节(byte)类型。
  2. hbase的创建语句
    hbase是通过shell脚本来编写创建语句的。
  3. 如何查询指定的数据
    只能通过行健来查询数据
  4. 表中的数据是否都是二进制的字节码?

优点

  1. 列可以动态增加,列为null时不占空间。节省空间。
    2.Hbase自动切分数据,使得数据存储自动具有水平scalability.
    3.Hbase可以提供高并发读写操作的支持

缺点

不支持条件查询,只能通过row key 来查询。

补充

1.数据操作:HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系,不可以做连接查询的操作。
2.存储模式:HBase是基于列存储的,每个列族都由几个文件保存,不同的列族的文件是分离的。相同的列族是存放在相同的文件中的。而传统的关系型数据库是基于表格结构和行模式保存的
3.数据维护,HBase的更新操作不应该叫更新,它实际上是插入了新的数据,而传统数据库是替换修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值