MongoDB 介绍及Windows下安装
webphp
13年前
<div id="article_content" class="article_content"> <h2 style="line-height:21px;margin-top:10px;font-family:宋体,Arial,Helvetica,sans-serif;color:#0000ff;font-size:1em;text-decoration:none;"><span style="font-size:1em;">一、MongoDB简介</span></h2> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> MongoDB是一个高性能,开源,无模式的文档型数据库,是当前<span style="color:#ff0000;font-size:13px;" class="red">NoSql</span>数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的项目主页地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。</p> <div style="border-bottom:1px dashed;border-left:1px dashed;padding-bottom:0.5em;line-height:21px;margin:1em 2em;padding-left:1em;padding-right:1em;font-family:宋体,Arial,Helvetica,sans-serif;border-top:1px dashed;border-right:1px dashed;padding-top:0.5em;" class="quote"> <p style="margin:5px auto;">小插曲:什么是NoSql?</p> <p style="margin:5px auto;"> NoSql,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场 运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多 的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。</p> </div> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> <span style="color:#ff0000;font-size:13px;" class="red"><strong>特点:</strong></span></p> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 高性能、易部署、易使用,存储数据非常方便。主要功能特性有:</p> <ul style="line-height:21px;font-family:宋体,Arial,Helvetica,sans-serif;margin-left:45px;"> <li>面向集合存储,易存储对象类型的数据。</li> <li>模式自由。</li> <li>支持动态查询。</li> <li>支持完全索引,包含内部对象。</li> <li>支持查询。</li> <li>支持复制和故障恢复。</li> <li>使用高效的二进制数据存储,包括大型对象(如视频等)。</li> <li>自动处理碎片,以支持云计算层次的扩展性</li> <li>支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。</li> <li>文件存储格式为BSON(一种JSON的扩展)。</li> <li>可通过网络访问。</li> </ul> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> <span style="color:#ff0000;font-size:13px;" class="red"><strong>功能:</strong></span></p> <ul style="line-height:21px;font-family:宋体,Arial,Helvetica,sans-serif;margin-left:45px;"> <li><strong>面向集合的存储:</strong>适合存储对象及JSON形式的数据。</li> <li><strong>动态查询:</strong>Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。</li> <li><strong>完整的索引支持:</strong>包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。</li> <li><strong>查询监视:</strong>Mongo包含一个监视工具用于分析数据库操作的性能。</li> <li><strong>复制及自动故障转移:</strong>Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。</li> <li><strong>高效的传统存储方式:</strong>支持二进制数据及大型对象(如照片或图片)</li> <li><strong>自动分片以支持云级别的伸缩性:</strong>自动分片功能支持水平的数据库集群,可动态添加额外的机器。</li> </ul> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> <span style="color:#ff0000;font-size:13px;" class="red"><strong>适用场合:</strong></span></p> <ul style="line-height:21px;font-family:宋体,Arial,Helvetica,sans-serif;margin-left:45px;"> <li>网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。</li> <li>缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。</li> <li>大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。</li> <li>高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。</li> <li>用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。</li> </ul> <h2 style="line-height:21px;margin-top:10px;font-family:宋体,Arial,Helvetica,sans-serif;color:#0000ff;font-size:1em;text-decoration:none;">二、下载安装和配置</h2> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> <span style="color:#ff0000;font-size:13px;" class="red"><strong>安装Mongo数据库:</strong></span></p> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个版本。</p> <ol style="line-height:21px;font-family:宋体,Arial,Helvetica,sans-serif;margin-left:2em;"> <li style="list-style-type:decimal;">第一步:下载安装包:<a style="color:#0000ff;font-size:14px;text-decoration:none;" href="/misc/goto?guid=4958190108423741856">官方下载地址</a>←单击此处,如果是win系统,注意是64位还是32位版本的,请选择正确的版本。</li> <li style="list-style-type:decimal;">第二步:新建目录“D:\MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。</li> <li style="list-style-type:decimal;">第三步:在“D:\MongoDB”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。</li> </ol> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> <span style="color:#ff0000;font-size:13px;" class="red"><strong>配置Mongo服务端:</strong></span></p> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 打开CMD窗口,按照如下方式输入命令:<br /> > d:<br /> > cd D:\MongoDB<br /> > mongod --dbpath D:\MongoDB\data</p> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 配置成功后会看到如下画面:<br /> <img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" alt="MongoDB 介绍及Windows下安装" src="https://simg.open-open.com/show/44169667e51877b6a504e39d93bcb08d.jpg" width="674" height="438" /></p> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 在浏览器输入:http://localhost:27017/,可以看到如下提示:<br /> You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number</p> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 如此,MongoDB数据库服务已经成功启动了。</p> <h2 style="line-height:21px;margin-top:10px;font-family:宋体,Arial,Helvetica,sans-serif;color:#0000ff;font-size:1em;text-decoration:none;">三、后记</h2> <p style="line-height:21px;margin:5px auto;font-family:宋体,Arial,Helvetica,sans-serif;"> 要使MongoDB能在我们的C#代码中被操作,还需要驱动,经常有朋友在网上copy代码后发现编译不通过,那估计是驱动不一致的问题了</p> </div>