HBase是什么?
Apache HBase™ is theHadoop database, a distributed, scalable, big data store.
Apache Hbase 是hadoop数据库,一个分布式的,可扩展的大数据存储。
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's Bigtable: A Distributed Storage System for Structured Data by 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.
当你需要对你的大量数据进行随机近实时读写时使用Hbase。HBase的目标是在商用硬件集群上管理非常大的表,数十亿行X数百亿列。HBase是一个模仿Gootable’s Bigtable的,开源的、分布式的、版本化的非关系型数据库。Google’s Bigtable是一个由Chang等人创建的一个结构化的分布式存储系统。正如Bigtable利用谷歌的分布式文件存储系统,Apache HBase 在Hadoop和HDFS上提供类似Bigtable的功能。
注:Hbase也是常见的Nosql之一。
RDBMS:关系型数据库的特点:存储结构化数据、文本存储、单机、存储小1G以下或左右
什么是nosql?
Nosql的定义
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,具体来说就是跟关系型数据库有些类似(查询低延迟),但同时能够存储的数据类型却更加灵活,常见的有列式存储和文档存储等,为了跟关系型数据库加以区分,称之为非关系型的数据库。Hbase是Nosql的一个种类,其特点是列式存储。
出现的原因
随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
互联网+
普通+物联网
--数据量产生巨大
Nosql的作用
NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
常见的nosql数据库类型及其代表
非关系型数据库——列存储(HBase)
非关系型数据库——文档型存储(MongoDb)
非关系型数据库——内存式存储(redis) KV
非关系型数据库——图形模型(Graph)
HBase能用来干什么?
存储大量结果集数据,并提供低延迟的随机查询。说的通俗一些,就是一个超级版的数据库,相比较与mysql、postgresql和oracle、sqlserver等关系型数据库而言,能够存储的数据量更大(比关系型数据库大很多很多),同时查询延迟相比较与其他hadoop产品(pig、hive)要低。
HBase跟hive有什么区别?
Hive的定位是数据仓库,虽然也有增删改查,但其删改查对应的是整张表而不是单行数据,查询的延迟较高。其本质是更加方便的使用mr的威力来进行离线分析的一个数据分析工具。
HBase的定位是hadoop的数据库,