
· Nosql的学习历程 ·
Nosql的英文全称为not only sql,泛指非关系型数据库。随着互联网时代的推进,传统的关系型数据库有些力不从心,主要是难以应对大数据量的各种并发操作、实时操作。Nosql类型数据库因其灵活、快速、多样性的特点迅速崛起。近几年在工作生活中接触到的采用了nosql类型数据库的产品也越来越多。
作为一个在关系型数据库生根多年的测试人员,如何快速转型,并在新型数据库中从容淡定,这就是我们今天的话题,希望对大家能有一点帮助。
学习过程以hbase为例,其他新型数据库学习过程可以类比。
建议在学习nosql数据库前能对当前的大数据生态圈有一定了解。附上一张生态圈及其组件的图。

01
总体基础知识
首先了解一下总体基础知识,内容包括nosql出现的背景、特点、应用场景、分类。一边了解一边整理读书笔记。学习路线参考如下:

02
hbase基础知识
接着开始重点了解hbase的基础知识,内容包括hbase的特点,生存环境,数据存储架构DDL,DML操作等。学习路线参考如下:

其中生存环境和数据存储架构是可以先有一个简单的认知,待后面试用后再回头体会。数据模型需要重点了解,逻辑模型是列式存储的体现,是重点中的重点,对于业务理解和实际操作都很关键。物理模型是数据在hdfs上存储(也可以本地存储),可以结合数据存储架构一起学习。
DML和DDL是实际操作。Hbase提供了基于Java API的DDL与DML操作,但测试人员目前更多是直接通过shell命令去操作表。其创建以及增删改查的命令和语法与关系型数据库完全不同。所有操作也是在理解应用业务的基础上对表和表数据进行操作。
03
实际操作
了解完基础就要开始实际操作了。这个时候先把系统架构再回顾一下,然后开始环境搭建,语法试用DDL和DML。
系统架构如下图,因为要搭环境的时候需要知道哪些是必备的。从如下的架构中可以看到hbase是依赖hdfs和zookeeper的,所以这2项需要提前部署。Hbase如果使用自带的zookeeper,那只需要另外部署hdfs。Hdfs和hbase的具体部署找度娘,如果都默认设置的话,部署起来不麻烦。
部署完成后找到hbase 安装目录:bin目录下执行hbase shell就可以开始基本语法的试用,测试人员更常见点的是通过hbase scan filter查询出指定条件的数据,类似oracle的where子句。不会用的可以在shell命令行中输入help寻求帮助。
Hbase系统架构图

04
Hbase vs Hive
最后了解一下与hbase经常协作使用的hive的区别和联系。在大数据架构中,Hive和HBase经常是协作关系,hive负责数据计算,hbase负责成熟的、海量的、相对简单数据实时查询应用。
常见数据流图

简单总结一下2者之间的区别和联系:
共同点:都是架构在hadoop之上,都是用hdfs作为底层存储。
区别点:
Hive是建立在Hadoop上的数据仓库,hbase是基于Key/Value型的列式存储的Nosql数据库。
Hive中的表是逻辑表,hbase是物理表。
Hive 适合大数据的统计分析一般用时几分钟到几小时;HBase 适合成熟的,相对简单的大数据量的实时查询。
Hive是类sql数据库,其逻辑表结构,数据类型,数据操作都类似关系型数据库。是一种SQL执行引擎,对SQL的支持最终转换为map/reduce任务。
05
结束语
Nosql是非关系型数据库的统称,内容繁多,实际学习以工作需要和流行趋势为主。以上仅为个人在学习hbase的经历,分享出来共同进步,欢迎读者批评指正。
· END ·

新大陆软件评测中心
地址:福州市经济开发区儒江大道1号新大陆科技园B楼3层
邮箱:nlsetc@newland.com.cn
电话:0591-8397 9159
专业测试,成就卓越




