(一):MongoDB文档型数据库特点介绍

简介

1、memcached、redis    

------->    kv数据库(key/value)

  • 即一个独特的key指向一个独特的value,之间通过哈希算法关联起来,以达到快速查询目的。
  • 给出一个key,可以在时间复杂度为1的情况下,找到value在哪,并将其取出来

 

2、mongodb

------->    文档数据库

  • 存储的是文档(即:Bson文档:json的二进制化(其实就是json二进制化后的对象)).

特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.

 

3、mongo和传统型数据库(mysql等)相比,最大的不同:

传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数、类型都一样.

mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构 (也可以说是json对象都可以有自己独特的属性和值)

 举例:

思路: 如果有电影, 影评, 影评的回复, 回复的打分

  1、在传统型数据库中, 至少要4张表, 关联度非常复杂.

   

  2、在文档数据库中,通过1篇文档,即可完成.  体现出文档型数据库的反范式化.

    {

     fiim:’天龙八部’

     time:120min

     comment:[

      {content:’影评1:王家卫的电影风格’,

           reply:[‘支持’,’好’]

      }

      {content:’影评2:很不错’,

           reply:[‘支持’,’好’]

      }

     ]

 

    }

   #电影的相关评论、回复、打分都在comment中,以数组的形式保存,到了范式存储

posted @ 2017-08-02 23:50  西瓜撞地球  Views(533)  Comments(0)    收藏  举报