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


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

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

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

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


    插入数据

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


     

    删除数据:

    1. mysql> delete from blog_user where user_name="aboutyun";
    复制代码

     


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

     
    图2
    以hbase为例:
    创建表:

    1. create 'blog_user','userInfo'
    复制代码


     


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

    1. hbase(main):012:0> put'blog_user','www.aboutyun.com','userInfo:user_Name','aboutyun'
    2. 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. hbase(main):015:0> put'blog_user','www.aboutyun.com','userInfo:user_Password','aboutyun'
    复制代码


     


    再次查询结果:

    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,这是一条记录。


    删除列数据

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

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

    1. deleteall 'blog_user','www.aboutyun.com'
    复制代码


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

    删除后结果

     



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

  • 相关阅读:
    转 intent常用功能
    Android 中Activity生命周期分析(二):从AActivity 到BActivity过程分析
    Android 面试题(经典)
    Android 中Activity生命周期分析:Android中横竖屏切换时的生命周期过程
    ios 开发中 developer tools access 总是要输入密码问题的解决
    【转】android 自定义控件
    【转】项目管理
    程序员的出路
    第一章 Actionscript学习基本知识笔记及flashdevelop软件的安装问题
    第十五章 php时区报错 We selected the timezone 'UTC'
  • 原文地址:https://www.cnblogs.com/catWang/p/4117470.html
Copyright © 2020-2023  润新知