HBase与RDBMS&HDFS对比

来源:互联网 发布:网络教师招聘兼职 编辑:程序博客网 时间:2024/05/21 11:25

在使用Hbase之前,我们来简单的介绍一下HBase;
Hbase是一种分布式的列式的存储系统,和传统的RDBMS不一样;
Hbase是一种面向列的数据库;

那么什么是面向列?
坐标系大家都知道吧?(不知道请自行百度.哈哈哈哈)几个坐标放在一起可以指定到一个准确的位置;
Hbase中的数据需要通过行键(Rowkey以下称作rk),列族(ColumnFamily以下称作cf),(Column以下称作 c),以及版本号(TimeStamp 默认为时间戳),来确定的;

下面是笔者总结的HBase和RDBMS的区别

比较 RDBMS Hbase 数据构成 行式 面向列族 数据类型 多种类型 String 事务 多行 单行 查询语言 SQL API 安全性 授权&验证 高版本中也有 索引 指定列 基于Row_Key 存储量 TBs ~1PB(只要HDFS足够) 读写速度(s) 千次 百万次

注:
如果想使用SQL在Hbase中查询可以使用Phoenix框架
或者使用Hive与Hbase集成,则可以使用一些Hive的手段去查询

比如现在有两个人将其记录到HBase中

RowKey name age tel address xx1 zhangsan 25 186xxx beijing xx2 lisi 16 147xxx shanghai

那么name为基础信息将其放进一个Column_Family中basic_info
age tle address 作为私有信息放进private_info中
id 作为一个Rowkey
那么通过

rk + cf + c + time ==> value#也就像坐标一样xx1 + basic_info + name + time ==> zhangsanxx1 + private_info + age +time25

HBase和HDFS的区别

比较 HDFS Hbase 写入方式 仅能追加 随机写入 读取方式 全表扫描&分区扫描 随机读取&小范围扫描&全表扫描 SQL性能 非常好 比HDFS慢4-5倍 结构化存储 非常多 列族&列 存储量 ~PB ~PB
原创粉丝点击