图解Nosql(hbase)与传统数据库的区别
http://www.aboutyun.com/thread-7804-1-1.html
(出处: about云开发)

问题导读:
1.nosql数据库能否删除列
2.nosql数据库如何删除一条记录
3.nosql数据库列族和lieder区别是什么?
4.nosql操作与传统数据库的操作区别在什么地方?

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

1.传统数据库增加删除介绍
图解Nosql(hbase)与传统数据库的区别-LMLPHP 图1
下面我们以mysql为例:
图解Nosql(hbase)与传统数据库的区别-LMLPHP

插入数据

图解Nosql(hbase)与传统数据库的区别-LMLPHP

删除数据:

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

复制代码

图解Nosql(hbase)与传统数据库的区别-LMLPHP

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

图解Nosql(hbase)与传统数据库的区别-LMLPHP 
图2
以hbase为例:
创建表:

  1. create 'blog_user','userInfo'

复制代码

图解Nosql(hbase)与传统数据库的区别-LMLPHP

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

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

复制代码

图解Nosql(hbase)与传统数据库的区别-LMLPHP 
上面我们看到了
所示是什么,我们在传统数据块里面根本没有,这是nosql所特有的,是一个所示是我们插入的列即'aboutyun'

我们插入了列,下面我们来查看一下效果:
图解Nosql(hbase)与传统数据库的区别-LMLPHP

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

下面我们在插入password:

  1. hbase(main):015:0> put'blog_user','www.aboutyun.com','userInfo:user_Password','aboutyun'

复制代码

图解Nosql(hbase)与传统数据库的区别-LMLPHP

再次查询结果:

  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

复制代码

图解Nosql(hbase)与传统数据库的区别-LMLPHP

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

删除列数据

删除数据分为删除列和删除记录
1.删除列
这里面的删除,没有删除
delete 'blog_user','www.aboutyun.com','userInfo:user_Password'
图解Nosql(hbase)与传统数据库的区别-LMLPHP

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

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

复制代码

这是删除之前显示结果,这里已经是
图解Nosql(hbase)与传统数据库的区别-LMLPHP

删除后结果

图解Nosql(hbase)与传统数据库的区别-LMLPHP

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

04-26 15:21
查看更多