mongodb基础系列——mongodb简介

来源:互联网 发布:js resize事件 编辑:程序博客网 时间:2024/05/02 04:29
 
  前两篇转载了NoSql的文章,其中介绍了NoSql的好处以及分析NoSql与关系数据库之间的孰优孰劣的问题。

  其实,任何事情,没有绝对的好,绝对的坏;只要合适即好。合适的场合,使用合适的技术,即OK【你若安好便是晴天】

  从这篇开始,带大家认识NoSql中很火,很方便简单的一种数据库——MongoDB。
  
  从上篇博客中的表格中,可以看出mongodb是属于NoSql中一种,并且还是文档存储形式的数据库。
   mongdb是关系数据库与非关系数据库之间的产品,是非关系数据库中最像关系数据库。
   其中使用的类似Json的数据机构-BSON,但是BSON中有json未有的数据类型。
   
   mongdb的特点:
   
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。

             其中面向集合存储:
             在mongodb中没有关系数据库中的表、行的概念。在关系数据库中,我们通常,操作的二维表中的数据。比如,取出其中某一行记录,或整个表的数据。mongodb中虽然没有,但是我们前提也曾说到,mongodb很像关系数据库。所以对于关系数据库思维同志来说,很能理解mongodb中的存储结构。
            在mongodb中集合的collection,可以存放多个文档。其中每一个文档,类似于关系数据库中的某一行。集合collection类似关系数据库中的数据表。
            mongodb.collection==关系数据库.table
            mongodb.collection.document==关系数据库.table.记录

             其中模式自由:
            在mongodb中存储的数据结构是随意的,可以一个文档是整形,也可以一个文档是字符串,当然一个文档也可以是text。但是在关系数据库中,一个表中的字段都是固定的,第一个字段是整形,则必须填写整形,不得是普通字符串【除数字字符串】

其中的存储的格式:
我们在操作的过程中,使用BSON格式,类似JSON格式,键值对形式;比如:{"id":2,"name":"小明"}

其中支持多语言驱动
mongdb本身是c++,但是可以支持多种语言的驱动,下载相应的驱动即可使用mongdb中的东东。

其中的索引特点:
其中,在网上看到一篇文章,其中,若mongdb不用索引,其中操作效率不如关系数据库,但一旦添加索引,要比添加索引的关系数据库效率高很多。
他们之间的对比,本人没有亲自实践,从网上看到,只是在此强调他的索引特点;

mongoDB与oracle对比(摘自网络)
     

           mongoDB与mysql对比(摘自网络)   
    测试过程
    分别插入 100 万条记录,并对其做 100 个用户并发查询操作。 
    MySQL 每一次都 Drop 表, MongoDB 每一次都删除 data 目录。 
    查询的时候,从第二次查询开始,连续记录三次。 








原创粉丝点击