一、背景介绍
我们生活在一个互联网的时代,这个时代的特点是,无论任何事情,只要我们想知道,都可以通过互联网迅速的检索到问题的答案,并且答案是有用的,并非常切合我们的需要。
因此,很多公司都开始致力于提供更加有针对性的,个性化的服务。因为这种能力会直接影响公司在商业上的成败
为什么以前我们没有出现这样的服务呢?是因为我们不需要这些信息?还是其他原因呢?
因为以前缺乏“划算”的方式来存储所有信息。因此,公司可能会忽略掉某些数据源,但这种方式站在今天,会让公司失去竞争力,因为大数据时代的到来,今天的我们不仅只关心“开始”与“结束”,我们更关心中间的过程。
通过将相应“过程”信息存储在计算机中,我们可以利用新机器学习算法的引入,收集更多数据需求,为我们的客户提供更切合需求的定制化服务,真正实现“私人定制”的目标;
而实现这一切的“起点”,首先需要解决的就是——“存” 。
二、Hbase
Hbase和Hadoop都是Apache软件基金会下的顶级子项目。HBase是一个分布式的、面向列的开源数据库。该技术思想来源于Google发表的“Bigtable”论文;
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,另一个不同的是HBase基于列的而不是基于行的模式。
三、优势对比
传统关系型数据库的缺陷:
1、高并发读写的瓶颈
2、可扩展性的限制
3、数据量大的查询的负面影响
4、复杂SQL查询的弱化
非关系型数据库的优势:
1、可扩展性强
2、并发性能好
3、数据模型灵活
四、应用领域
2006年底由PowerSet 的Chad Walters和Jim Kellerman 发起,2008年成为Apache Hadoop的一个子项目,目前,Hbase和Hadoop都是Apache基金会下的顶级项目。
国外应用:Facebook、Yahoo、Adobe、Twitter、Trend Micro、ebay。
国内应用:阿里巴巴、苏宁、京东、腾讯、百度、新浪、人人网、中国移动、乐视、优酷、联想。
学科领域的应用:金融、生物信息学、智能电网、销售、基因组学、移动电话服务、军事、环境工程。
五、Hbase与Hadoop
Hbase是搭建在Hadoop之上的,Hbase可单独使用,即只做存储功能,也可与Hadoop可实现无缝集成。
存放在Hbase的数据可直接通过Hadoop来进行分析,Hadoop分析后的结果可直接写入Hbase中。
HDFS(Hadoop Distributed File System)只是一个存储空间,Hbase是一个内存数据库,Hbase中的表、索引等是存在HDFS之上的,总而言之,Hbase所有数据文件在HDFS上存储。
六、应用场景
1、大数据量且有快速随机访问的需求
2、数据容量的横向扩展
3、业务场景简单,不需要关系数据库中很多特性(例如事务,连接等等)
4、需要很高的读写吞吐量
5、存储结构化和半结构化的数据