MongoDB学习笔记(一) MongoDB介绍及安装

来源:互联网 发布:淘宝专业秒杀联系方式 编辑:程序博客网 时间:2024/05/21 17:50

转自:http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html

一、前言

  最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下。本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论。部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li-pan2@163.com。大部分内容均系原创,欢迎大家转载分享,但转载的同时别忘了注明作者和原文链接哦。

二、MongoDB简介

  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。

小插曲:什么是NoSql?

  NoSql,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。

  特点:

  高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。
  • 模式自由。
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持查询。
  • 支持复制和故障恢复。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。
  • 文件存储格式为BSON(一种JSON的扩展)。
  • 可通过网络访问。

  功能:

  • 面向集合的存储:适合存储对象及JSON形式的数据。
  • 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
  • 查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。
  • 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。
  • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
  • 自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。

  适用场合:

  • 网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • 缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。
  • 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
  • 高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。
  • 用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。

三、下载安装和配置

  安装Mongo数据库:

  在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个版本。

  1. 第一步:下载安装包:官方下载地址←单击此处,如果是win系统,注意是64位还是32位版本的,请选择正确的版本。
  2. 第二步:新建目录“D:\MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。
  3. 第三步:在“D:\MongoDB”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。

  配置Mongo服务端:

  打开CMD窗口,按照如下方式输入命令:
  > d:
  > cd D:\MongoDB
  > mongod --dbpath D:\MongoDB\data

  配置成功后会看到如下画面:
 

  在浏览器输入:http://localhost:27017/,可以看到如下提示:
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

  如此,MongoDB数据库服务已经成功启动了。

四、后记

  现在我们已经初步实现了MongoDB的安装和服务的启动工作。后面我们还有很多的工作,要使MongoDB能在我们的C#代码中被操作,还需要驱动,经常有朋友在网上copy代码后发现编译不通过,那估计是驱动不一致的问题了,下篇文章会详细讲解,未完待续。。


下面是另外一篇介绍mongodb安装的文章,写的也很好,转自:http://www.cnblogs.com/lsc183/archive/2012/08/16/mongodb.html

MongoDB在windows下安装配置

安装文件:官方网站 http://www.mongodb.org/downloads

选择对应系统的文件下载。

一、解压缩文件。

  将压缩包解压,在D盘创建文件夹MongoDB,将压缩包中所有的.exe文件拷到D:MongoDB文件夹中。

二、建立工作目录。

  1、建立数据存放目录 D:\mongodb\data

  2、建立日志文件       D:\mongodb\log\mongodb.log

三、设置系统变量。为了方便从控制台中管理mongodb,不用每次都进入到D:MongoDB中。

    我的电脑--属性--高级--环境变量--系统变量中的path,加上;D:\MongoDB ,注意前面加上分号。如下图:

     

三、启动mongdb服务。

  进入控制台中,输入mongod.exe --dbpath=D:\MongoDB\data 。如下图:

  这样服务就启动了,正常情况下会显示如下:

在浏览器中输入http://localhost:27017/。会出现

You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

表面服务已经启动。

不要关闭当前这个控制台窗口,另起一个控制台,输入mongo.如下图:

   表明已成功连接到mongdb.

 

四、将mongdb作为windows服务随机启动。

     控制台中输入:mongod.exe --dbpath=D:\mongodb\data --logpath=D:\mongodb\logs\mongodb.log --install

    正常情况下会显示 

 

五、连接mongodb

     在控制台中输入net start mongodb,会出现 “Mongo DB 服务已经启动成功”的提示。

     输入mongo,就会连接到test.在我的电脑--管理--服务和应用程序中可以看到MongoDB 服务已经成功启动

 

六、异常处理

     如果出现下图的错误:


     先看服务启动没有,如果没有启动服务先启动服务,如果服务已经启动了,那有可能是上次不正常关闭mongo,导致存放数据的文件被占用了,被锁住了。只需将D:\MongoDB\data中的mongod.lock文件删除掉。重新启动服务即可。


如果启动MongoDb服务的时候报如下异常:

mongodb启动出现 无法定位程序输入点 InterlockedCompareExchange64

则是因为mongodb版本的问题,现在在XP系统上只支持到2.0.X版本,2.1.X以上的版本则会报这样的问题,所以下载一个2.0.X版本的就可以啦。

在执行mongod.exe安装mongodb时 出现
无法定位程序输入点 InterlockedCompareExchange64 于动态链接库KERNEL32.dll上

解决方案:

If you’re seeing that error message, you’re attempting to run the latest development branch.  The latest development branch no longer supports Windows XP.  Windows Vista is the oldest Windows client supported, and Windows Server 2003 is the oldest Windows server supported.

The 2.0 stable branch continues to support Windows XP.  Version 2.0.6 and the most recent successful nightly build are your options.
翻译过来:如果你遇到这样的错误,那么说明你在尝试运行一个最新的开发分支版本,但是,最新的开发分支已经不再支持xp,也就是说vista是最陈旧支持的客户端,windows server2003是最陈旧的windows服务器版本
但是2.0的分支任然支持着xp,V2.0.6是最新也是最后一个新版本支持xp
好了,找到问题所在,下载2.0.7,一路顺风





原创粉丝点击