设为首页 加入收藏

TOP

图解Nosql(HBase)与传统数据库的区别
2019-03-05 01:41:40 】 浏览:73
Tags:图解 Nosql HBase 传统 数据库 区别
对于大多数做技术的人员,都知道我们传统数据库是什么样子的,那么如下图所示,我们操作的对象是行。
也就是增删改查,都是以为对象。

1.传统数据库增加删除介绍

图1
下面我们以mysql为例:


插入数据

  1. mysql>INSERTINTOblog_user(`user_Name`,`user_Password`,`user_emial`)VALUES('aboutyun','aboutyun','aboutyun@sina.com');
mysql>INSERT INTO blog_user (`user_Name`,`user_Password`,`user_emial`)VALUES ('aboutyun','aboutyun', 'aboutyun@sina.com');



删除数据

  1. mysql>deletefromblog_userwhereuser_name="aboutyun";
mysql> delete from blog_user where user_name="aboutyun";

复制代码

2.Nosql数据库增加删除介绍


图2
以hbase为例:

创建表

  1. create'blog_user','userInfo'
create 'blog_user','userInfo'


复制代码



插入数据

这里是关键点,也是很多人不容易理解的地方

  1. hbase(main):012:0>put'blog_user','www.aboutyun.com','userInfo:user_Name','aboutyun'
  2. 0row(s)in1.7530seconds
hbase(main):012:0> put'blog_user','www.aboutyun.com','userInfo:user_Name','aboutyun'
0 row(s) in 1.7530 seconds


复制代码

上面我们看到了
1所示是什么,我们在传统数据块里面根本没有,这是nosql所特有的,是一个rowkey,是系统自带的,也是nosql中一条记录的唯一标识。但是这个唯一标识,有跟我们的传统数据库是有所差别的。如图1所示,“记录1”便是rowkey.

2所示是我们插入的列user_Name,这也是最难以理解的地方,列竟然可以插入。并且其’value‘为3即'aboutyun'

我们插入了列,下面我们来查看一下效果:


下面来解释一下上面的含义:
我们会看到
1rowkey,插入数据www.aboutyun.com‘,
2为列族下面列的名字user_Name
3我们并没有在设计的添加这个列族,所以这个是系统自带的,这个是记录的操作时间,以时间戳的形式放到hbase里面。
4是我们插入的user_Name的值

下面我们再插入password:

  1. put'blog_user','www.aboutyun.com','userInfo:user_Password','aboutyun'
put'blog_user','www.aboutyun.com','userInfo:user_Password','aboutyun'

复制代码



再次查询结果:


  1. hbase(main):016:0>scan'blog_user'
  2. ROWCOLUMN+CELL
  3. www.aboutyun.comcolumn=userInfo:user_Name,timestamp=1400663775901,value=aboutyun
  4. www.aboutyun.comcolumn=userInfo:user_Password,timestamp=1400665203430,value=aboutyun
  5. 1row(s)in0.0390seconds
hbase(main):016:0> scan 'blog_user'
ROW                             COLUMN+CELL                                                                             
 www.aboutyun.com               column=userInfo:user_Name, timestamp=1400663775901, value=aboutyun                      
 www.aboutyun.com               column=userInfo:user_Password, timestamp=1400665203430, value=aboutyun                  
1 row(s) in 0.0390 seconds


复制代码


到这里,我们看到两行记录,传统数据块认为这是两行数据,对于nosql,这是一条记录。

删除列数据

删除数据分为删除列和删除记录
1.删除列
这里面的删除,没有删除
delete 'blog_user','www.aboutyun.com','userInfo:user_Password'


从上面我们看出列被删除了
2.删除记录:

  1. deleteall'blog_user','www.aboutyun.com'
deleteall 'blog_user','www.aboutyun.com'

复制代码

这是删除之前显示结果,这里已经是


删除后结果



总结

对于传统数据库,增加列对于一个项目来讲,改变是非常大的。但是对于nosql,插入列和删除列,跟传统数据库里面的增加记录和删除记录类似
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇flink实战--读写Hbase 下一篇HBase 客户端类型 (四)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目