初识Mongodb总结

jopen 13年前
     <p style="text-align:left;padding-bottom:6px;background-color:#d24400;margin:0px;padding-left:6px;padding-right:6px;color:#ffffff;padding-top:6px;"><b><strong style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;padding-top:0px;">MongoDb 概述</strong></b></p>    <p style="text-align:left;padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;padding-top:0px;"><b><br /> </b></p>    <p style="border-bottom:#dedfe1 1px solid;padding-bottom:6px;line-height:24px;margin:0px 0px 10px;padding-left:0px;padding-right:0px;clear:both;font-size:18px;padding-top:0px;" class="headline-1 bk-sidecatalog-title"><span style="font-size:16px;"><strong>MondoDb是什么</strong></span></p>    <p style="padding-left:30px;"><span style="color:#2771d8;"><a href="/misc/goto?guid=4958183898586439931" target="_blank">MongoDB</a></span>是 一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON 是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的 row,collection对应MySQL的table。是当前<span style="color:#2771d8;font-size:13px;" class="red">NoSql</span>数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。<br /> <br />  </p>    <h2 style="border-bottom:#dedfe1 1px solid;padding-bottom:6px;line-height:24px;margin:0px 0px 10px;padding-left:0px;padding-right:0px;clear:both;font-size:18px;font-weight:bold;padding-top:0px;" class="headline-1 bk-sidecatalog-title"><span class="headline-content"><span style="font-size:16px;">NoSQL与关系型数据库设计理念比较</span></span></h2>    <p style="padding-left:30px;">关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是 每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性 能瓶颈的一个因素。而非关系型数据库以键值对存储,<span style="color:#d24e2d;">它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构</span>,可以减少一些时间和空间的开销。<br /> <br />  </p>    <h2 style="border-bottom:#dedfe1 1px solid;padding-bottom:6px;line-height:24px;margin:0px 0px 10px;padding-left:0px;padding-right:0px;clear:both;font-size:18px;font-weight:bold;padding-top:0px;" class="headline-1 bk-sidecatalog-title"><span class="headline-content"><span style="font-size:16px;">特点   </span></span><span style="line-height:21px;color:#2771d8;font-size:14px;font-weight:normal;" class="Apple-style-span">高性能、易部署、易使用,存储数据非常方便。</span></h2>    <ol>     <li>面向集合存储,易存储对象类型的数据。</li>     <li>模式自由。</li>     <li>支持动态查询。</li>     <li>支持完全索引,包含内部对象。</li>     <li>支持复制和故障恢复。</li>     <li>使用高效的二进制数据存储,包括大型对象(如视频等)。</li>     <li>自动处理碎片,以支持云计算层次的扩展性</li>     <li>支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序。</li>     <li>文件存储格式为BSON(一种JSON的扩展)。</li>     <li>可通过网络访问。</li>    </ol>    <div>     <br />     <br />    </div>    <div>     <h2 style="border-bottom:#dedfe1 1px solid;padding-bottom:6px;line-height:24px;margin:0px 0px 10px;padding-left:0px;padding-right:0px;clear:both;font-size:18px;font-weight:bold;padding-top:0px;" class="headline-1 bk-sidecatalog-title"><span style="font-size:16px;" size="3">功能</span></h2>    </div>    <ol>     <li>面向集合的存储:适合存储对象及JSON形式的数据。</li>     <li>动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。</li>     <li>完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。</li>     <li>查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。</li>     <li>复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。</li>     <li>高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)</li>     <li>自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。<br />  </li>    </ol>    <div>     <p style="text-align:left;padding-bottom:6px;background-color:#d24400;margin:0px;padding-left:6px;padding-right:6px;color:#ffffff;padding-top:6px;"><b><strong style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;padding-top:0px;">MongoDb 安装</strong></b></p>     <p style="text-align:left;padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;padding-top:0px;"><b><br /> </b></p>    </div>    <div style="padding-left:30px;">     操作系统        : Mac Os X    </div>    <div style="padding-left:30px;">     集成环境        : Mamp    </div>    <div style="padding-left:30px;">     编程语言        : PHP    </div>    <div style="padding-left:30px;">     Server          :     <a href="/misc/goto?guid=4958190108423741856" target="_blank">Mongodb</a>    </div>    <div style="padding-left:30px;">     Extension   :     <a href="/misc/goto?guid=4959499518016647013" target="_blank">Mongo-1.2.4</a>    </div>    <div style="padding-left:30px;">     管理工具        :     <a href="/misc/goto?guid=4959499518115289322" target="_blank">Rock-PHP</a>    </div>    <div style="padding-left:30px;">     Web根目录  : /web/mongodb    </div>    <div style="padding-left:30px;">     <br />     <br />    </div>    <div>     <div>      <h2 style="border-bottom:#dedfe1 1px solid;padding-bottom:6px;line-height:24px;margin:0px 0px 10px;padding-left:0px;padding-right:0px;clear:both;font-size:18px;font-weight:bold;padding-top:0px;" class="headline-1 bk-sidecatalog-title"><strong><span style="font-size:16px;" size="3">操作步骤:</span></strong></h2>     </div>    </div>    <div>     <div class="cnblogs_code">      <pre><span style="color:#008000;">#</span><span style="color:#008000;">创建目录:</span><span style="color:#008000;"> </span><span style="color:#000000;">sudo </span><span style="color:#008080;">mkdir</span><span style="color:#000000;"> </span><span style="color:#000000;">-</span><span style="color:#000000;">p </span><span style="color:#000000;">/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#000000;">data sudo </span><span style="color:#008080;">mkdir</span><span style="color:#000000;"> </span><span style="color:#000000;">/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#008080;">log</span><span style="color:#000000;"> sudo </span><span style="color:#008080;">mkdir</span><span style="color:#000000;"> </span><span style="color:#000000;">/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#000000;">source</span><span style="color:#008000;">#</span><span style="color:#008000;">下载文件:</span><span style="color:#008000;"> </span><span style="color:#000000;">cd </span><span style="color:#000000;">/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#000000;">source curl </span><span style="color:#000000;">-</span><span style="color:#000000;">O http</span><span style="color:#000000;">:</span><span style="color:#008000;">//</span><span style="color:#008000;">pecl.php.net/get/mongo-1.2.4.tgz</span><span style="color:#008000;"> </span><span style="color:#000000;">curl </span><span style="color:#000000;">-</span><span style="color:#000000;">O http</span><span style="color:#000000;">:</span><span style="color:#008000;">//</span><span style="color:#008000;">fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.0.tgz</span><span style="color:#008000;"> </span><span style="color:#000000;"> </span><span style="color:#008000;">#</span><span style="color:#008000;">解压文件:</span><span style="color:#008000;"> </span><span style="color:#000000;">tar </span><span style="color:#000000;">-</span><span style="color:#000000;">zxvf mongo</span><span style="color:#000000;">-</span><span style="color:#000000;">1.2</span><span style="color:#000000;">.</span><span style="color:#000000;">4</span><span style="color:#000000;">.</span><span style="color:#000000;">tgz ; tar </span><span style="color:#000000;">-</span><span style="color:#000000;">zxvf mongodb</span><span style="color:#000000;">-</span><span style="color:#000000;">osx</span><span style="color:#000000;">-</span><span style="color:#000000;">x86_64</span><span style="color:#000000;">-</span><span style="color:#000000;">2.0</span><span style="color:#000000;">.</span><span style="color:#000000;">0</span><span style="color:#000000;">.</span><span style="color:#000000;">tgz</span><span style="color:#008000;">#</span><span style="color:#008000;">创建PHP扩展:</span><span style="color:#008000;"> </span><span style="color:#000000;">cd </span><span style="color:#000000;">/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#000000;">mongo</span><span style="color:#000000;">-</span><span style="color:#000000;">1.2</span><span style="color:#000000;">.</span><span style="color:#000000;">4</span><span style="color:#000000;">/</span><span style="color:#000000;"> phpize</span><span style="color:#000000;">./</span><span style="color:#000000;">configure </span><span style="color:#000000;">--</span><span style="color:#000000;">enable</span><span style="color:#000000;">-</span><span style="color:#000000;">mongo make ; make install</span><span style="color:#008000;">#</span><span style="color:#008000;">复制 mongo.so 到PHP的扩展目录</span><span style="color:#008000;"> </span><span style="color:#000000;">cp modules</span><span style="color:#000000;">/</span><span style="color:#000000;">mongo</span><span style="color:#000000;">.</span><span style="color:#000000;">so </span><span style="color:#000000;">/</span><span style="color:#000000;">Applications</span><span style="color:#000000;">/</span><span style="color:#000000;">MAMP</span><span style="color:#000000;">/</span><span style="color:#000000;">bin</span><span style="color:#000000;">/</span><span style="color:#000000;">php5</span><span style="color:#000000;">.</span><span style="color:#000000;">3</span><span style="color:#000000;">/</span><span style="color:#000000;">lib</span><span style="color:#000000;">/</span><span style="color:#000000;">php</span><span style="color:#000000;">/</span><span style="color:#000000;">extensions</span><span style="color:#000000;">/</span><span style="color:#000000;">no</span><span style="color:#000000;">-</span><span style="color:#000000;">debug</span><span style="color:#000000;">-</span><span style="color:#000000;">non</span><span style="color:#000000;">-</span><span style="color:#000000;">zts</span><span style="color:#000000;">-</span><span style="color:#000000;">20090626</span><span style="color:#000000;"> </span><span style="color:#008000;">#</span><span style="color:#008000;">更改配置文件</span><span style="color:#008000;"> </span><span style="color:#000000;">vi </span><span style="color:#000000;">/</span><span style="color:#000000;">Applications</span><span style="color:#000000;">/</span><span style="color:#000000;">MAMP</span><span style="color:#000000;">/</span><span style="color:#000000;">conf</span><span style="color:#000000;">/</span><span style="color:#000000;">php5</span><span style="color:#000000;">.</span><span style="color:#000000;">3</span><span style="color:#000000;">/</span><span style="color:#000000;">php</span><span style="color:#000000;">.</span><span style="color:#000000;">ini 添加extension</span><span style="color:#000000;">=</span><span style="color:#000000;">mongo</span><span style="color:#000000;">.</span><span style="color:#000000;">so</span><span style="color:#008000;">#</span><span style="color:#008000;">启动Mongodb服务</span><span style="color:#008000;"> </span><span style="color:#000000;">cd mongodb</span><span style="color:#000000;">-</span><span style="color:#000000;">osx</span><span style="color:#000000;">-</span><span style="color:#000000;">x86_64</span><span style="color:#000000;">-</span><span style="color:#000000;">2.0</span><span style="color:#000000;">.</span><span style="color:#000000;">0</span><span style="color:#000000;"> sudo bin</span><span style="color:#000000;">/</span><span style="color:#000000;">mongod </span><span style="color:#000000;">--</span><span style="color:#000000;">dbpath</span><span style="color:#000000;">=/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#000000;">data</span><span style="color:#000000;">/</span><span style="color:#000000;"> </span><span style="color:#000000;">--</span><span style="color:#000000;">fork </span><span style="color:#000000;">--</span><span style="color:#000000;">logpath</span><span style="color:#000000;">=/</span><span style="color:#000000;">usr</span><span style="color:#000000;">/</span><span style="color:#000000;">local</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">/</span><span style="color:#008080;">log</span><span style="color:#000000;">/</span><span style="color:#000000;">mongodb</span><span style="color:#000000;">.</span><span style="color:#008080;">log</span><span style="color:#000000;"> </span><span style="color:#000000;">--</span><span style="color:#000000;">logappend</span><span style="color:#008000;">#</span><span style="color:#008000;">终端出现waiting for connections on port 27017</span><span style="color:#008000;"> #</span><span style="color:#008000;">查看服务是否开启成功</span><span style="color:#008000;"> </span><span style="color:#000000;">netstat </span><span style="color:#000000;">-</span><span style="color:#000000;">ntl </span><span style="color:#000000;">|</span><span style="color:#000000;"> grep </span><span style="color:#000000;">27017</span><span style="color:#000000;"> </span></pre>     </div>    </div>    <p><img alt="MongoDB 总结" src="https://simg.open-open.com/show/b4d39ef6acdce4fc3ef2fe713961a4c2.jpg" width="572" height="180" /></p>    <p>解压Mongodb管理工具Rock-PHP到/web/mongodb</p>    <p>访问当前路径:localhost(<span style="color:#2771d8;">我本地指定的虚拟域名:qx.com</span>)</p>    <p><img style="width:696px;height:674px;" alt="MongoDB 总结" src="https://simg.open-open.com/show/9f8a52747db638a00dea0d1bb248e7c1.jpg" /></p>    <p>这样就搭建好了!</p>    <p>祝所有人都可以顺利的搭建Mongodb.<br /> <br /> 转自:<a href="/misc/goto?guid=4959499518192634500" target="_blank">http://www.cnblogs.com/wubaiqing/archive/2011/09/16/2178933.html</a></p>