MongoDB

应用售价:

0 积分

版本号:

v3.2.16

购买企业:
备注:本应用必须在Rainbond系统上安装使用,点击免费下载安装
应用详情

发布时间:2019-06-14

最后更新时间:2019-06-14

<h2>MongoDB</h2> <h3>概述</h3> <blockquote> <p>Version:3.2.16 MongoDB是一款强大、灵活、且易于扩展的通用型数据库,它具有以下几点特征。</p> </blockquote> <ul> <li><p>易用性</p> <pre><code>MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。 不采用关系型主要是为了获得更好得扩展性。 通过在文档中嵌入文档和数组,面向文档的方法能够仅使用一条记录来表现复杂的层级关系,这与现代的面向对象语言的开发者对数据的看法一致。 另外,不再有预定义模式(predefined schema):文档的键(key)和值(value)不再是固定的类型和大小。由于没有固定的模式,根据需要添加或删除字段变得更容易了。通常由于开发者能够进行快速迭代,所以开发进程得以加快。而且,实验更容易进行。开发者能尝试大量的数据模型,从中选一个最好的。 </code></pre></li> <li><p>易扩展性</p> <pre><code>MongoDB的设计采用横向扩展。面向文档的数据模型使它能很容易地在多台服务器之间进行数据分割。MongoDB能够自动处理跨集群的数据和负载,自动重新分配文档,以及将 用户的请求路由到正确的机器上。这样,开发者能够集中精力编写应用程序,而不需要考虑如何扩展的问题。如果一个集群需要更大的容量,只需要向集群添加新服务器,MongoDB就会自动将现有的数据向新服务器传送 </code></pre></li> <li><p>丰富的功能</p> <pre><code>MongoDB作为一款通用型数据库,除了能够创建、读取、更新和删除数据之外,还提供了一系列不断扩展的独特功能 索引,聚合,特殊的集合类型,文件存储等 </code></pre></li> <li><p>卓越的性能</p> <pre><code>MongoDB的一个主要目标是提供卓越的性能,这很大程度上决定了MongoDB的设计。MongoDB把尽可能多的内存用作缓存cache,视图为每次查询自动选择正确的索引。 总之各方面的设计都旨在保持它的高性能 虽然MongoDB非常强大并试图保留关系型数据库的很多特性,但它并不追求具备关系型数据库的所有功能。只要有可能,数据库服务器就会将处理逻辑交给客户端。这种精简方式的设计是MongoDB能够实现如此高性能的原因之一 </code></pre></li> </ul> <h3>环境变量配置说明</h3> <ul> <li>DBPATH:数据库存放路径</li> <li>LOGPATH:日志文件路径</li> <li>VERBOSITY:日志的等级0-5,默认0</li> <li>TRACEALLEXCEPTIONS:是否开启详细错误日志</li> <li>DESTINATION:日志输出方式,file/syslog,如果是file,需指定path,默认是输出到标准输出流中</li> <li>LOGAPPEND:启动时,日志追加在已有日志文件内还是备份旧日志后,创建新文件记录日志, 默认false</li> <li>ENABLED:启动journal,64位系统默认开启,32位默认关闭</li> <li>DIRECTORYPERDB:使用单独的目录来存储每个数据库的数据,默认false,如果需要更改,要备份数据,删除掉dbPath下的文件,重建后导入数据</li> <li>SLOWOPTHRESHOLDMS:认定为查询速度缓慢的时间阈值</li> </ul> <h3>性能测试</h3> <h5>外部访问</h5> <ul> <li><p>插入测试(使用8核CPU,8个并发,每个线程插入数据条数为10000)</p> <pre><code>insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time 120 *0 *0 *0 0 2|0 0.0 0.0 0 284M 59.0M 0|0 0|0 22.4k 28.5k 5 2018-06-25T23:17:53+08:00 92 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 17.2k 26.7k 5 2018-06-25T23:17:54+08:00 106 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 19.8k 27.5k 5 2018-06-25T23:17:55+08:00 135 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 25.2k 29.1k 5 2018-06-25T23:17:56+08:00 100 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 18.7k 27.1k 5 2018-06-25T23:17:57+08:00 100 *0 *0 *0 0 2|0 0.0 0.0 0 284M 59.0M 0|0 0|0 18.7k 27.3k 5 2018-06-25T23:17:58+08:00 172 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 32.1k 31.2k 5 2018-06-25T23:17:59+08:00 89 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 16.6k 26.5k 5 2018-06-25T23:18:00+08:00 186 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 79b 21.5k 5 2018-06-25T23:18:01+08:00 51 *0 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 9.57k 24.4k 5 2018-06-25T23:18:02+08:00 </code></pre></li> <li><p>查询测试(使用8核CPU,8个并发)</p> <pre><code>insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time *0 65 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 6.64k 30.9k 5 2018-06-25T23:28:04+08:00 *0 102 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 10.4k 36.1k 5 2018-06-25T23:28:05+08:00 *0 76 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 7.76k 32.3k 5 2018-06-25T23:28:06+08:00 *0 74 *0 *0 0 2|0 0.0 0.0 0 284M 59.0M 0|0 0|0 7.61k 32.1k 5 2018-06-25T23:28:07+08:00 *0 61 *0 *0 0 2|0 0.0 0.0 0 284M 59.0M 0|0 0|0 6.30k 30.4k 5 2018-06-25T23:28:08+08:00 *0 78 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 7.96k 32.6k 5 2018-06-25T23:28:09+08:00 *0 126 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 12.8k 39.4k 5 2018-06-25T23:28:10+08:00 *0 137 *0 *0 0 3|0 0.0 0.0 0 284M 59.0M 0|0 0|0 3.93k 26.9k 6 2018-06-25T23:28:11+08:00 *0 107 *0 *0 0 1|0 0.0 0.0 0 284M 59.0M 0|0 0|0 1.09k 23.0k 6 2018-06-25T23:28:12+08:00 *0 124 *0 *0 0 2|0 0.0 0.0 0 284M 59.0M 0|0 0|0 2.05k 24.4k 6 2018-06-25T23:28:13+08:00 </code></pre></li> </ul> <h5>内部访问</h5> <ul> <li><p>插入测试(使用8核CPU,8个并发,每个线程插入数据条数为10000)</p> <pre><code>insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time 750 *0 *0 *0 0 2|0 0.0 0.0 0 261M 64.0M 0|0 0|0 322.4k 328.5k 5 2018-06-26T22:14:22+08:00 612 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 367.2k 378.7k 5 2018-06-26T22:14:23+08:00 616 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 349.8k 327.5k 5 2018-06-26T22:14:24+08:00 724 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 385.2k 329.3k 5 2018-06-26T22:14:25+08:00 600 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 378.7k 327.1k 5 2018-06-26T22:14:26+08:00 819 *0 *0 *0 0 2|0 0.0 0.0 0 261M 64.0M 0|0 0|0 412.5k 427.3k 5 2018-06-26T22:14:27+08:00 745 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 432.1k 413.4k 5 2018-06-26T22:14:28+08:00 789 *0 *0 *0 0 2|0 0.0 0.0 0 261M 64.0M 0|0 0|0 416.6k 456.2k 5 2018-06-26T22:14:29+08:00 786 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 412.3k 421.5k 5 2018-06-26T22:14:30+08:00 651 *0 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 489.5k 424.2k 5 2018-06-26T22:14:31+08:00 </code></pre></li> <li><p>查询测试(使用8核CPU,8个并发)</p> <pre><code>insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time *0 825 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 462.4k 632.9k 5 2018-06-26T22:26:06+08:00 *0 810 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 542.6k 611.3k 5 2018-06-26T22:26:07+08:00 *0 776 *0 *0 0 2|0 0.0 0.0 0 261M 64.0M 0|0 0|0 411.3k 532.9k 5 2018-06-26T22:26:08+08:00 *0 631 *0 *0 0 2|0 0.0 0.0 0 261M 64.0M 0|0 0|0 441.6k 582.1k 5 2018-06-26T22:26:09+08:00 *0 671 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 464.3k 545.6k 5 2018-06-26T22:26:10+08:00 *0 798 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 502.7k 612.3k 5 2018-06-26T22:26:11+08:00 *0 826 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 563.4k 622.5k 5 2018-06-26T22:26:12+08:00 *0 717 *0 *0 0 3|0 0.0 0.0 0 261M 64.0M 0|0 0|0 442.4k 612.6k 6 2018-06-26T22:26:13+08:00 *0 701 *0 *0 0 1|0 0.0 0.0 0 261M 64.0M 0|0 0|0 439.1k 519.6k 6 2018-06-26T22:26:14+08:00 *0 729 *0 *0 0 2|0 0.0 0.0 0 261M 64.0M 0|0 0|0 452.1k 532.1k 6 2018-06-26T22:26:15+08:00 </code></pre></li> </ul>