Hbase 基本数据结构(通俗易懂)

您所在的位置:网站首页 hbase基本原理 Hbase 基本数据结构(通俗易懂)

Hbase 基本数据结构(通俗易懂)

#Hbase 基本数据结构(通俗易懂)| 来源: 网络整理| 查看: 265

目前,Hadoop生态里的组件已经很丰富了。HDFS作为一个大数据文件管理系统,其优势是十分明显的。当然它的缺点是不适合存储和处理大量的小文件。本文主要介绍Hbase,HDFS的细节不再赘述。

Hbase呢?它是什么?

Use Apache HBase™ when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware. Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google'sBigtable: A Distributed Storage System for Structured Databy Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, Apache HBase provides Bigtable-like capabilities on top of Hadoop and HDFS.[1]

基本来说,Hbase是基于HDFS文件管理系统的一种表结构数据库。HBase在HDFS之上提供了高并发的随机写和支持实时查询,这是HDFS不具备的。而且Hbase存储数据的结构可以地非常灵活。

Hbase的数据结构:

如果套用mysql的表结构去理解hbase显然是不对的。虽然hbase也是表结构,但是底层逻辑完全不同。

Hbase的一行数据由一个行键一个或多个相关的列以及它的值所组成。

HBase的列(Column)都得归属到列族(Column Family)中。在HBase中用列修饰符(Column Qualifier)来标识每个列。在HBase里边,先有列族,后有列一个列族下可以任意添加列,不受任何限制。数据写到HBase的时候都会被记录一个时间戳,这个时间戳被我们当做一个版本。比如说,我们修改或者删除某一条的时候,本质上是往里边新增一条数据,记录的版本加一了而已。

所以它的存储逻辑是列式存储的:

在表中对记录的值进行修改,实际上就是多添加一条记录,在读的时候按照时间戳读最新的记录。对用户来说,看起来就是把这条记录改了。

HBase本质上其实就是Key-Value的数据库:

Key由RowKey(行键)+ColumnFamily(列族)+Column Qualifier(列修饰符)+TimeStamp(时间戳--版本)+KeyType(类型)组成,而Value就是实际上的值。

参考^https://hbase.apache.org/


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3