全方位认识HBase:一个值得拥有的NoSQL数据库(一)
前言:说起HBase这门技术,在认知上对于稍微接触或使用过它的人来讲,可能只是百千数据库中一个很普通的库,大概就像我对Redis的认知一样:缓存嘛!可对于HBase,我确实是带着某些感情在的。今日突然萌生了一个生趣的想法,想抛开技术的视角,从情感的角度,像写小说一样,写写这位老朋友,这可能会有点滑稽吧,不过我觉得很放松。《全方位认识HBase:一个值得拥有的NoSQL数据库》:从今天起,我们就暂且认为这是一本小说的名字吧!哈哈~
其实我特别想做的一件事情,就是想让更多的人来认识并使用HBase这门地地道道的大数据栈技术,当然不为别的,主要原因还是HBase真的很棒很热,自己用着感觉真的好,不好的产品我怎么会推荐给你呢?毕竟HBase这家伙不会给我一分钱的广告费~
那首先,我想给大家分享的内容就是:在我刚接触HBase这位老朋友的时候根本不想去看的一些觉得没用的东西。什么呢?其实就是特别无聊又深奥的好像还不得不问的灵魂三问:我是谁?我从哪里来?我要到哪里去?
为什么想写写这个呢?真的好无聊啊~ 当然肯定不是我太无聊了,说实话,是因为对它真的有感情了,所以就想把它的前世今生全都介绍给你,可能算是一种情怀,也可能算是一种敬畏,也可能只是怕赶路的人忘了它是谁。
我从哪里来?
我们知道,HBase出现于大数据背景之下,那么谈到这个问题,我们不得不提一下当年奠定了大数据算法基础的风靡全球的Google三篇论文,也称为Google的三驾马车:Google FS[2003]、MapReduce[2004]、BigTable[2006]。三篇论文中文版链接这里提供给大家,闲来没事可以看一看。
链接:https://pan.baidu.com/s/1EIhGR6gADm2BnEh5hW4KUA
提取码:c1wb
这三篇论文为何风靡全球呢?我们说随着大数据时代的到来,我们同样面临着大数据所带给我们的核心二问:
1、海量数据如何存储?
2、海量数据如何计算?
3、海量结构化数据如何高效读写?
然而,而谷歌公司在2003年至2006年发布的三篇论文则为解决两个问题提供了思路。
“ 我们设计并实现了 Google GFS 文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。
GFS 虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的
服务。
...
GFS 完全满足了我们对存储的需求。”
Google GFS 文件系统超前的设计思想,为解决大数据时代海量数据的存储提出了解决思路,同时对今后的分布式系统设计都提供了宝贵的指导意义。而MapReduce框架则解决了大数据时代海量数据如何计算的问题,虽然现在的Spark很火,但吃水不能忘了挖井人。
2006年,Google发布了第三篇重要论文。Bigtable 是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的 PB 级的数据。Bigtable 的设计目的是可靠的处理 PB 级别的数据,并且能够部署到上千台机器上。用于解决Google内部海量结构化数据的存储以及高效读写问题。
也正是因为这三篇论文的发表,才有了而后的HDFS、MapReduce 和 HBase,才有了2015大数据元年。下面我们详细看一下Hadoop 家族的编年史,这里你大概也可以看出HBase在Hadoop家族中的地位。
* 2002年10月,Doug Cutting和Mike Cafarella创建了开源网页爬虫项目Nutch。
* 2003年10月,Google发表Google File System论文。
* 2004年7月,Doug Cutting和Mike Cafarella在Nutch中实现了类似GFS的功能,即后来HDFS的前身。
* 2004年10月,Google发表了MapReduce论文。
* 2005年2月,Mike Cafarella在Nutch中实现了MapReduce的最初版本。
* 2006年1月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。
* 2006年2月,Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。
* 2006年3月,Yahoo!建设了第一个Hadoop集群用于开发。
* 2006年4月,第一个Apache Hadoop发布。
* 2006年11月,Google发表了Bigtable论文,这最终激发了HBase库的创建。
* 2007年10月,第一个可用的HBase发布了。
* 2008年1月,Hadoop成为Apache顶级项目。
* 2008年1月,HBase成为 Hadoop 的子项目。
* 2008年6月,Hadoop的第一个SQL框架——Hive成为了Hadoop的子项目。
* 2009年7月 ,MapReduce 和 HDFS成为Hadoop项目的独立子项目。
* 2009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。
* 2009年10月,首届Hadoop World大会在纽约召开。
* 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。
* 2010年9月,Hive 脱离Hadoop,成为Apache顶级项目。
* 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。
* 2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。
* 2012年8月,YARN成为Hadoop子项目。
* 2012年10月,第一个Hadoop原生MPP查询引擎Impala加入到了Hadoop生态圈。
* 2014年2月,Spark逐渐代替MapReduce成为Hadoop的缺省执行引擎,并成为Apache基金会顶级项目。
* 2015年10月,Cloudera公布继HBase以后的第一个Hadoop原生存储替代方案——Kudu。
* 2015年12月,Cloudera发起的Impala和Kudu项目加入Apache孵化器。
好了,一张图向大家道一声晚安吧,挺晚了,该睡了~ 下一章我们再追问“我是谁?”的灵魂思考吧~
参考文章
https://blog.csdn.net/lfq1532632051/article/details/53219558
转载请注明出处!欢迎关注本人微信公众号【HBase工作笔记】
全方位认识HBase:一个值得拥有的NoSQL数据库(一)的更多相关文章
- HBase:分布式列式NoSQL数据库
传统的ACID数据库,可扩展性上受到了巨大的挑战.而HBase这类系统,兼具可扩展性的同时,也提出了类SQL的接口. HBase架构组成 HBase采用Master/Slave架构搭建集群,它隶属于H ...
- 15一个NoSql数据库
随着因特网web2.0该网站的兴起.非关系型数据库,现在已经成为一个非常受欢迎的新领域.非关系数据库产品的发展非常迅速.而在处理传统的关系数据库web2.0现场.特别是大规模,高并发SNS类型web2 ...
- NoSQL数据库笔谈(转)
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
- 15个nosql数据库
1.MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案.当数据量达到50GB以上 ...
- NoSQL数据库笔谈
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
- 15款NOSQL数据库
1.MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案.当数据量达到50GB以上 ...
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2 ...
- Linux实战教学笔记44:NoSQL数据库开篇之应用指南
第1章 NoSQL数据库 1.1 NoSQL概述 自关系型数据库诞生40年以来,从理论产生发展到现实产品,例如:大家最常见的MySQL和Oracle,逐渐在数据库领域里上升到了霸主地位,形成每年高达数 ...
- NoSql数据库MongoDB系列(1)——MongoDB简介
一.NoSQL简介 NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型的数据库 .是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨.No ...
随机推荐
- [Alg] 文本匹配-多模匹配-AC自动机
1. 简介 AC自动机是一种多模匹配的文本匹配算法. 如果采用naive的方法,即依次比较文本串s中是否包含模式串p1, p2,...非常耗时.考虑到这些模式串中可能具有相同子串,可以利用已经比较过的 ...
- 升级Kubernetes 1.18前,你不得不知的9件事
本文来自Rancher Labs 昨天Kubernetes最新版本v1.18已经发布,其包含了38项功能增强,其中15项为稳定版功能.11项beta版功能以及12项alpha版功能.在本文中,我们将探 ...
- [Docker4] Docker-machine进行多docker host管理
Docker Machine Docker machine就是自动化安装docker daemon Docker machine的provider docker machine provider 常见 ...
- ASP.NET MVC升级到ASP.NET Core MVC踩坑小结
写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大 ...
- java split方法使用注意事项
在java.lang包中有String.split()方法,返回是一个数组. 使用时要注意参数如果是特殊符号的话要进行转义. 1."."和"|"都是转义字符,必 ...
- VMware使用总结
1.处理器设置释疑 比如一个8核16线程处理器 处理器数量最多设置为8,而每个处理器的内核数量*处理器个数必须小于等于16. 2.虚拟网络编辑器 NAT模式中可通过NAT设置将内部端口映射到主机端口. ...
- Apache服务的主要目录和配置文件详解
Apache服务的主要目录和配置文件详解 2014-01-14 19:05:14 标签:httpd配置文件详解 apache配置文件 httpd配置文件 apache文件目录 原创作品,允许转载,转载 ...
- C 2012年笔试题(保)
1 程序改错 1.1 下面程序段的功能是交换两个字符数组的内容(每个字符串字符数均不超过100) (8分) [ 见2012年笔试题1.1] void StrSwap(char *pa,char ...
- 深度强化学习(DRL)专栏(一)
目录: 1. 引言 专栏知识结构 从AlphaGo看深度强化学习 2. 强化学习基础知识 强化学习问题 马尔科夫决策过程 最优价值函数和贝尔曼方程 3. 有模型的强化学习方法 价值迭代 策略迭代 4. ...
- 使用node.js中遇到的一些小bug
1.BUG Cannot set headers after they are sent to the client 解决:即发出一次请求得到两次或以上的回应时会出现此警告,此时注意查看再在一些条件下 ...