Hbase 基本数据结构(通俗易懂) |
您所在的位置:网站首页 › hbase基本原理 › Hbase 基本数据结构(通俗易懂) |
目前,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 |