• Mongodb学习笔记一(Mongodb环境配置)


    Mongodb学习

    说明:  MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成。MongoDB是异步写数据。
    

    第一章 环境配置


    一、Mongodb简介

    • 功能特点
    • 适用范围

    功能特点

    官方网址:http://www.mongodb.org/   
    MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。  
    它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等,主要功能特性有:  
    面向文档存储:(类JSON数据模式简单而强大)。 
    
    1. 高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。
    2. 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。
    3. Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。
    4. 动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
    5. 全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
    6. 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。 

    优缺点:

                mongodb作为一个很热门的nosql数据库有着比较多的优点,大概归纳为以下五点。

                (1)、无模式       

                   mongodb是一个文档型存储的数据库,每一行数据都是一个文档,每一个文档中的字段可以不一致,个数也可以不相同,而且是一个以bson方式存储的文档。bson: short for Bin­ary JSON

               (2)、高性能      

                  mongodb的高性能是怎么实现的呢?

                  这个主要依靠2点来解决(当然还有很多其它的)。第一点是mongodb的存储空间是预先分配的。以64位机器为例,首先分配64m,以0填充,然后每次文件空间大小翻倍,直到2G,然后每次分配2G。预先分配的好处是不需要每次存储的时候都分配空间,加快了存储的效率。第二点是mongodb的内存映射机制。mongodb首先将数据写到内存,然后异步写道硬盘上(如果是非安全模式的话)。mongodb是不管理内存的,它将这份工作交给了操作系统。

               (3)、易扩展

                    mongodb集群是很容易扩展的(添加删除节点简单),而且可以支持数据的分片。(后面的章节会详细的介绍怎么分片以及怎么扩展)

               (4)、易管理

                    mongodb的管理几乎都是自动的。自动故障转移:当一个分片中的primary机器down后,其它机器会自动选举,选出一台机器当primary。自动负载均衡:当两个分片的数据相差很大时,集群会自动将一部分数据转移到数据少的分片上。

               (5)、多功能

                    mongodb的功能很多,例如:索引,聚合,分布式的文件存储,js存储过程,GridFS文件存储,定容集合等。

    优点说到这,mongodb同样也有着它的限制或缺点,主要是下面两点。

              (1)、mongodb占用存储空间大。

                    这主要是由三个因素决定的。第一,mongodb的空间预分配方式,这样会让mongodb最多浪费不超过2G+2G文件大小的空间。第二,mongodb的字段名占用,即使是相同的字段,mongodb也会在每一个文档中都存储,这里会浪费极大的空间。第三,mongodb删除数据并不会释放空间,而只是将空间记录为删除状态以便重用

              (2)、mongodb没有事务模式,所以事务要求严格的系统慎用

    适用范围

    适用场景:

    1. 适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高度伸缩性。
    2. 适合作为信息基础设施的持久化缓存层。
    3. 适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对MapReduce引擎的内置支持。
    4. Mongo的BSON数据格式非常适合文档化格式的存储及查询。  

    不适用场景:

    1.  高度事务性的系统。
    2.  传统的商业智能应用。
    3.  复杂的SQL查询。

    二、Mongodb下载与安装

    • 下载地址
    • 安装步骤

    下载地址

    http://www.mongodb.org/downloads,选择相应的版本下载

    下载地址截图

    安装步骤

    1. 在(C/D/E/F)盘新建文件夹MongoDB。
    2. 解压下载的文件,将bin目录拷贝到文件夹MongoDB。
    3. 在文件夹MongoDB下新建文件夹data,在文件夹data下新建文件夹db和log(db下放的是数据库文件,log下方的是windows日志,后面将讲解)。
    4. 执行命令:【mongod -auth --dbpath "E:mongodbdatadb"】将mongodb的数据库文件创建到E:mongodbdatadb 目录下,此时数据库就已启动。如图:截图

    三、Mongodb服务管理

    • window服务注册
    • 服务开闭

    window服务注册

    注意:一定要以管理员的身份打开cmd。具体请参考官网说明http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

    使用命令【mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath E:mongodbdatalogmongodb.log --dbpath E:MongoDB --directoryperdb】注册window服务。

    a

    服务开闭

    使用命令【net stop mongodb】关闭mongodb服务。
    使用命令【net start mongodb】启动mongodb服务。

  • 相关阅读:
    所谓瓶颈
    世界那么Big,组件那么Small
    PHPUnit单元测试中类protected/private方法测试
    WCF:如何将net.tcp协议寄宿到IIS
    Windows服务安装异常:System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security
    Windows 服务入门指南
    Visual studio 能否定位打开文件在项目中的位置
    电商框架调研
    可伸缩性/可扩展性(Scalable/scalability)
    LoadRunner基础入门教程
  • 原文地址:https://www.cnblogs.com/eggTwo/p/4040252.html
Copyright © 2020-2023  润新知