Hbase是非常适合非结构化数据存储的数据库。它由PowerSet的ChadWalters和JimKellerman于2006年底发起,并于2008年成为ApacheHadoop的子项目。。它已被许多公司用作产品。分布式数据库HBase授权协议:Apache开发语言:Java操作系统:跨平台项目地址:https://github.com/apache/hbaseHBase项目介绍HBase——Hadoop数据库,是一个高可靠、高性能、面向列的数据库,可扩展的分布式存储系统,利用HBase技术在廉价的PC服务器上构建大规模结构化存储集群。HBase是GoogleBigtable的开源实现,类似于GoogleBigtable使用GFS作为文件存储系统,HBase使用HadoopHDFS作为文件存储系统;Google运行MapReduce处理Bigtable中的海量数据,HBase也使用HadoopMapReduce处理HBase中的海量数据;GoogleBigtable使用Chubby作为协作服务,HBase使用Zookeeper作为对口。Hbase特性大表:亿行*百万列*千版本=TB或PB级存储面向列:面向列(family)的存储和访问控制,列(family)独立检索。稀疏:对于空(null)列,不占用存储空间,所以表可以设计得很稀疏。多版本数据:每个单元格中的数据可以有多个版本。默认情况下会自动分配版本号,即插入单元格时的时间戳;单一数据类型:Hbase中的数据都是字符串,HBase系统架构中没有类型HBase中的组件包括Client、Zookeeper、HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、HLog等。HBase中的table通过rowkey按照一定的范围划分成多个子表(HRegion),默认情况下超过256M的HRegion会被拆分成两个,这个过程由HRegionServer管理,HRegion的分配由HMaster管理.相关术语介绍RowKey:是一个Byte数组,是表中每条记录的“主键”,方便快速查找。Rowkey的设计非常重要。表中的行按照行的键值排序,数据按照RowKey的字典序排序存储。ColumnFamily:列族,有一个名称(字符串),包含一个或多个相关的列。列族必须作为表架构定义的一部分进行预定义。例如创建'alarmInfo','i'Column:属于某个columnfamily,familyName:columnName,每条记录可以动态添加VersionNumber:类型为Long,默认值为系统时间戳,可以通过自定义userValue(Cell):由{rowkey,column(=+