您的位置:首页 > 数据库

HBase与RDBMS&HDFS对比

2017-08-15 23:15 183 查看
在使用Hbase之前,我们来简单的介绍一下HBase;

Hbase是一种分布式的列式的存储系统,和传统的RDBMS不一样;

Hbase是一种面向列的数据库;

那么什么是面向列?

坐标系大家都知道吧?(不知道请自行百度.哈哈哈哈)几个坐标放在一起可以指定到一个准确的位置;

Hbase中的数据需要通过行键(Rowkey以下称作rk),列族(ColumnFamily以下称作cf),(Column以下称作 c),以及版本号(TimeStamp 默认为时间戳),来确定的;

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

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

如果想使用SQL在Hbase中查询可以使用Phoenix框架

或者使用Hive与Hbase集成,则可以使用一些Hive的手段去查询

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

RowKeynameageteladdress
xx1zhangsan25186xxxbeijing
xx2lisi16147xxxshanghai
那么name为基础信息将其放进一个Column_Family中basic_info

age tle address 作为私有信息放进private_info中

id 作为一个Rowkey

那么通过

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


HBase和HDFS的区别

比较HDFSHbase
写入方式仅能追加随机写入
读取方式全表扫描&分区扫描随机读取&小范围扫描&全表扫描
SQL性能非常好比HDFS慢4-5倍
结构化存储非常多列族&列
存储量~PB~PB
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐