about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 63721|回复: 25

[实操演练] 图解Nosql(hbase)与传统数据库的区别

[复制链接]
发表于 2014-5-21 18:08:09 | 显示全部楼层 |阅读模式
本帖最后由 pig2 于 2014-5-21 18:23 编辑
问题导读:
1.nosql数据库能否删除列
2.nosql数据库如何删除一条记录
3.nosql数据库列族和lieder区别是什么?
4.nosql操作与传统数据库的操作区别在什么地方?






对于大多数做技术的人员,都知道我们传统数据库是什么样子的,那么如下图所示,我们操作的对象是行。
也就是增删改查,都是以为对象。

1.传统数据库增加删除介绍
关系型数据库.jpg 图1
下面我们以mysql为例:
createtable.jpg


插入数据
mysql>INSERT INTO blog_user (`user_Name`,`user_Password`,`user_emial`)VALUES ('aboutyun','aboutyun', 'aboutyun@sina.com');

insertData.jpg

删除数据:
  1. mysql> delete from blog_user where user_name="aboutyun";
复制代码
删除数据.jpg


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

nosql.jpg
图2
以hbase为例:
创建表:
  1. create 'blog_user','userInfo'
复制代码

createhbaseuser.jpg


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

  1. hbase(main):012:0> put'blog_user','www.aboutyun.com','userInfo:user_Name','aboutyun'
  2. 0 row(s) in 1.7530 seconds
复制代码
hbaseinsert.jpg
上面我们看到了
1所示是什么,我们在传统数据块里面根本没有,这是nosql所特有的,是一个rowkey,是系统自带的,也是nosql中一条记录的唯一标识。但是这个唯一标识,有跟我们的传统数据库是有所差别的。如图1所示,“记录1”便是rowkey.

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

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


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

下面我们在插入password:
  1. hbase(main):015:0> put'blog_user','www.aboutyun.com','userInfo:user_Password','aboutyun'
复制代码

insertPassword.jpg


再次查询结果:
  1. hbase(main):016:0> scan 'blog_user'
  2. ROW                             COLUMN+CELL                                                                             
  3. www.aboutyun.com               column=userInfo:user_Name, timestamp=1400663775901, value=aboutyun                     
  4. www.aboutyun.com               column=userInfo:user_Password, timestamp=1400665203430, value=aboutyun                  
  5. 1 row(s) in 0.0390 seconds
复制代码
insertTwo.jpg


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


删除列数据

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

从上面我们看出列被删除了
2.删除记录:
  1. deleteall 'blog_user','www.aboutyun.com'
复制代码

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

删除后结果

shanchuhoujieguo.jpg



总结
对于传统数据库,增加列对于一个项目来讲,改变是非常大的。但是对于nosql,插入列和删除列,跟传统数据库里面的增加记录和删除记录类似






欢迎加入about云群371358502、39327136,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

0

主题

2

听众

0

收听

注册会员

Rank: 2

积分
55
发表于 2014-12-13 10:37:27 | 显示全部楼层
解释的很好谢谢

1

主题

5

听众

2

收听

中级会员

Rank: 3Rank: 3

积分
589
QQ
发表于 2014-7-29 11:37:01 | 显示全部楼层
好东西,学习了,感觉接触nosql有点晚了,早点接触多好啊,加油

0

主题

0

听众

0

收听

新手上路

Rank: 1

积分
18
发表于 2014-8-1 13:14:35 | 显示全部楼层
感谢LZ分享知识。。。

0

主题

2

听众

0

收听

注册会员

Rank: 2

积分
66
发表于 2014-8-29 14:15:03 | 显示全部楼层
除了谢谢还是谢谢!

11

主题

4

听众

1

收听

高级会员

Rank: 4

积分
1995
发表于 2014-9-5 12:27:54 | 显示全部楼层
很容易理解。。。。

0

主题

3

听众

0

收听

高级会员

Rank: 4

积分
2539
发表于 2014-9-5 15:20:01 | 显示全部楼层
知识非常好,感谢楼主!

11

主题

4

听众

1

收听

高级会员

Rank: 4

积分
1995
发表于 2014-9-6 18:45:35 | 显示全部楼层
很好理解,不错。。。。。

0

主题

2

听众

0

收听

新手上路

Rank: 1

积分
21
发表于 2014-9-13 21:24:29 | 显示全部楼层
感谢楼主,受用了

18

主题

18

听众

15

收听

高级会员

Rank: 4

积分
2729
QQ
发表于 2014-9-17 10:03:12 | 显示全部楼层
图文结合,理论结合实践,好文,通俗易懂...

0

主题

3

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
706
发表于 2014-9-18 08:51:37 | 显示全部楼层
很好理解,不错。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /3 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2019-5-24 18:02 , Processed in 0.464851 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表